hjwgjd 发表于 2016-6-28 18:00:11

修正 Import REConstructor v1.7c Final 的列表框内容为 PID + 路径方式

修正 Import REConstructor v1.7c Final 的列表框内容为 PID + 路径方式


包中已增加汉化版(汉化版中的非标资源来自:心海伽蓝汉化的 1.7 F 版中直接 16 进制全部提取,标准资源部分参考了 cxlrb 1.6 版本和 心海伽蓝 1.7 版本中的内容,并重新制作,感谢他们之前的付出。)
之前下载过的朋友请重新下载,修正了英文版中选项对话框里有一项显示不全的问题。

每次脱壳遇到文件长路径就想鄙视 Import REConstructor的路径和 PID 的排列位置
今天就给 Import REConstructor做了个毁容手术。






第一步

随便用OD或进制工具到下面地址修改代码,主要是为了显示格式的需要,我们把原来的格式反转过来为 ID + 路径方式
地址:00462598
原始:25 73 20 28 25 30 38 58 29
修改:28 25 30 38 58 29 20 25 73


第二步

关键位置在第一处,第二处不改正常情况没发现什么问题,不过感觉第二处有可能会有经过的时候,所以一起改掉,如果日后发现有问题请自己改回,这里的修改主要是为配合第一处修改后的参数传递顺序,也改为 ID + 路径的方式

第一处:
原始
0041C034      51            PUSH ECX
0041C035      52            PUSH EDX
十六进制代码:51 52修改
0041C034      52            PUSH EDX
0041C035      51            PUSH ECX
十六进制代码:52 51第二处:
原始

0041C13D   .51            PUSH ECX
0041C13E   .52            PUSH EDX
十六进制代码:51 52修改
0041C13D      52            PUSH EDX
0041C13E      51            PUSH ECX
十六进制代码:52 51第三步

上面改好后现在就已经可以正常显示了,但当打开进程的时候就会出错,简单分析了一下代码,程序是通过把得到的 PID + 路径按原来的路径加 PID 的方式去处理的,就导致无法打开进程,这里用了个取巧的方法,在不影响正常显示的情况下我们把我们得到的 PID + 路径字符串在程序处理打开进程之前还原回 路径 + PID 的方式然后在让程序去继续处理。

代码如下,下面代码的主要作用其实就是相当于把字符串按需要的格式翻转,有需要的朋友简单跟一下就明白了,就不注释了,很简单的东西。顺便说一下,这段代码我放到了.DATA 段,好处是这个段的属性是可读,可写,可执行,所以后面的数据处理也在这个段里处理的,不过原程序中没用空间,所以我把这个段的 RSIZE 调整到了0x2000 如果大家修改自己的版本,可以自己处理这个问题。

下面代码可以利用 OD 的 NonaWrite 1.2 插件直接插入程序。


0041C59C      8BC8          mov ecx,eax
0041C59E    - E9 5DFC0500   jmp ImportRE.0047C200

0x0047c200:
LEA EDI,DWORD PTR SS:
pushad
pushfd
MOV EDX,EDI
push 0
CALL DWORD PTR DS:
ADD EAX,7CE00
MOV ESI,EDI
MOV EDI,EAX

xor ebx,ebx
mov bl,cl
sub bl,0b
ADD ESI,0B
MOVS BYTE PTR ES:,BYTE PTR DS:
DEC BL
TEST BL,BL
JNZ SHORT 0047C227
MOV BYTE PTR DS:,20

INC EDI
MOV BL,0A
MOV ESI,EDX
MOVS BYTE PTR ES:,BYTE PTR DS:
DEC BL
TEST BL,BL
JNZ 0047C23b

MOV BL,CL
MOV ESI,EAX
MOV EDI,EDX
MOVS BYTE PTR ES:,BYTE PTR DS:
DEC BL
TEST BL,BL
JNZ 0047C24C

POPFD
POPAD
JMP 0041C5A3



















页: [1]
查看完整版本: 修正 Import REConstructor v1.7c Final 的列表框内容为 PID + 路径方式