003B71C8 8785 35050000
xchg
dword
ptr
ss
:[
ebp
+535],
eax
003B71CE 8B95 22040000
mov
edx
,
dword
ptr
ss
:[
ebp
+422]
003B71D4 8B85 2D050000
mov
eax
,
dword
ptr
ss
:[
ebp
+52D]
003B71DA 2BD0
sub
edx
,
eax
//这里其实就是检测与映像基址是否相符,和ASProtect的方法一样。不符则重定位处理!★
003B71DC 74 79
je
short
EdrLib.003B7257
//可以在这里改标志位Z=1,使其跳转,这样脱壳后就不需要修改基址了。 ★
003B71DE 8BC2
mov
eax
,
edx
003B71E0 C1E8 10
shr
eax
,10
003B71E3 33DB
xor
ebx
,
ebx
003B71E5 8BB5 39050000
mov
esi
,
dword
ptr
ss
:[
ebp
+539]
//[
ebp
+539]=003B754C=00006000 ★ 这个00006000就是重定位表的RVA!
003B71EB 03B5 22040000
add
esi
,
dword
ptr
ss
:[
ebp
+422]
003B71F1 833E 00
cmp
dword
ptr
ds
:[
esi
],0
003B71F4 74 61
je
short
EdrLib.003B7257
//重定位处理完毕后这里就跳转 在003B7257处下断
003B71F6 8B4E 04
mov
ecx
,
dword
ptr
ds
:[
esi
+4]
//找到这里
003B71F9 83E9 08
sub
ecx
,8
003B71FC D1E9
shr
ecx
,1
003B71FE 8B3E
mov
edi
,
dword
ptr
ds
:[
esi
]
003B7200 03BD 22040000
add
edi
,
dword
ptr
ss
:[
ebp
+422]
003B7206 83C6 08
add
esi
,8
003B7209 66:8B1E
mov
bx
,
word
ptr
ds
:[
esi
]
003B720C C1EB 0C
shr
ebx
,0C
003B720F 83FB 01
cmp
ebx
,1
003B7212 74 0C
je
short
EdrLib.003B7220
003B7214 83FB 02
cmp
ebx
,2
003B7217 74 16
je
short
EdrLib.003B722F
003B7219 83FB 03
cmp
ebx
,3
003B721C 74 20
je
short
EdrLib.003B723E
003B721E EB 2C
jmp
short
EdrLib.003B724C
003B7220 66:8B1E
mov
bx
,
word
ptr
ds
:[
esi
]
003B7223 81E3 FF0F0000
and
ebx
,0FFF
003B7229 66:01041F
add
word
ptr
ds
:[
edi
+
ebx
],
ax
003B722D EB 1D
jmp
short
EdrLib.003B724C
003B722F 66:8B1E
mov
bx
,
word
ptr
ds
:[
esi
]
003B7232 81E3 FF0F0000
and
ebx
,0FFF
003B7238 66:01141F
add
word
ptr
ds
:[
edi
+
ebx
],
dx
003B723C EB 0E
jmp
short
EdrLib.003B724C
003B723E 66:8B1E
mov
bx
,
word
ptr
ds
:[
esi
]
003B7241 81E3 FF0F0000
and
ebx
,0FFF
003B7247 01141F
add
dword
ptr
ds
:[
edi
+
ebx
],
edx
003B724A EB 00
jmp
short
EdrLib.003B724C
003B724C 66:830E FF
or
word
ptr
ds
:[
esi
],0FFFF
//这里把许多重定位数据变为FFFF ★
NOP
掉!
003B7250 83C6 02
add
esi
,2
003B7253 E2 B4
loopd
short
EdrLib.003B7209
003B7255 EB 9A
jmp
short
EdrLib.003B71F1//循环处理
003B7257 8B95 22040000
mov
edx
,
dword
ptr
ss
:[
ebp
+422]//这里下断,
ESI
=003B63B0
003B725D 8BB5 41050000
mov
esi
,
dword
ptr
ss
:[
ebp
+541]
003B7263 0BF6
or
esi
,
esi
003B7265 74 11
je
short
EdrLib.003B7278