posted by 블르샤이닝 2014. 4. 26. 10:50
728x90

해외에서 접수된 packer mpress로 팩킹된것으로 해외자료를 토대로 unpacking을 시도 중이다. 

 

 

 

 해당파일을 처음에 올리에 올리게되면 다음과 같은 바이너리가 존재한다. 처음 시작부분은 PUSHAD로 시작되며 다음 코드로 CALL이 존재하고 있다.

 

여기서 우리는 COMMAND 명령으로 BP를 건다.

 

bp VirtualProtect

 

해당 BP에 BREAK가 걸리면 다음과 같은 바이너리가 존재하는것을 확인 할 수 있다.

7C801AD4 >  8BFF             MOV     EDI, EDI                         ; NoStealt.0040015F
7C801AD6    55                  PUSH    EBP
7C801AD7    8BEC             MOV     EBP, ESP
7C801AD9    FF75 14          PUSH    DWORD PTR SS:[EBP+14]
7C801ADC    FF75 10         PUSH    DWORD PTR SS:[EBP+10]
7C801ADF    FF75 0C         PUSH    DWORD PTR SS:[EBP+C]
7C801AE2    FF75 08          PUSH    DWORD PTR SS:[EBP+8]
7C801AE5    6A FF            PUSH    -1
7C801AE7    E8 75FFFFFF  CALL    VirtualProtectEx
7C801AEC    5D                POP     EBP                              ; NoStealt.004076F3
7C801AED    C2 1000         RETN    10

 

해당 바이너리에서 RETN 10을 통해 본래 코드로 돌아오게 되면 스크롤을 밑으로 내려가면서 특정 바이너리를 찾아야 한다. 거진 맨 밑 부분의 코드 부분에 다음과 같은 바이너리들이 존재하는것을 확인 할 수 있다.

 

0040774D    E8 00000000         CALL    00407752
00407752    5F                       POP     EDI                              ; NoStealt.0040015F
00407753    81C7 EEFEFFFF   ADD     EDI, -112
00407759    B0 E9                   MOV     AL, 0E9
0040775B    AA                      STOS    BYTE PTR ES:[EDI]
0040775C    B8 1E010000         MOV     EAX, 11E
00407761    AB                      STOS    DWORD PTR ES:[EDI]
00407762    61                       POPAD
00407763  ^ E9 8D9AFFFF       JMP     004011F5

 

해당 바이너리는 OEP로 가기위한 JMP가 존재하며 JMP로 가면 OEP가 존재한다고 되어있는데...!!! 내가 보는건 OEP가 아니였다; 그래서 아직 진행중이다...ㅠㅠ

 

참조 사이트 : http://blog.kaffenews.com/2011/02/09/freeware-packers-mpress-part1/

---------------------------------------------------------------------------------

 

위에 글이 매우 써보니 길다...간단하게 확인하는 법

 

맨 아래 부분에서 이 바이너리를 찾으면 된다. 끝

 

00407762    61                       POPAD
00407763  ^ E9 8D9AFFFF       JMP     004011F5

 

728x90