TA的每日心情  | 慵懒 2018-6-6 15:51 | 
|---|
 
  签到天数: 2 天 [LV.1]初来乍到  
 | 
 
 
发表于 2007-10-24 19:36:42
|
显示全部楼层
 
 
 
你脱的程序OEP不对嘛你明知道是VB程序那么VB程序的入口你应该去了解。VB入口为如下 
00401398    68 D01B4000     PUSH 00401BD0                            ; ASCII "VB5!6&vb6chs.dll" 
0040139D    E8 F0FFFFFF     CALL 00401392                            ; JMP 到 MSVBVM60.ThunRTMain 
 
而你找到的确是这里 
00408AE6    60              PUSHAD                                   /这里明显是第二层壳的入口。ESP定律即可到此程序的真正OEP如上地址“00401398” 
00408AE7    9C              PUSHFD 
00408AE8    E8 00000000     CALL 00408AED 
00408AED    5D              POP EBP 
00408AEE    83ED 07         SUB EBP,7 
00408AF1    8D8D D6FEFFFF   LEA ECX,DWORD PTR SS:[EBP-12A] 
00408AF7    8039 01         CMP BYTE PTR DS:[ECX],1 
00408AFA    0F84 42020000   JE 00408D42 
00408B00    C601 01         MOV BYTE PTR DS:[ECX],1 
 
小结—————————————————————————————————————————————————————————————————————————— 
程序查壳得知为FSG 查壳时尽量多种几种查壳软件 不要尽信PEID OD入载来到入口 
00400154 >  8725 BC0D4100   XCHG DWORD PTR DS:[410DBC],ESP 
0040015A    61              POPAD 
0040015B    94              XCHG EAX,ESP 
0040015C    55              PUSH EBP 
0040015D    A4              MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI] 
0040015E    B6 80           MOV DH,80 
00400160    FF13            CALL DWORD PTR DS:[EBX] 
00400162  ^ 73 F9           JNB SHORT 0040015D 
既然知道是FSG那么我就把代码往下翻找到去OEP的跳转 
004001D1    FF63 0C         JMP DWORD PTR DS:[EBX+C] 
 
也可搜索“FF 63 0C”定位到此处下断点 F9 暂停在此行 取消断点 F8 发现程序还有一层壳 看入口也就一压缩壳的入口 PUSHAD、PUSHFD压栈指令成对出现 ESP定律  
00408AE6    60              PUSHAD 
00408AE7    9C              PUSHFD 
00408AE8    E8 00000000     CALL 00408AED 
00408AED    5D              POP EBP 
00408AEE    83ED 07         SUB EBP,7 
00408AF1    8D8D D6FEFFFF   LEA ECX,DWORD PTR SS:[EBP-12A] 
00408AF7    8039 01         CMP BYTE PTR DS:[ECX],1 
00408AFA    0F84 42020000   JE 00408D42 
00408B00    C601 01         MOV BYTE PTR DS:[ECX],1 
00408B03    8BC5            MOV EAX,EBP 
00408B05    2B85 6AFEFFFF   SUB EAX,DWORD PTR SS:[EBP-196] 
00408B0B    8985 6AFEFFFF   MOV DWORD PTR SS:[EBP-196],EAX 
00408B11    0185 9AFEFFFF   ADD DWORD PTR SS:[EBP-166],EAX 
00408B17    8DB5 DEFEFFFF   LEA ESI,DWORD PTR SS:[EBP-122] 
00408B1D    0106            ADD DWORD PTR DS:[ESI],EAX 
00408B1F    55              PUSH EBP 
00408B20    56              PUSH ESI 
00408B21    6A 40           PUSH 40 
00408B23    68 00100000     PUSH 1000 
00408B28    68 00100000     PUSH 1000 
00408B2D    6A 00           PUSH 0 
 
———————————————————————————————————————————————————————————————————————— 
00408D57    9D              POPFD 
00408D58  ^ E9 3B86FFFF     JMP 00401398           //去程序OEP 
———————————————————————————————————————————————————————————————————————— 
00401398    68 D01B4000     PUSH 00401BD0                            ; ASCII "VB5!6&vb6chs.dll" 
0040139D    E8 F0FFFFFF     CALL 00401392                            ; JMP 到 MSVBVM60.ThunRTMain 
004013A2    0000            ADD BYTE PTR DS:[EAX],AL 
004013A4    0000            ADD BYTE PTR DS:[EAX],AL 
004013A6    0000            ADD BYTE PTR DS:[EAX],AL 
004013A8    3000            XOR BYTE PTR DS:[EAX],AL 
004013AA    0000            ADD BYTE PTR DS:[EAX],AL 
004013AC    3800            CMP BYTE PTR DS:[EAX],AL 
004013AE    0000            ADD BYTE PTR DS:[EAX],AL 
004013B0    0000            ADD BYTE PTR DS:[EAX],AL 
004013B2    0000            ADD BYTE PTR DS:[EAX],AL 
004013B4    81D2 46731416   ADC EDX,16147346 
 
—————————————————————————————————————————————————————————————————— 
DUMP&FIX程序运行正常 ??什么手机攻击??/:L 但愿楼主本意是为学习之目的。 
 
[ 本帖最后由 glts 于 2007-10-24 20:00 编辑 ] |   
 
 
 
 |