能力值:
( LV2,RANK:10 )
|
-
-
2 楼
应该不是 UPX, 入口附近就是个循环解密吧,解出来看看
|
能力值:
( LV3,RANK:30 )
|
-
-
3 楼
入口的代码确实解压代码,解压出来的代码在入口retn 下面一行,我现在能跟到OEP,但修复的时候出现问题,很多API 采用jmp DWROD ptr [xxxxxx] 重定向过去的。
|
能力值:
( LV9,RANK:140 )
|
-
-
4 楼
我也遇到个壳,PEID检测出来是UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo
但是怎么样我都找不到那个真正的EP,求大神赐教!
入口代码如下:
0043AB70 > 60 PUSHAD
0043AB71 BE 00004300 MOV ESI,1.00430000
0043AB76 8DBE 0010FDFF LEA EDI,DWORD PTR DS:[ESI+FFFD1000]
0043AB7C 57 PUSH EDI
0043AB7D 83CD FF OR EBP,FFFFFFFF
0043AB80 EB 10 JMP SHORT 1.0043AB92
0043AB82 90 NOP
0043AB83 90 NOP
0043AB84 90 NOP
0043AB85 90 NOP
0043AB86 90 NOP
0043AB87 90 NOP
0043AB88 8A06 MOV AL,BYTE PTR DS:[ESI]
0043AB8A 46 INC ESI
0043AB8B 8807 MOV BYTE PTR DS:[EDI],AL
0043AB8D 47 INC EDI
0043AB8E 01DB ADD EBX,EBX
0043AB90 75 07 JNZ SHORT 1.0043AB99
0043AB92 8B1E MOV EBX,DWORD PTR DS:[ESI]
0043AB94 83EE FC SUB ESI,-4
0043AB97 11DB ADC EBX,EBX
0043AB99 ^ 72 ED JB SHORT 1.0043AB88
0043AB9B B8 01000000 MOV EAX,1
0043ABA0 01DB ADD EBX,EBX
0043ABA2 75 07 JNZ SHORT 1.0043ABAB
0043ABA4 8B1E MOV EBX,DWORD PTR DS:[ESI]
0043ABA6 83EE FC SUB ESI,-4
0043ABA9 11DB ADC EBX,EBX
0043ABAB 11C0 ADC EAX,EAX
0043ABAD 01DB ADD EBX,EBX
0043ABAF ^ 73 EF JNB SHORT 1.0043ABA0
0043ABB1 75 09 JNZ SHORT 1.0043ABBC
0043ABB3 8B1E MOV EBX,DWORD PTR DS:[ESI]
0043ABB5 83EE FC SUB ESI,-4
0043ABB8 11DB ADC EBX,EBX
个人认为比较关键的代码如下:
0043AC4F 3C 01 CMP AL,1
0043AC51 ^ 77 F7 JA SHORT 1.0043AC4A
0043AC53 803F 04 CMP BYTE PTR DS:[EDI],4
0043AC56 ^ 75 F2 JNZ SHORT 1.0043AC4A
0043AC58 8B07 MOV EAX,DWORD PTR DS:[EDI]
0043AC5A 8A5F 04 MOV BL,BYTE PTR DS:[EDI+4]
0043AC5D 66:C1E8 08 SHR AX,8
0043AC61 C1C0 10 ROL EAX,10
0043AC64 86C4 XCHG AH,AL
0043AC66 29F8 SUB EAX,EDI
0043AC68 80EB E8 SUB BL,0E8
0043AC6B 01F0 ADD EAX,ESI
0043AC6D 8907 MOV DWORD PTR DS:[EDI],EAX
0043AC6F 83C7 05 ADD EDI,5
0043AC72 88D8 MOV AL,BL
0043AC74 ^ E2 D9 LOOPD SHORT 1.0043AC4F
0043AC76 8DBE 00800300 LEA EDI,DWORD PTR DS:[ESI+38000]
0043AC7C 8B07 MOV EAX,DWORD PTR DS:[EDI]
0043AC7E 09C0 OR EAX,EAX
0043AC80 74 45 JE SHORT 1.0043ACC7
0043AC82 8B5F 04 MOV EBX,DWORD PTR DS:[EDI+4]
0043AC85 8D8430 A0F50300 LEA EAX,DWORD PTR DS:[EAX+ESI+3F5A0]
0043AC8C 01F3 ADD EBX,ESI
0043AC8E 50 PUSH EAX
0043AC8F 83C7 08 ADD EDI,8
0043AC92 FF96 DCF50300 CALL DWORD PTR DS:[ESI+3F5DC]
0043AC98 95 XCHG EAX,EBP
0043AC99 8A07 MOV AL,BYTE PTR DS:[EDI]
0043AC9B 47 INC EDI
0043AC9C 08C0 OR AL,AL
0043AC9E ^ 74 DC JE SHORT 1.0043AC7C
0043ACA0 89F9 MOV ECX,EDI
0043ACA2 79 07 JNS SHORT 1.0043ACAB
0043ACA4 0FB707 MOVZX EAX,WORD PTR DS:[EDI]
0043ACA7 47 INC EDI
0043ACA8 50 PUSH EAX
0043ACA9 47 INC EDI
0043ACAA B9 5748F2AE MOV ECX,AEF24857
0043ACAF 55 PUSH EBP
0043ACB0 FF96 E0F50300 CALL DWORD PTR DS:[ESI+3F5E0]
0043ACB6 09C0 OR EAX,EAX
0043ACB8 74 07 JE SHORT 1.0043ACC1
0043ACBA 8903 MOV DWORD PTR DS:[EBX],EAX
0043ACBC 83C3 04 ADD EBX,4
0043ACBF ^ EB D8 JMP SHORT 1.0043AC99
0043ACC1 FF96 F0F50300 CALL DWORD PTR DS:[ESI+3F5F0]
0043ACC7 8BAE E4F50300 MOV EBP,DWORD PTR DS:[ESI+3F5E4]
0043ACCD 8DBE 00F0FFFF LEA EDI,DWORD PTR DS:[ESI-1000]
0043ACD3 BB 00100000 MOV EBX,1000
0043ACD8 50 PUSH EAX
0043ACD9 54 PUSH ESP
0043ACDA 6A 04 PUSH 4
0043ACDC 53 PUSH EBX
0043ACDD 57 PUSH EDI
0043ACDE FFD5 CALL EBP
0043ACE0 8D87 D7010000 LEA EAX,DWORD PTR DS:[EDI+1D7]
0043ACE6 8020 7F AND BYTE PTR DS:[EAX],7F
0043ACE9 8060 28 7F AND BYTE PTR DS:[EAX+28],7F
0043ACED 58 POP EAX
0043ACEE 50 PUSH EAX
0043ACEF 54 PUSH ESP
0043ACF0 50 PUSH EAX
0043ACF1 53 PUSH EBX
0043ACF2 57 PUSH EDI
0043ACF3 FFD5 CALL EBP
0043ACF5 58 POP EAX
0043ACF6 61 POPAD
0043ACF7 8D4424 80 LEA EAX,DWORD PTR SS:[ESP-80]
0043ACFB 6A 00 PUSH 0
0043ACFD 39C4 CMP ESP,EAX
0043ACFF ^ 75 FA JNZ SHORT 1.0043ACFB
0043AD01 83EC 80 SUB ESP,-80
0043AD04 - E9 4379FCFF JMP 1.0040264C
|
能力值:
( LV6,RANK:90 )
|
-
-
5 楼
JMP 1.0040264C
|
能力值:
( LV9,RANK:140 )
|
-
-
6 楼
我也觉得那句跳转后就应该到EP了,可是实际上跳过去了以后dump出来无法运行,那倒确实应该是程序的入口点,因为后来我又下载了那个程序的最新版本,而且是无壳的,入口点确实就跟刚刚那个JMP后面的那句一模一样,但不清楚为什么前面那个dump出来就运行不起呢,求解释,是不是还要修正什么?
|
能力值:
( LV6,RANK:90 )
|
-
-
7 楼
可能是未处理好[Overlay]吧。
|
能力值:
( LV6,RANK:90 )
|
-
-
8 楼
啥东西,甩上来看看,(网盘的不要)
|
能力值:
( LV3,RANK:30 )
|
-
-
9 楼
别弄了,我都解决了,VMP最早期的版本,自己手动修复IAT 已经跑起来了
|