본문 바로가기

Reversing5

패킹&UPX 패킹(디버거로 tool 없이 언패킹) 패킹 실행 압축이라고 표현할 수 있다. 실행 파일 내부에 있는 코드를 압축하여 평소에는 코드를 압축한 상태로 저장하고 있다가 파일을 실행하면 메모리에서 압축을 해제 시킨 후 파일을 실행시키는 기술. 장점 1. 파일의 크기를 줄일 수 있다.(전 후 3~4배의 차이가 있다) 2. 크래커의 리버싱으로부터 보호할 수 있다. upx 패킹 실습 1. upx 툴 다운로드 2. 패킹하기 upx -o 패킹 후 만들어질 파일 이름 패킹할 파일 => notepad(after).exe 파일을 생성해 줬다. 원본 파일과 패킹 후 파일에 용량 크기 차이가 있는 것을 확인 패킹 전과 후 구조에도 차이를 보인다. x32dbg로 패킹 후의 파일을 열어보자 => ctrl+f8을 누르면 자동으로 step over 트레이싱이 일어난다. 이.. 2020. 11. 3.
Reversing 2주차 - PE 헤더, wow64 fs redirection, 어셈블리어 c코드로 반환 보호되어 있는 글 입니다. 2020. 9. 19.
Wargame 'Dreamhack' rev-0 보호되어 있는 글 입니다. 2020. 9. 12.
Reversing 1주차 - 함수 호출 규약 (32bit / 64bit) + 코드 C로 변환 함수 호출 규약이란? - 함수를 호출할 때 파라미터를 어떤 식으로 전달하는가에 대한 약속 - 함수 호출 후에 ESP(스택 포인터)를 어떻게 정리하는지에 대한 약속 ​ * Caller : 호출자 / 함수를 호출한 대상 * Callee : 피호출자 / 호출을 당한 함수 ​ 만약, main() 함수에서 printf() 함수를 호출했다면 Caller는 main(), Callee는 printf()가 된다. (1) cdecl 방식 주로 C언어에서 사용되는 방식이며 Caller에서 스택을 정리하는 특징을 가짐 _cdecl 의 가장 큰 특징은 메인 함수에서 함수를 call 하고 add 등으로 스택을 다시 채워줌으로써 보정하는 특징을 가지고 있는데 이 보정하는 스택의 크기로 파라미터의 개수까지 알 수 있음 ex) 004.. 2020. 9. 11.