리버스엔지니어링 툴 : x64dbg, IDA FREE
더보기
문제를 확인해보자.
특정 값을 넣었을때 입력 값과 같으면 correct, 다르면 wrong을 출력하는 프로그램이다.
찾았다 Cpmpar3_the_strIng, input, %256, Correct등 많은 문자열이 보인다.
딱 보니 Correct, wrong부분을 봐야할 것 같은 느낌이 든다.
Correct 클릭해서 들어가보자.
들어왔더니
00007FF7FE851100 | 40:57 | push rdi |
00007FF7FE851102 | 48:81EC 30010000 | sub rsp,130 |
00007FF7FE851109 | 48:8B05 F81E0000 | mov rax,qword ptr ds:[7FF7FE853008] |
00007FF7FE851110 | 48:33C4 | xor rax,rsp |
...
...
00007FF7FE851175 | 48:8B8C24 20010000 | mov rcx,qword ptr ss:[rsp+120] |
00007FF7FE85117D | 48:33CC | xor rcx,rsp |
00007FF7FE851180 | E8 5B010000 | call chall0.7FF7FE8512E0 |
00007FF7FE851185 | 48:81C4 30010000 | add rsp,130 |
00007FF7FE85118C | 5F | pop rdi |
00007FF7FE85118D | C3 | ret |
이렇게 push rdi로 스택 공간을 열어주고 pop으로 닫아주는 것을 볼 수 있었기 떄문에 Main함수 부분이라고 할 수 있다.
test eax, eax로 비교해서 correct, wrong를 계산하는 부분인 것 같다. 바로 위 call shcall0에서 확인하는 것 같다.
해당 함수를 따라 들어가보겠습니다. 따라갔더니 Flag 값으로 보이는 문자열이 눈에 띈다.
이 값을 넣어서 확인해보면 성공 뜰 것이다.
'해킹&보안 > 악성코드 및 치트' 카테고리의 다른 글
Reverse Engineering 5 (0) | 2024.05.01 |
---|---|
Reverse Engineering 4 (1) | 2024.03.27 |
Reverse Engineering 3 (1) | 2024.03.25 |
Reverse Engineering 2 (0) | 2024.03.25 |
Reverse Engineering 1 (1) | 2024.03.25 |