记一次win32程序修改字符串

修改为比原字符串长的新字符串。

近期有群友说在修改客户端ip时,需要自己的ip要比对方的ip长度要长,从而不能修改的问题。在这里记录一次修改比原字符串长的方法。

(此方法并不适用于所有程序!)

  • 任务1:新建一个Demo程序,启动后弹出MessageBox 显示“Hello, World!” 点击确定后退出程序。

代码如图所示:

2019060911125136

点击运行后如图所示:

2019060911152954

  • 任务2:修改显示的字符串为 “This is a test string!”

需要的工具:OllyICE

下载地址:

吾爱破解:https://down.52pojie.cn/Tools/Debuggers/OllyICE_1.10.zip

百度网盘:链接:https://pan.baidu.com/s/1jWMfM9ttewzUAJ-EJCCuAQ     提取码:c1al

1. 用管理员权限打开OllyICE后 打开刚刚的Demo文件。

2019060911503545

2019060911563257

2. 首先鼠标选中数据区 按 Alt + M 打开内存表 找到.rdata段  并记录其地址 这里我的地址为 0x01092000  如图所示

2019060912140469

3. 关闭此窗口 回到数据区窗口 按Ctrl + G 输入刚刚记录的地址 点击确定

2019060912172788

4. 这时可以隐约的看到‘Hello, World’ 字符串。先不要管这个。鼠标向下滚动到最后又一片空白的位置 全部都是0x00

这里我们挑选32个字节 鼠标拖拽选中

2019060912210649

5. 鼠标右键单击 然后选中 ‘二进制’ –> ‘编辑’

2019060912231110

6. 这里不要把输入框中的 ‘ . ’ 给删掉 而是直接在上面修改

2019060912250946

2019060912312141

2019060912313758

7. 这个时候新建字符串的偏移地址就是字符串的首字符所在地址 为 0x1092AB0

接下来计算 字符串中在.rdata 中偏移为 0x1092AB0 – 0x1092000 = AB0

记住这个AB0 很关键。(不会16进制计算的 可以打开windows计算器 选择 程序员型) 选中HEX 就可以输入16进制进行计算

2019060912464155

8. 接着鼠标右键单击 然后选择 ‘复制到可执行文件‘ 会出现另一个窗口 在这个窗口 鼠标右键单击 然后选择保存文件

2019060912331580

这个时候会出现选择保存路径和文件名的选项 这里我保存在桌面 保存的文件名为 reverse_tmp.exe

接下来 重复步骤1 选择 在桌面的 reverse_tmp.exe 文件

然后重复步骤2  记录下.rdata 段的偏移地址:0x01322000

此时新建的 ‘This is a test string ’的偏移地址 为 0x01322000 + 0xAB0 = 0x01322AB0

2019060912494066

接着 记录下此地址。

在反汇编区空白处 鼠标右键单击 选择 ‘查找’ –> ‘所有参考文本字串 ’

2019060912022290

在这之后转到新的字符串窗口  在这个窗口里可以鼠标右键单击 查找新的文本  不过目前这里就两条字符串。略过此部

选中 “Hello, World!” 字符串 鼠标右键 单击 ‘反汇编窗口中跟随’ 返回到反汇编窗口

2019060912061651

2019060912095554

这样就可以在字符串入栈反汇编指令 。 在push 住鼠标左键双击 出现窗口 将13220F8 替换为 通过计算得到的 新字符串偏移地址 0x01322AB0 然后点击汇编 发现光色光标向下移动了一行 这个时候点击取消就好了

2019060912524391

2019060912534710

到此为止 我们已经把要修改的字符串 修改结束了。接着 鼠标右键单击 选择 复制到可执行文件 – 所有修改

2019060912573679

在弹出的对话框中 选择 全部复制 然后 在选择 是

20190609125949732019060912595090

这个时候只留下了一个反汇编的窗口 鼠标右键单击 保存文件  这里我保存为 reverse_end.exe

2019060913035021

最后 关掉 OllyICE.exe 运行 reverse_end.exe

2019060913044834

修改成功!

到此结束 !!!!

本文来自投稿,不代表藏游岛立场,如若转载,请注明出处:https://game.cangyoudao.cn/archives/932

发表评论

登录后才能评论