safeguard1.01版主程序脱壳完全Script
希望这个脚本对simonzh有所帮助,特别是对iat的处理,虽然加密函数很复杂,但是传递给这个函数参数时漏洞太大:
0041E195 E8 79DBFFFF CALL safeguar.0041BD13
0012FF98 003A004D |Arg1 = 003A004D
0012FF9C 77E5D8B4 |Arg2 = 77E5D8B4
0012FFA0 00000000 \Arg3 = 00000000
EAX 003A004D
ECX 77E5D8B4 kernel32.LoadLibraryA
EDX 7FFE0304
EBX 00413000 safeguar.00413000
ESP 0012FF98
EBP 00013000
ESI 00416633 safeguar.00416633
EDI 0072C794
EIP 0041E195 safeguar.0041E195
修改iat处理代码:
0041BD13 55 PUSH EBP
0041BD14 8BEC MOV EBP,ESP
0041BD16 60 PUSHAD
0041BD17 8B7D 08 MOV EDI,DWORD PTR SS:[EBP+8] ; 003A0000
0041BD1A 8B75 0C MOV ESI,DWORD PTR SS:[EBP+C] ; Stack SS:[0012FF9C]=77E5B285 (kernel32.GetProcAddress)
很容易修改成自动恢复的