846028977 发表于 2019-8-31 10:49

如何给寄存器ECX打补丁呢

求助如何给软件(已经脱壳了)某个地址的ECX,修改ASCII字符串呢?
我用大白发现没效果。
求助大神指导。


梨花丶 发表于 2019-8-31 10:49

本帖最后由 梨花压海棠丶 于 2019-8-31 12:38 编辑

寄存器返回地址都是动态的·· 你安装超级HOOK读取ECX的返回地址,得到地址后 在读内存文本 来获取ECX地址里面的 ASCLL数据!看代码就明白了


黑刀 发表于 2019-8-31 11:18

00569E1E的位置给ECX赋值,赋值的来源是 0x00588A28地址中的内容。你可以在他赋值之前写一个jmp跳到空白段,给0x00588A28地址中的内容进行赋值,赋值为你需要的内容,然后再跳过来。这样当执行00569E1E这一行代码的时候,赋值给ECX的值,就是你想打补丁的内容了。你可以把这整个过程的代码,都写入到补丁里,就OK了~

846028977 发表于 2019-8-31 11:21

大神,知道怎么用易语言写吗。因为那个每隔3天就得换一次。

Shark恒 发表于 2019-8-31 12:12

846028977 发表于 2019-8-31 11:21
大神,知道怎么用易语言写吗。因为那个每隔3天就得换一次。
你可以找一段代码作为特征码用来定位,通过特征码加偏移的方式获取每次更新后的内存地址,然后执行上面黑刀提到的inlineHook过程。

黑刀 发表于 2019-8-31 12:20

Shark恒 发表于 2019-8-31 12:12
你可以找一段代码作为特征码用来定位,通过特征码加偏移的方式获取每次更新后的内存地址,然后执行上 ...
恒哥补充的完美{:6_206:}

846028977 发表于 2019-8-31 15:23

黑刀 发表于 2019-8-31 12:20
恒哥补充的完美

谢谢,各位大神。
页: [1]
查看完整版本: 如何给寄存器ECX打补丁呢