ryan_knight_12吧 关注:45,545贴子:2,706,929

【伪技术贴】从零开始的SIRE学习日记

只看楼主收藏回复

以后本帖中会记录一些我完成的311修改,并且贴出一些我测试成功的修改代码。
一楼谢RK


IP属地:广东1楼2018-07-20 20:24回复
    说是从零开始,因为以前没接触过汇编、也没接触过修改器设计,逆向也只会一点点的IDA使用,所以主要是在RK的基础上去学。我希望这个帖子在记录了我的修改学习的基础上,也能为各位想要学习311修改的同学们做一个小科普。
    我使用的工具主要有:
    1.IDA Pro 用于逆向311的脱壳版exe(就是100多MB那个),分析汇编代码。
    2.Hex WorkShop:用于改.exe。在测试阶段,直接改exe比修改内存更方便
    3.Windows自带计算器:挺好用的,其中的“程序员”选项卡可以很方便地进行16进制运算,我现在还是手写机器码的状态(因为没找到好用的汇编器),算跳转指令的offset很管用
    4.Intel Volume Set:英特尔官方的汇编指南,非常齐全,应有尽有,自学汇编必备工具书。大概4000多页,不过不用害怕,用到什么指令直接在目录里边定位就好了,80%以上的内容你永远不会用到。
    5.Cheat Engine:喜羊羊与RK都在用的动态调试神器,可以动态查看运行时的内存。不过我暂时还没太掌握用法,因为目前的修改都比较简单。


    IP属地:广东2楼2018-07-20 20:30
    回复(3)
      楼楼加油


      IP属地:山东来自Android客户端4楼2018-07-20 20:51
      回复
        楼楼加油!


        星座王
        点亮12星座印记,去领取
        活动截止:2100-01-01
        去徽章馆》
        IP属地:黑龙江来自Android客户端6楼2018-07-20 20:57
        回复
          膜拜大神


          IP属地:上海来自Android客户端7楼2018-07-20 21:01
          收起回复
            大佬,我跪了,你继续


            IP属地:广东来自Android客户端8楼2018-07-20 21:03
            回复
              加油!


              IP属地:四川来自Android客户端9楼2018-07-20 21:04
              回复
                大佬加油


                IP属地:辽宁来自iPhone客户端16楼2018-07-20 21:37
                回复
                  rk吧文艺复兴[摊手]


                  IP属地:四川来自Android客户端17楼2018-07-20 21:59
                  回复


                    IP属地:安徽来自Android客户端18楼2018-07-20 22:48
                    回复
                      楼楼加油!


                      IP属地:山东来自Android客户端19楼2018-07-20 22:50
                      回复
                        虽然我不懂编程,但即便我死了,身体被钉在棺材里,也要用腐朽的声音喊出:楼主加油!


                        IP属地:江苏来自Android客户端22楼2018-07-20 23:57
                        回复
                          好像有一篇被吞了


                          IP属地:中国香港24楼2018-07-21 00:00
                          回复(1)
                            上一楼有点乱七八糟的,主要是贴吧排版莫名其妙的崩了。我把技术要点放在下边的截图里了。


                            IP属地:广东25楼2018-07-21 00:02
                            回复
                              【补发,之前莫名其妙被吞了】
                              【第二弹·覆盖原有代码】修改特技·疾驰效果为“移动力大于敌军时,骑兵战法使敌军伪报”
                              和第一弹的乱战一样,同属于牛刀小试,甚至比第一个还要简单,因为这里不涉及改指令,只要改数据就好了。
                              起手式依然是一样的,打开RK的内存研究资料,搜索“疾驰”
                              (RK的内存研究资料一共4个文档,建议把他们放在一起,这样搜索起来比较方便)
                              我们搜到的结果:
                              疾驰
                              00593B78: 疾驰(49)对应骑兵战法
                              00593BDE: 使敌军混乱(1) (2=伪报)
                              00593B98: 8a 8f c9 00 00 00 - mov cl,[edi+000000c9] 取我方攻击(参见部队内存),cl改成ecx则可以比钱、粮、兵力等
                              00593B9E: 3a 8b c9 00 00 00 - cmp cl,[ebx+000000c9] 取敌方攻击(参见部队内存),cl改成ecx则可以比钱、粮、兵力等
                              wow,已经把核心代码最重要的部分翻译出来,并且给了修改提示了!那我们就开始改咯
                              首先,我们把混乱改成伪报。RK的代码里边已经明确讲了在593BDE的位置有一个1,代表混乱,而且还讲了如果改成2就是伪报。那我们去找一找咯。在IDA的"Hex View"中按下快捷键"G"(跳转到地址),输入593BDE,发现定位出来的结果为6A 01(光标停在01前)。这就是混乱的位置了。我们改成6A 02,就可以变成伪报了。如果我们改成6A 00,则是使敌方正常... emmmm居然是骑兵战法使敌方镇静,怎么看都是负面特技,算了吧。
                              接下来我们改比较移动力。在这里,我们继续充分利用RK的资料。首先我们不知道edi + 000000c9是什么,但是RK提示了“参见部队内存”,我们在RK的资料里搜索一下“部队”
                              搜索结果如下:
                              ******************************
                              [部队 共0xF4个字节 起始地址0736B088]
                              +00 4 byte (18 CC 79 00) 部队相关函数所在地址
                              +04 4 byte ??
                              +08 4 byte 类型(0=战斗,1=运输)
                              +0C 4 byte 主将ID
                              +10 4 byte 副将1ID
                              +14 4 byte 副将2ID
                              +18 2 byte 兵力
                              +1A 1 byte 气力
                              +1B 1 byte 空闲
                              +1C 4 byte 金钱
                              +20 4 byte 兵粮
                              +24 4 byte 状态(0=正常,1=混乱,2=伪报)
                              ...(省略若干行,请下载资料自行查看)
                              +C9 1 byte 部队显示攻击力
                              +CA 1 byte 部队显示防御力
                              +CB 1 byte 部队显示建设力
                              +CC 4 byte 部队显示移动力
                              +D0 24byte 部队6个兵科适性
                              Amazing!按照这份资料,+C9正好就是部队的攻击力,和疾驰的技能一下就对应起来了!如果我们把C9改成别的东西,会不会管用呢?我们用Hex Workshop试着把00593B98和00593B9E里边的C9改成18,进行测试。结论是,当兵力大于敌方时,一定会眩晕,小于敌方时,一定不会眩晕。
                              Amazing!这不就成功了吗!我们再把C9改成CC,载入游戏,测试仍然通过,标志着这个改动成功了。
                              同样的,还可以设计出疾驰是气力/适性/兵粮等等高于对方时眩晕,而这些只需要相应的改掉C9就好了,是不是很神奇呢~
                              好啦,前两个会比较简单,讲的也比较详细,大家如果想入门的话, 可以参考我说的过程~哪里不懂的话在评论里问就好了~


                              IP属地:广东26楼2018-07-21 00:05
                              回复