zj3t

email: euntaejang@gmail.com

Latest Posts

reversing.kr-PEpassword

By 오전 12:25 ,

오랫만의 리버싱 포스팅입니다.
요새 비오비 플젝때매 바빳는데 잠깐 짬내서 reversing.kr의 PEpassword문제와 AutoHotkey문제를 풀었습니다.

모든 풀이는 제외하고 간단히 방법만 포스팅하겠습니다.

먼저 두개의 바이너리가 제공됩니다.
original.exe와 packed.exe파일입니다.


<original.exe>
<packed.exe>

흠...original.exe 파일은 원본파일이고, packed파일은 패킹이 되있어서 password가 맞으면 언패킹이 되는 문제인거 같습니다.

그럼 일단 packed.exe파일을 리버싱을 해서 password를 알아내야할 것 같습니다. original.exe파일을 왜 줬을지도 생각해 봐야하겠구요!!!

혹시나....아이다의 헥스레이가 빛을 바랠 수 있을지 시도해봤습니다.

....??? fail 이라네요.
sp 값에 문제가 있어서 디컴파일이 안된다는데, 그럼 수정을 해봐야겠습니다.


오류가 생긴 부분에 가서 alt+k를 누르면 저런 창이떠서 sp값을 바꿔줄 수가 있습니다. 이 값을 current sp 값과 동일하게 바꾸면 왠만하면 해결 됩니다.



또이러네....ida의 헥스레이 기능은 포기하겠습니다.

근데 일단 저 부분이 뭔가 있을 것 같은 예감이 들었습니다. 왜 저 부분이 문제가 있을까??? 생각해보고 넘어 가도록 하겠습니다.

저 부분(CMP 부분)이 값을 입력하면 멈춰서 CALL 004091D8 부분에서 연산 후 리턴값을 비교하는 부분입니다.

함수안은 요런데....흠....이건 도저히 연산을 코드로 못짤꺼 같아서 일단 CMP 부분후의 ZF를 CMP 부분이 참일 떄로 맞추었습니다.


비교부분!!


첨부터 의심스러웠는데.. 여기서 UPX 언패킹을 upx -d 옵션을 쓰지 않고 한번쯤 디버거로 언패킹을 해보신 경험이 있으신 분은 PUSHAD - POPAD 이어지는 언패킹과정 아실꺼에요!!

하지만 여기서도 PUSHAD - POPAD로 이어지는 구문을 봤었는데 혹시나해서 BP를 걸어보니 CMP 부분을 맞춰주고 난후에 여기서 걸리는 것을 확인했습니다ㅎㅎ



여기서 주석을 참고하시고 코딩을 하시면 됩니다!!!!


You Might Also Like

0 개의 댓글