【 在 javame (javame) 的大作中提到: 】
: 标 题: 此题失题,无解
: 发信站: 水木社区 (Tue Apr 7 23:10:47 2020), 站内
:
: 前面我发过分割碎片的小工具原来是无解的
:
: loc_40535D:
: mov ebx, dword_405024
: test ebx, ebx
: jle loc_405412
: sub dword_405024, 1E00000h // 修改这个地方可以改变碎片大小
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
没这种操作吧,你得先 mov 到寄存器,再 sub,再 mov 回去。
。。。
: mov eax, 1E00000h // 还有这个地方,可以改变碎片的大小
: jge short loc_40538C
: mov eax, ebx
: pop dword_405020
: push dword_405020
上面这两行实际上就是 mov dword_404020, [esp]
: xor ebp, ebp
这里 ebp = 0, ebp 是基地址寄存器,是函数调用期间极其重要的一个寄存器,
尤其是 debug 版本代码,通常函数是不能动 ebp 的值的。
进入函数的时候被 push 保护起来,返回之前都要复原之前的值。
这里也不知道在干吗。
你这段代码到底是反汇编的还是自己写的。。。感觉乱七八糟。。。不合逻辑。
:
: 这个程序本来分割的就是错的,最后一个碎片不对。
: 我已经成功修改分割碎片到100MB了。原来是错的,
: 真不知道是要去逆向修复这个程序吗?
:
: --
:
: ※ 修改:·javame 于 Apr 7 23:11:17 2020 修改本文·[FROM: 101.88.222.*]
: ※ 来源:·水木社区 newsmth.net·[FROM: 101.88.222.*]
--
修改:javame FROM 101.88.222.*
FROM 139.226.109.*