본문 바로가기

Reversing24

[Reversing.kr] (Reversing] ImagePrc 풀이 프로그램을 실행하면 그림을 그리고 검사를 받는다. Wrong! 탈락한것같다. exe32 파일이니, 올리디버거로 열어보자 Wrong을 사용하는 주소로 가보자 일단 GetDIBits 로 비트맵이미지를 가져온다. 내가그린그림이 될것같다. 그리고 FindResourceA, LoadResource 로 비교할 파일을 가져온다. 비트하나씩 비교해서, 틀리면 바로 Wrong 을 출력하는것같다. 그렇다면, 다운받을때 딸려나온파일은 없는데 어떤파일을 가져오는걸까? PE Viewer 로 열어봤는데, rsrc 섹션에, 리소스데이터가있다. [ IMAGE_RESOURCE_DATA_ENTRY ] 요기에 사이즈와, 시작주소가있다. 비트맵이미지파일이다. 밑으로 쭉 내려보니까 중간에 00 도 있다는걸 확인했다. 정상적인 비트맵이미지파일.. 2020. 3. 25.
[Reversing.kr] (Reversing) Replace 풀이 압축파일을풀고 실행하면, 숫자만 입력할 수 있다. 근데 입력하면 종료된다. EXE32이니까 올리로 분석해보자 입력값 갖고와서 4084D0 에 넣는다. 그리고 0x40466F 호출후 0x404690 으로점프 [ 0x40466F ] 0x40467A 호출, 4084D0 += 0x601605C7 0x404689 호출, 4084D0 + 1 RETN, 408xD0 + 2 [ 0x40467A ] 4084D0 + 3, RETN 후 다시 4084D0 + 4 [ 0x404690 ] 4084D0 ( 0x601605C7 + 4 + 입력값 ) 을 eax 에 옮기고, 0x404689 호출 ( 4084D0 + 1 ) 그리고 0x40466F 함수에 C39000C6 덮어씀 ↓ 함수가 변했다. eax 값에 90 ( NOP ) 을 넣어버.. 2020. 3. 19.
[Reversing.kr] (Reversing) Music Player 풀이 문제를 다운받고, 압축을 풀면 다음과 같이 나온다. 뮤직플레이어는 1분미리듣기가있다는데, 1분을 체크하는 루틴을 뚫으라한다. 노래를 듣고있었는데, 진짜 1분밖에 못듣는다. 역시 EXE32 파일이다. Ollydbg 로 분석을 해보자 함수목록중, 1분이 지났다는 메시지박스를 띄우는 함수를 발견했다. 4개모두 BP 를 걸고, music player 을 실행하고, Attach 해봐야겠다. 노래를 틀고 어탯취 하고, 1분을 넘기면 이렇게 나온다. 이 함수를 한번 분석해봐야겠다. 위에 EAX 와 0xEA60 (60000) 을 비교한다. 60000ms == 60s == 1m 이기때문에, 1분을 검사하는곳인걸 알 수 있다. 1분이 넘어도 들을 수 있게 패치해야겠다. JL 을 JMP 로 바꾸면, 1분이 넘어도 점프하므로.. 2020. 3. 18.
[Reversing.kr] (Reversing) Easy Unpack 풀이 압축을 풀고 보면, OEP ( Original Entry Point ) 를 찾으라한다. DIE 로 열어봐도, 어떻게 Packing 되었는지 모르기때문에 직접 찾아보는수밖에없다. 실행시켜보면, 문자열도 없고, 빈화면만 있다. 이제 Ollydbg 로 OEP 를 찾아보자. 이상한함수에 불시착하였다. 밑으로 내려가며 분석해보자. 이 함수에서는 주소값을 가지고 XOR 하는걸 볼 수 있다. XOR 연산을 으로 언패킹하는것 같다. 언패킹후, 401150 으로 점프하는걸 볼수있다. 여기가 OEP 이다. [ OEP ] 2020. 3. 18.