欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

修改exescope6.10 (2千字)

修改exescope6.10 (2千字)

修改exescope6.10
    曾经发现有些用upx压缩的软件,用prodump1.62解压后虽然可以反编译,但不能用exescope等察看或修改其中的资源。最近有人又出题,modemspy v1.6。用fileinfo看是upx0.72版压缩,用prodump解压运行无误,wdasm也可以反编译并找到其中的字符串。可是用exescope6.10等就是不能修改,说“"Cannot recognize the internal structure”。
    用ultraedit打开modemspy.exe,在起始部看到
$Id: UPX 0.72 Copyright (C) 1996-1999 Laszlo Molnar & Markus Oberhumer $
$Id: NRV 0.61 Copyright (C) 1996-1999 Markus F.X.J. Oberhumer $
$License: NRV for UPX is distributed under special license
字样,估计就是NRV带来的麻烦。
    猜想NRV防止修改资源的原理是,修改资源前的标记;或者对资源进行特别压缩。如果是前者,exescope等是依照这些标记来显示资源的。最好的办法是找到这些标记,改回来;从而用任何资源修改器都可以认识。只是我才疏学浅,不知方法?在此诚心请教。      如果资源被特别压缩了就很困难了,不过好像还没有看到这类软件,哈哈。
    我的办法是修改exescope,使得不管这些标记对错,都显示。所以用wdasm反编译exescope6.10(872.960字节)英文原版,在“字符串引用”中寻找“Cannot recognize the internal structure”字样,共2处。(1)cs:00436577;(2)cs:004ACD78。用trw分别设断,用exescope打开解压的dump-modemspy.exe,在“字符串”中打开一个,被trw拦下:
......
:004ACD6D 3B45E0        cmp eax, dword ptr [ebp-20] <==eax为0
:004ACD70 7F15          jg 004ACD87                <==not jump
:004ACD72 8B15F8694B00  mov edx, dword ptr [004B69F8]
* Possible Reference to String Resource ID=00140: "Cannot recognize the internal structure, %s"
                                  |
:004ACD78 B88C000000    mov eax, 0000008C
:004ACD7D E86E4A0000    call 004B17F0
:004ACD82 E97B020000    jmp 004AD002
    OK。再用它打开一个没有压缩的程序,
:004ACD6D 3B45E0      cmp eax, dword ptr [ebp-20]  <==eax为一个大数
:004ACD70 7F15        jg 004ACD87                  <==jump
    所以用hiew打开exescope.exe,到
    :004ACD70 7F15        jg 004ACD87
              ~~
改为:004ACD70 EB15        jmp 004ACD87 <==强迫跳转
              ~~
保存后用之修改并保存解压的dump-modemspy.exe,OK。

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功