본문 바로가기

해킹&보안/악성코드 및 치트

Chall #0

리버스엔지니어링 툴 : 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