리버싱 기초 - Lena 듀토리얼 01번 풀이

악성코드 분석

2018. 9. 1. 17:59

반응형
리버싱 환경 - 윈도우 10, i7-7700

Lena 듀토리얼 01번 파일

reverseMe.exe


비번: tuts4you


우선 파일을 실행해보면


요런게 뜬다.


대충 해석하면 이 프로그램을 더 사용하려면 라이센스를 구입하라는 것 같다.


x64 dbg로 열어주고 코드를 읽다보면


CreateFileA가 눈에 띈다.


CreateFileA이란?

https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-createfilea



CreateFileA에 어떤 인자들이 마구마구 전달이 되는데, 뭔지는 모르니 일단

CreateFileA에 브레이크 포인트를 걸어준뒤 프로그램을 실행해줍니다.



여기서 CreateFileA는 파일을 생성한다는 뜻이 아니라, 파일이 있다면 열겠다는 뜻입니다.


F8을 눌러주면 eax에 FFFFFFFF가 전달됩니다. ( -1이랑 같다.)


그 뒤 F8을 눌러주면 jne reverseme.40109A 가 있는데 ZF를 0으로 바꿔주면 점프해서 갈 수 있습니다.



쭉 가다보면 ReadFile이 있는데 F8을 눌러주면 eax값이 0으로 바뀝니다.

그리고 밑에 test 코드에서 eax와 eax를 서로 비교해서 0인지 확인합니다.

eax값이 0이기 때문에 ZF는 1이 됩니다.


밑 코드에 jne를 따라가야 해서 ZF를 0으로 변경해주고 F8을 눌러줍니다.



이제 여기 코드를 해석해서 풀어야 합니다.


다른분들 풀이를 보면 코드를 해석하시고 keyfile을 만드셔서 풀어내시던데

저는 그런건 못하고.. 그냥 디버거 기능으로 풀었습니다.

해당 부분에 우클릭 -> 여기에 새로운 원점 생성을 눌러주고 F8을 누르시면..



요기에 도착하게 됩니다. F8 쭉쭉 눌러주면



끝!



제가 풀어보기론 Lena 듀토리얼은 3가지 방법으로 풀 수 있더군요.


1. 디버거 기능을 활용해서 원점 생성하기

2. 디버거 기능을 활용해서 해당 점프 코드를 프로그램 맨위에 넣기

3. 키 파일 생성하기


여러 방법이 있으니 모두 해보면 좋을 것 같네요 :)

반응형

'악성코드 분석' 카테고리의 다른 글

[리버싱] crackme0x00a WRITE UP  (0) 2018.10.27
1.5 리버싱 기초 - C 문법과 어셈블리어  (2) 2018.08.25
1. 리버싱 기초(2)  (3) 2018.08.25
1. 리버싱 기초  (2) 2018.08.19