본문 바로가기

Reversing/Reversing.kr5

[Reversing.kr] Music Player 문제 음악 파일을 열고 재생시킬 수 있는 프로그램이다. 다운로드할 때 같이 딸려온 ReadMe파일을 보면 1분 미리듣기만 제공하는 프로그램이며 1분 재생을 검사하는 루틴을 다 우회하면 플래그를 획득할 수 있다고 합니다. 시작 아무 음악파일 실행시킨 결과 1분만 재생되고 그 이후부터는 해당 메시지 박스가 뜹니다. 그러면 일단 디버깅툴에서 문자열 참조를 통해 해당 박스를 생성하는 부분을 찾아주겠습니다. 위 코드가 메세지 박스를 띄워주는 코드입니다. 1분 미리 듣기를 '검사'하는 것이니까 분기문이 있을 거라 생각하고 위로 올라가 보면 [ jl music_player.4045FE ] 분기문이 보인다. 스페이스바를 눌러 jl을 jmp로 패치하여 해당 분기문을 검사 없이 그냥 넘어가버리도록 만들어주자. 파일을 수정.. 2023. 6. 24.
[Reversing.kr] ImagePrc 문제 이렇게 낙서가 가능한 조그마한 창이 나온다. Check를 누르면 Wrong이라고 나오면서 종료가 된다. 그렇다면 Wrong이 나오지 않는 그림을 찾아야하는것 같다. 근데 비트단위일텐데 그게 가능할까...? 일단 해보자 시작 x32 dbg를 이용해서 실행시켜보면 일단 EntryPoint는 현재 이 부분이다. 이제 아까 발견했던 Wrong를 찾기위해 문자열 참조를 해보자 디버깅을 해보면서 주석을 좀 써놨는데 &MessageBoxA를 통해서 Wrong메세지 박스를 띄우므로 이전에 정답을 검사하는 부분이 있을것이라고 생각하였다. 때문에 위로 올려보면 GetDIBits라는 함수가 실행되는것이 보인다. 이 함수가 무었인지 하니.. 얾.... 대충 해석해보면 지정된 호환 비트맵의 비트를 검색하고 지정된 형식을 .. 2023. 6. 23.
[Reversing.kr] Replace 문제 개요 특정 값을 입력해서 Wrong이 안나오게 바꿔야 하는것 같다. x32 dbg사용 우선 진입점이다. 여기서 살짝만 위로 올려보거나 아님 문자열 찾기에 들어가보면 바로 "Correct"를 찾을 수 있다. "Correct"위를 보면 GetDlgItemInt함수가 보인다. 맨 위의 DialogBoxParamA함수를 통해 받은 값을 저장하는 함수이다. 중단점을 설정하고 F9를 통해서 실행시켜보자. 테스트 값으로 123(Hex : 7B)를 입력해 보았다. eax에 입력값이 저장되었다. 중단점을 잡은 함수를 통해서 입력값을 16진수로 바꿔 eax에 저장하는함수 일 것이다. 이후 eax의 값을 4084D0에 저장. replace.40466F함수로 들어가보자 들어가서도 바로 replace.40467A함수를 실.. 2023. 6. 22.
[Reversing.kr] Easy Keygen ※이번 프로그램은 cmd창으로하면 맞았던 틀렸던 바로 꺼집니다 파워쉘로 실행해보시는걸 추천드립니다.※ 아무거나 막 넣어봤는데 역시나 틀렸다고 나온다. 그래도 Easy Crack처럼 뭔가 메세지가 나왔으니 이 부분을 문자열 검색으로 찾아보자. 제일 먼저나오는 Input Name을 찾았다. 이 근처를 잘 보면 call 명령어가 두개가 나온다. 하나는 print문이고 하나는 입력값을 받는 scanf함수이다. 입력을 실행한 직후 edi에 esp+18의 값을 집어넣고있다. esp+18의 값을 덤프창에서 따라가보자. 입력한 값이 잘 들어와있다. 이후 멍때리며 계속 F8을 누르다보니 함수를 호출한번 호출하고 나니 메모리 덤프에서 뭔가 변화가 생겼다. 추가로 좌측의 화살표를 보니 화살표가 위로 올라가는 것을 보아 하니.. 2023. 6. 7.
[Reversing.kr] Easy Crack 분류는 x64디버거지만 x32를 사용했다ㅎㅎ 일단 실행시켜보니 작은 박스가 하나 뜨면서 아무거나 입력해보니 "Incorrect Password"메세지가 뜬다. 알맞은 패스워드를 찾아야하나보다. 일단 프로그램의 시작점을 찾았다. 00401188에 위치해 있다. 일단 프로그램을 실행해 봤을때 알 수 있는 점은 1. 다이얼로그 박스가 사용된다. 2. 올바른 비밀 번호를 입력해야한다 --> 비밀번호 검사구간이 있을것이다. 3. 틀린 패스워드를 입력시 "Incorrect Password"메세지가 뜬다. 정도가 있겠다. 문자열 검색을 통해서 "Incorrect Password"가 사용되는 곳을 찾아주면 거기가 비밀번호를 검사하는 구간이 아닐까? 바로 찾아봤다. 찾았다. 밑에 메세지 박스도 호출하는 call명령어도 .. 2023. 6. 6.