超纳闷,从来都是发了帖子都是眼睁睁看着沉入海底,不知道这个问题是否能有好心人帮助提示一下
加壳时只选了protect OEP,best compression。将所有偷走的区段全部dump了出来,发现有些段的地址比程序的imagebase要小,暂时没有想出来办法解决。所以就准备手工修复所有访问到这些区段的地方(依然将这些段也补到文件中,用od跟踪到所有内存访问异常的地方然后修正地址,比如段的地址是00900000,手工修正到01900000),好像一共是有9个地方,其他的都一一修正了,但是还有一个地方很奇怪,我不知道该怎么修正,请各位帮帮忙看看
01982658 56 push esi
01982659 57 push edi
0198265A 89C6 mov esi, eax
0198265C 89D7 mov edi, edx
0198265E 89C8 mov eax, ecx
01982660 39F7 cmp edi, esi
01982662 77 13 ja short 01982677
01982664 74 2F je short 01982695
01982666 C1F9 02 sar ecx, 2
01982669 78 2A js short 01982695
0198266B F3:A5 rep movs dword ptr es:[edi], dword ptr [esi]
0198266D 89C1 mov ecx, eax
0198266F 83E1 03 and ecx, 3
01982672 F3:A4 rep movs byte ptr es:[edi], byte ptr [esi]
01982674 5F pop edi
01982675 5E pop esi
01982676 C3 retn
在0198266B内存异常,停下,下面是在这行时的寄存器值
ecx=0001BFD4 (decimal 114644.)
ds:[esi]=stack [0006FF4C]=00000000
es:[edi]=[00000000]=???
EAX 0006FF50
ECX 0001BFD4
EDX 00000000
EBX 019E069C un_NOTEP.019E069C
ESP 0006FF20
EBP 0006FF50
ESI 0006FF4C
EDI 00000000
EIP 0198266B un_NOTEP.0198266B
C 0 ES 0023 32bit 0(FFFFFFFF)
P 1 CS 001B 32bit 0(FFFFFFFF)
A 1 SS 0023 32bit 0(FFFFFFFF)
Z 0 DS 0023 32bit 0(FFFFFFFF)
S 0 FS 003B 32bit 7FFDF000(FFF)
T 0 GS 0000 NULL
D 0
O 0 LastErr ERROR_NO_IMPERSONATION_TOKEN (0000051D)
EFL 00010216 (NO,NB,NE,A,NS,PE,GE,G)
ST0 empty -UNORM D0A8 01050104 00000000
ST1 empty 0.0
ST2 empty 0.0
ST3 empty 0.0
ST4 empty 0.0
ST5 empty 0.0
ST6 empty 1.0000000000000000000
ST7 empty 1.0000000000000000000
3 2 1 0 E S P U O Z D I
FST 4020 Cond 1 0 0 0 Err 0 0 1 0 0 0 0 0 (EQ)
FCW 027F Prec NEAR,53 Mask 1 1 1 1 1 1
恳请各位提示一下该怎么修正这个地方
[课程]FART 脱壳王!加量不加价!FART作者讲授!