RegKiller 发表于 2009-6-5 11:10

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

本帖最后由 RegKiller 于 2009-6-20 02:27 编辑

包中已增加汉化版(汉化版中的非标资源来自:心海伽蓝汉化的 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
重新上传,已修正了 10 楼的问题

大漠雪花 发表于 2009-6-5 11:46

不错,确实很方便。

Hmily 发表于 2009-6-6 20:25

感谢DIY~方便使用!

RegKiller 发表于 2009-6-7 20:03

更新一下。修正了一个设置选项中显示的错误,同时新增加了一个汉化版

没办法,1.5M 的东西一个包始终上传失败,光下载测试我自己发的包就浪费了几 CB 了。郁闷死。

分4个包上传成功了,再次郁闷。:'(

zhanghdong 发表于 2009-6-7 21:53

技术真高。。谢谢楼主了。。。

Hmily 发表于 2009-6-7 22:24

更新一下。修正了一个设置选项中显示的错误,同时新增加了一个汉化版

没办法,1.5M 的东西一个包始终上传失败,光下载测试我自己发的包就浪费了几 CB 了。郁闷死。

分4个包上传成功了,再次郁闷。:'(

RegKiller 发表于 2009-6-7 20:03 http://www.52pojie.cn/images/common/back.gif


汗,我说呢,我也在帮你传....附件传的时候最好小于1M....大了好像就会自动传不上去,一直不知道什么原因....

fuma255 发表于 2009-6-9 15:32

不错,确实很方便。

Alar30 发表于 2009-6-9 18:03

支持毁容滴。。。

dying 发表于 2009-6-10 00:55

谢谢楼主分享 ,。呵呵

RegKiller 发表于 2009-6-20 02:26

重新上传,修正了下面的错误

第三部开始
0041C59C    - E9 5FFC0500   JMP 0047C200
改成
0041C59C      8BC8          mov ecx,eax
0041C59E    - E9 5DFC0500   jmp ImportRE.0047C200
页: [1] 2 3 4 5 6 7 8
查看完整版本: 修正 Import REConstructor v1.7c Final 的列表框内容为 PID + 路径方式