前提:PEid查看是ASProtect 1.23 RC4 - 1.3.08.24 -> Alexey Solodovnikov
问题1:如何确定Stolen Code 有多少字节?
00EC88CE F2: prefix repne:
00EC88CF 55 push ebp
00EC88D0 8BEC mov ebp, esp
00EC88D2 6A FF push -1
00EC88D4 68 A8384A00 push 4A38A8
00EC88D9 68 6CC54600 push 46C56C
00EC88DE 64:A1 00000000 mov eax, dword ptr fs:[0]
00EC88E4 3E:EB 01 jmp short 00EC88E8
00EC88E7 F2: prefix repne:
00EC88E8 50 push eax
00EC88E9 64:8925 0000000>mov dword ptr fs:[0], esp
00EC88F0 83EC 58 sub esp, 58
00EC88F3 3E:EB 01 jmp short 00EC88F7
00EC88F6 F2: prefix repne:
00EC88F7 53 push ebx
00EC88F8 3E:EB 01 jmp short 00EC88FC
00EC88FB F2: prefix repne:
00EC88FC 56 push esi
00EC88FD 3E:EB 01 jmp short 00EC8901
00EC8900 F2: prefix repne:
00EC8901 57 push edi
00EC8902 8965 E8 mov dword ptr ss:[ebp-18], esp
00EC8905 3E:EB 01 jmp short 00EC8909
00EC8908 F2: prefix repne:
00EC8909 EB 01 jmp short 00EC890C // 这里!
00EC890B 9A 687D7746 006>call far 6800:46777D68
... ..
比如上面代码的Stolen Code 都找出来,到了00EC8909处,跳转后,会发现下面两条语句:
push 64E094
push 10D6C14
...
事实上,这两句并不是Stolen Code!
现在的问题是,如何界定Stolen Code 都找出来了呢?换句话说,如何确定Stolen Code有多少个字节?
问题2:OllyDB中,在真实的OEP处填入Stolen Code后,[右键]-->[复制到可执行文件]-->[选择部分],跳出"在可执行文件中无法定位数据"的对话框错误.这该怎么解决?
0064E06D C3 retn
0064E06E 0000 add byte ptr ds:[eax],al //真实的OEP
0064E070 0000 add byte ptr ds:[eax],al
0064E072 0000 add byte ptr ds:[eax],al
0064E074 0000 add byte ptr ds:[eax],al
0064E076 0000 add byte ptr ds:[eax],al
0064E078 0000 add byte ptr ds:[eax],al
0064E07A 0000 add byte ptr ds:[eax],al
0064E07C 0000 add byte ptr ds:[eax],al
0064E07E 0000 add byte ptr ds:[eax],al
0064E080 0000 add byte ptr ds:[eax],al
0064E082 0000 add byte ptr ds:[eax],al
0064E084 0000 add byte ptr ds:[eax],al
0064E086 0000 add byte ptr ds:[eax],al
0064E088 0000 add byte ptr ds:[eax],al
0064E08A 0000 add byte ptr ds:[eax],al
0064E08C 0000 add byte ptr ds:[eax],al
0064E08E 0000 add byte ptr ds:[eax],al
0064E090 0000 add byte ptr ds:[eax],al
0064E092 0000 add byte ptr ds:[eax],al
0064E094 FF15 CCB26600 call dword ptr ds:[66B2CC] //最后异常处理后返回到这里
0064E09A 33D2 xor edx,edx
... ...
BTW:这里真实的OEP也是由问题1才可以确定
问题3:ImportREC中"New Import Infos (IID + ASCII + LOADER)"部分的RVA以及Size如何填写?大致原理是什么?
以上问题是我感到非常困惑的地方,请高手们斑竹们多指点一下,谢谢谢谢.
[注意]看雪招聘,专注安全领域的专业人才平台!