吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5550|回复: 9
收起左侧

[PEtools] UIF小BUG修复

  [复制链接]
Hmily 发表于 2012-12-10 20:36
UIF小BUG修复 by csjwaman
http://www.unpack.cn/thread-85379-1-1.html

0045C47B   .  8B06          MOV EAX,DWORD PTR DS:[ESI]
0045C47D   .  2B07          SUB EAX,DWORD PTR DS:[EDI]
0045C47F   .  8B15 481C4600 MOV EDX,DWORD PTR DS:[0x461C48]
0045C485   .  807C02 FF 90  CMP BYTE PTR DS:[EDX+EAX-0x1],0x90       //这里就是出现异常的地方
0045C48A   .  74 20         JE SHORT 0045C4AC                        //因为指针前移一个字节后的地址可能会出现在未知空间或禁止访问的空间
0045C48C   .  8B06          MOV EAX,DWORD PTR DS:[ESI]
0045C48E   .  2B07          SUB EAX,DWORD PTR DS:[EDI]
0045C490   .  8B15 481C4600 MOV EDX,DWORD PTR DS:[0x461C48]
0045C496   .  807C02 05 90  CMP BYTE PTR DS:[EDX+EAX+0x5],0x90
0045C49B   .  75 0F         JNZ SHORT 0045C4AC                       ;  0045C4AC
0045C49D   .  8B06          MOV EAX,DWORD PTR DS:[ESI]
0045C49F   .  2B07          SUB EAX,DWORD PTR DS:[EDI]
0045C4A1   .  8B15 481C4600 MOV EDX,DWORD PTR DS:[0x461C48]
0045C4A7   .  C64402 05 00  MOV BYTE PTR DS:[EDX+EAX+0x5],0x0
0045C4AC   >  8B06          MOV EAX,DWORD PTR DS:[ESI]
0045C4AE   .  2B07          SUB EAX,DWORD PTR DS:[EDI]
0045C4B0   .  8B15 481C4600 MOV EDX,DWORD PTR DS:[0x461C48]
0045C4B6   .  807C02 FF 90  CMP BYTE PTR DS:[EDX+EAX-0x1],0x90          //还有这里
0045C4BB   .  75 0A         JNZ SHORT 0045C4C7                       ;  0045C4C7


0045B75B   > \6A 40         PUSH 0x40                                ; /Protect = PAGE_EXECUTE_READWRITE
0045B75D   .  68 00100000   PUSH 0x1000                              ; |AllocationType = MEM_COMMIT
0045B762   .  A1 681C4600   MOV EAX,DWORD PTR DS:[0x461C68]          ; |                             //这里改成add eax,0x2000
0045B767   .  05 00100000   ADD EAX,0x1000                           ; |                             //也就是多申请0x1000
0045B76C   .  50            PUSH EAX                                 ; |Size                         //用于后面将内存指针往前移0x1000
0045B76D   .  6A 00         PUSH 0x0                                 ; |Address = NULL
0045B76F   .  E8 B4ABFAFF   CALL 00406328                            ; \VirtualAlloc        //申请内存
0045B774   .  E9 2C300000   JMP 0045E7A5                             ;  跳到补丁处
0045B779   >  833D 481C4600>CMP DWORD PTR DS:[0x461C48],0x0
0045B780   .  75 14         JNZ SHORT 0045B796                       ;  0045B796
0045B782   .  B8 F8D74500   MOV EAX,0x45D7F8                         ;  ASCII "Error! Virtual Memory is Low or Invalid 'Code Start','Code End'."


补丁代码:

0045E7A5   > \83F8 00       CMP EAX,0x0
0045E7A8   .  74 09         JE SHORT 0045E7B3                        ;  0045E7B3
0045E7AA   .  90            NOP
0045E7AB   .  90            NOP
0045E7AC   .  90            NOP
0045E7AD   .  90            NOP
0045E7AE   .  05 00100000   ADD EAX,0x1000                           //内存指针前移0x1000以避免地址减1时出现内存不能读的异常问题
0045E7B3   >  A3 481C4600   MOV DWORD PTR DS:[0x461C48],EAX
0045E7B8   .^ E9 BCCFFFFF   JMP 0045B779                             ;  0045B779

UIF_Fix.rar

172.58 KB, 下载次数: 349, 下载积分: 吾爱币 -1 CB

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
lanhaibo6666 发表于 2012-12-10 20:37
提示: 作者被禁止或删除 内容自动屏蔽
温柔 发表于 2012-12-10 20:50
LeoSky 发表于 2012-12-10 21:12
头像被屏蔽
stereo2010 发表于 2012-12-31 13:08 来自手机
提示: 作者被禁止或删除 内容自动屏蔽
ck13 发表于 2013-1-22 18:07
这个比较不错。
abincn 发表于 2013-3-29 15:28
这个不错。。。。
JoyChou 发表于 2013-5-16 14:53
刚用了好几个UIF都出现一个,试了下这个,没问题了。~
stop1204 发表于 2013-6-16 10:36
不懂啊.-.-
优雅二进制 发表于 2014-3-16 14:00
非常好用的工具,感谢楼主分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 02:27

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表