《太阁立志传4》 所有武将卡的取得
                               dOSKEY lEE
    想必大家都玩过《太阁立志传4》这个游戏。里面有600个角色可以选择。有很高的灵活
度。如果光靠自己收集完整几乎是不可能的。由于几个同学对收集卡片很感兴趣。所以,近
日对此游戏进行了一些研究,想用修改的手段取得武将卡片。下面是我操作的流程。
    游戏是从藏经阁287中找来的。游戏安装后是289MB,不是很大。在游戏过程中发现可以
取得各种武将卡片。在游戏开始后存档。发现集卡册里多出来两张主角卡(“丰臣秀吉”和
“前田利家”)。另外,在游戏目录里多出来一个新文件,另一个文件被修改。多出来的文
件是SAVEDAT0.DAT,被修改的文件是SAVEDATA.DAT。将SAVEDAT0.DAT文件删除后,发现游戏
里面的存档没有了。集卡册里面的数据还在。可以确定SAVDAT0.DAT是存档文件,而
SAVEDATA.DAT是保存集卡册的文件。
    SAVEDATA.DAT文件大小是1024个字节,刚好1KB。用WINHEX打开文件,发现如下数据:
Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
00000000   54 41 49 4B 4F 55 34 57  49 4E 20 20 20 20 20 00   TAIKOU4WIN     .
00000010   01 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00    ...............
……
000000A0   00 00 00 00 00 00 00 00  00 00 00 F9 00 00 00 00   ...........?...
……
00000290   00 00 00 00 00 00 00 00  00 00 00 A8 00 90 00 00   ...........??.
000002A0   00 00 00 00 00 00 0E 90  53 0B 70 01 00 00 00 45   .......怱.p....E
000002B0   40 82 28 81 00 00 00 00  00 00 00 00 00 00 00 00   @??...........
……
其余都为0。最前面的TAIKOU4WIN一定是文件头,第一行不去管它。然后在10h处发现一个01,
还有0ABh处有一个F9,一定是游戏修改过这个地方。然后将10h处的01改为00,重新进入游
戏后发现集卡册里面少了主角“丰臣秀吉”。将0ABh处的F9改为00,发现少了主角“前田利
家”。可以确定这一段内容就是保存主角卡的位置。我试着看能不能直接将卡片改出来,将
11h处改为02,还在这段范围内改了其他的位置,发现并不能修改出新的角色。说明武将的
代码是经过较复杂的算法取得的。只有另寻它法。记录2B7h到2BBh的一段数据,开启
SOFTICE,在SOFTICE中搜索这段数据:
s 400000 l ffffffff 0e,90,53,0b,70,01
找到后,在内存窗口中发现整个文件都读取到内存中。在内存中发现同样的数据起始地址是
604528h。主角“丰臣秀吉”代码的偏移地址是604538h。在此处设置内存读断点:
bpm 604538 r
开启集卡册,中断在489816h处,附近是如下代码:
:00489806 56                      push esi
:00489807 E864651200              call 005AFD70
:0048980C 68FF000000              push 000000FF
:00489811 E87A651200              call 005AFD90 ;此处是取得正确武将代码的函数
:00489816 8A9638456000            mov dl, byte ptr [esi+00604538]  <=中断在此处,
从内存中读取数据到DL中,准备进行比较
:0048981C 83C408                  add esp, 00000008
:0048981F FEC0                    inc al ;计算出正确的武将代码
:00489821 33C9                    xor ecx, ecx
:00489823 3AD0                    cmp dl, al ;比较武将代码的正确性
:00489825 5E                      pop esi
:00489826 0F94C1                  sete cl
:00489829 8BC1                    mov eax, ecx
:0048982B 5D                      pop ebp
:0048982C C3                      ret
将489823h处的AL值直接填充到相应的内存中便可以在集卡册中显示出相应的武将。一个一
个打出来很麻烦哦。600个!为了发扬我们PEDIYER的精神。我只需要改代码就可以了,既然
程序给我们计算出武将代码了,我只需要让程序把武将代码直接保存回内存中就可以了。在
SOFTICE中做了如下的修改:
a 489816
inc al
mov [esi+604538],al
add esp,8
xor ecx,ecx
cmp al,al
即:
+--------------------------------+---------------------+-----------------------+
|         原来的代码             |     修改后的代码    |          解释         |
+--------------------------------+---------------------+-----------------------+
| mov dl,byte ptr [esi+00604538] | inc al              | 将AL加一,取得武将代码|
| add esp,00000008               | mov [esi+604538],al | 将武将代码保存到内存中|
| inc al                         | add esp,00000008    | 未变更的代码          |
| xor ecx,ecx                    | xor ecx,ecx         | 未变更的代码          |
| cmp dl,al                      | cmp al,al           | AL与AL比较,一定为真  |
+--------------------------------+---------------------+-----------------------+
    其中要注意的是那两句未变更的代码。把自己没有修改,程序中又有的代码保留下来。
否则会发生不可预料的错误。然后回到游戏中,再点击集卡册,600个武将都出来了。还多
出来50个乱七八糟的东西!?没关系。等下再说。看看内存中的604528h处的数据,这儿保
存的就是600个武将的数据!赶快用ICEDUMP将数据DUMP出来:
/dump 604528 400 c:/a.bin
退出游戏,用WINHEX打开文件a.bin。将多出来的50个东西的代码清除掉。将268h到299h的
数据用0填充。
    最后,将a.bin复制到游戏的目录下,改名为savedata.dat。然后进入游戏我们就可以享
受用600个武将随意游戏的乐趣了!另外,其他卡片的储存结构比较简单,都是按二进制位
来存放的,用FF填充29Ah到2B4h的数据就可以取得其他所有卡片了。回到游戏中看看收集度
100%的集卡册吧!:)

下面给出SAVEDATA.DAT的UUE文件,将下面的内容复制到一个新的文本文件,并将其扩
展名改为UUE,然后用WINRAR打开解包即可。

----------------------开始处(不包括此行)-------------------
filetime 764696804
begin 644 savedata.tr4
M5$%)2T]5-%=)3B`@("`@``%TZ%O/0K8JG1*$^&O?4/8ZK2&4"'SN8]9*OC&E
M&(S^<^9:S4&U*)P0@_9JW5+$.:L@DP=[[6+42;LPHQ>*_7+D6<Q`LR>:#X'U
M:-Q/PSBJ'Y$&>.Q@TT>Z+J(6B?QPXU?+/K(EF0R`]&?;3L(VJ1V0!'?J7]%&
MN2V@%(CZ;^%6R#VP))@+?_)FV4W`-*<<C@-VZ5W01;<LGA.&^6W@5,</KR.6
M"GWP9-A+OS*F&HT"=.A;ST.V*IT1A/ALWU/&.JTAE0A/[F/62KXQI1B,_W/F
M6LU!M"F<$(/V:]U2Q#FK(),'>^UBU$F/,*,7BOUQY5C,0+,HF@^!]6C<4,,W
MJA^1!GGL8--'NRZB%8G/<.17RSZR)9D-@/-GVT["-JD=D`1XZE_11K@MH12(
M^F_A5LD]L"27#'_R9ME-P#6G'(X#=>E>T$6W+)/3AOEMX%3(.Z/CE@I]/638
M2[/RIAJ-`G3H7,]#MBJ=$87W;-]3QCJN(94(?.]CUDJ],:49C/]SYEK-0K0I
MFQ"$]FO=4L0YK""3!WKM8M5)O#"C%XK^<>58S$"S*)H/@?5IW%##-ZH>D@9Y
M[&#41[LNHA6)_'#D5/L^LB:9#8#S9]I/P3:I'9$$>.I?T4:Y+:`4B/IOXE;)
M/;`EEPQ^/F;93L`UIQR.`W;I7=!%N"R?$X;Y;>%4R#NO(I8+??%DV$N_,Z8:
MC0%UZ%S/0[8JGA&%]VS>4/<ZKB&5"7SO8]9*O3*D&8S_<^9;S4*T*9L0@_9K
MW5+%.:P@DP=Z[F'52;PPHQB*_G'E6<Q`LR>:#X+U:0``````````````````
M````````````````````````````````````````````````____________
M________________________````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
B````````````````````````````````````````````````
`
end
----------------------结束处(不包括此行)-------------------

《太阁立志传4》 所有武将卡的取得相关推荐

  1. (转)太阁立志传立志传5太阁立志传技巧篇

    http://www.wodegame.com/html/TGLZ/TG5/GL/10628/ 玩客帝国单机专题太阁立志传太阁立志传5攻略秘籍 太阁立志传立志传5太阁立志传技巧篇 2007-11-20 ...

  2. (转)太阁立志传立志传5完全攻略

    http://www.wodegame.com/html/TGLZ/TG5/GL/10611/ 玩客帝国单机专题太阁立志传太阁立志传5攻略秘籍 太阁立志传立志传5完全攻略 2007-11-19 来源: ...

  3. Java仿太阁立志传5

    没有标题写的那么大--真要用Java重写太阁五不说别的,光整理原图就够累死我的-- 游戏截图: 只是一个太阁五中加农业水平小游戏的再现--用本人loonframework-game包进行图形处理,算是 ...

  4. 太阁V DX 特殊结局 历史创造者

    太阁V DX 特殊结局 历史创造者 经常有人看到神秘老人说神秘之门什么的巴拉巴拉 没人发个攻略 1.学习算术 获得 辨识 卡 2.触发后面的条件时 身上要有笔纸和砚台 3.升上 家老 后,触发升官之卷 ...

  5. 视频太大怎么传给对方微信?视频传微信太大怎么办?

    视频太大怎么传给对方微信?视频传微信太大怎么办?视频是我们在生活中不可或缺的一部分,随着制作视频的小伙伴越来越多,大家都想把制作好的视频上传到一些平台或传给别人,有时候我们会遇到视频内存过大的问题,今 ...

  6. 「太阁干货」华为模拟器eNSP安装教程

    最近小伙伴们在观看太阁6IE讲师 闫辉老师的直播课中,会使用到华为模拟器eNSP,今天给大家分享一下如何对华为eNSP模拟器进行初始化安装. 今天分享的内容主要有以下几个板块: step 1:文件下载 ...

  7. 用a卡还是n卡_谁是玩家最爱的显卡?N卡优势太大,GTX 1060秒A卡全家

    每年Steam都会发布当年游戏玩家在自家平台使用的显卡报告,这个报告会清晰显示在Steam上的玩家,有多少人使用A卡,多少人使用N卡,同时也会告诉我们什么显卡才是玩家们的最爱.毕竟Steam是目前世界 ...

  8. transporter上传卡正在交付_Xcode11或Transporter上传app store 一直卡在Authenticating with the App Store 的解决...

    适用于Xcode11.3.1和Transporter.app 有时候上传iOS app到app store时一直卡在Authenticating with the App Store,不管适用Xcod ...

  9. docker拉取(下载)数据太慢,docker pull xxxx一直卡着。

    docker pull xxxx,docker拉取(下载)数据太慢 可能因为网络波动导致拉取失败或者一直卡着. 添加国内镜像,然后点击Apply&restart 即可! "regis ...

最新文章

  1. 常见浏览器兼容性问题与解决方案
  2. pyqt5与matplotlib结合画图 ,绘制动态图形
  3. Git打标签(Tag)(亲测)
  4. python测试网络连通性_Python测试网络连通性示例【基于ping】
  5. php cap,PHP ImagickDraw setStrokeLineCap()用法及代码示例
  6. 从操作系统层面描述线程的五种状态
  7. VS2008中V表结束标记的分析
  8. wifi p2p连接 linux,Wi-Fi p2p ap 共存
  9. 毕业设计项目,微博语料情感分析,文本分类
  10. 【2020团体程序设计天梯赛】L2-3 完全二叉树的层序遍历(后序遍历转层次遍历)
  11. 【codevs1077】多源最短路
  12. Web版Telnet工具设计与实现
  13. 【Inpho精品教程】任务二:Inpho创建工程(创建项目、新建相机参数、导入照片、导入POS、生成航条、保存项目)
  14. 主流微信编辑器对比,最好用的竟然是它!
  15. 关于软件开发中遇到的问题解决思路
  16. 示波器基础知识100问汇总
  17. poj 1129 四色原理DFS
  18. fn映射 mac 键盘_Mac 学习笔记(五)键位映射
  19. 全球股市总市值创新高 中国IT企业存在感渐强
  20. linux输出数量大于一行,linux top命令详解

热门文章

  1. 抖音短视频所有问题的详细攻略——今抖云创
  2. 《计算机网络》— 计算机网络基础
  3. 计算机网络基础——应用层(上云必看)
  4. Esper学习之十三:EPL语法(九)
  5. 商业数据分析流程,主要划分为哪几个步骤?
  6. 校长娱乐-我叫MT高级技能出处
  7. c语言程序设计 计算机2级,计算机二级c语言程序设计考试试题
  8. linux运维工程分多少种,运维工程师划分的三种层次都是什么
  9. 不错的在线印章生成器网站
  10. uniapp之导航栏设置和沉浸式的解决方法