2014. 10. 2. 17:04
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

PE 실행 파일 구조



DOS_H

MZ

elfnew -> NT헤더의 시작 주소



NT_H

PE0\0\


file header 

machine -> cpu 32 -> 

..

..

time data stamp 

sizeof optional header 

characteristic 

0x0002 -> exe

0x2000 -> dll



magic -> 몇 bit PE -> 0x10B

   -> 0x20B


ep + imagebase -> 코드가 시작되는 주소 



section alignment -> 메모리 배치 간격

file alignment -> 파일 배치 간격 


1.driver

2.gui

3.cui



[0]export 함수

[1]

[9]




SECTION_H


virtual -> 메모리 상에서 섹션의 영역

...

..


sections...

.text -> code

.data -> 전역변수,문자열

.idata-> import 함수 데이터

edata -> export 함수 데이터

.resource



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




Packing & MUP


exe 실행파일 압축 -> packing 

압축풀기 -> unpacking -> MUP( manual unpacking ) 수동 압축해제 





test.exe -> 일반 압축 알고리듬->  test.zip

-> 용량 작아짐

-> 실행 안 됨



test.exe -> Packer 알고리듬 ->  test.exe

-> 용량이 줄어들기도 하지만 늘어나기도 함

-> 안티디버깅을 위해서 첨가하는 방어 코드때문에 용량이 늘어나기도 함


-> 실행됨 -> 복호화 코드가 먼저 실행되어 복호화한 후 실행 하기 때문





일반압축 123345556 -> 123456


packing 123345556 -> 125486 -> 용량도 줄이지만 암호화도 같이 사용 

    -> 원래 있는 데이터랑 조금다르게 보임 

-> ollydbg




packing을 하는 이유 

-> 파일 용량 압축 

-> 예전부터 있던 기술 -> 네트워크에서도 사용

 -> 악성코드에서 사용 -> 악성코드의 쉽고 빠른 전파를 위해서 

 -> 파일을 보호하는 용도 -> 안티 디버깅 & 리버싱 

-> 디버깅하는 것을 막는 기술 

-> 




packer -> 용량 줄이기 


protector -> 안티 디버깅 

-> 변종된 악성코드 방지





PE view로 패킹여부 확인 

-> packer의 고유한 이름으로 section을 사용하고 있으면 packing된 상태 

-> 해킹대회문제들중에 packing되있는 척하는 문제들이 있음 



packing의 종류는 많지만 원리는 비슷





packing의 원리 


프로그램A(정상적인실행파일exe) -> packer -> 

실행압축된A + 복호화코드 -> 복호화 코드가 먼저 실행됨 -> 복호화된A + 복호화된 코드 



복호화 코드분석하려고 하자 갑자기 꺼짐 -> 안티 디버깅 -> 우회 -> 

-> 패킹하는 원리는 같지만 난이도는 다름






UPX 다운로드 

원본파일을 보호해주지 않음 -> 복사 한후 사용하기 




PEiD.zip


-> 패킹여부 확인 


nothing found



va /rcva -> ollydbg 로 볼때 -> 메모리상




upx -1 putty.exe

upx -d putty.exe


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



MUP


ep-> entry point 

pep -> packed entry point 

oep -> original entry point 



Process


1.oep 찾기

2.dump

3.IAT (import address table) 수정 



pep부터 시작해서 

-> oep를 찾는 것이 핵심 


분석


패킹이 풀려난 상태로 파일로 저장 -> 덤프를 뜬다 







'Reversing' 카테고리의 다른 글

packing  (0) 2014.10.07
packing and unpacking using  (0) 2014.10.06
report  (0) 2014.10.02
PE structure and review  (0) 2014.09.25
summing-up questions  (0) 2014.09.24
Posted by af334