728x90
Analyze
- 64bit ELF
assembly code
하이라이팅한 부분이 현재 프로그램을 실행시켰을 때, 프로그램의 흐름대로 실행되는 코드들이다.
하지만 우리가 원하는 부분은
이 부분으로, <main+19> 에서의 jne 0x40058d에 의해 실행되지 않고 지나간다.
그렇다면 어떻게 jne에서 점프되지 않고 그 아래 코드인 '0x400544~0x400586'을 실행시킬 수 있을까? 답은 jne 의 바로 위 조건을 확인해야한다.
<main+15> 에서 cmp [rbp-0x4], 0으로 rbp-0x4의 값이 0인지 비교하고 있다. 이 때, rbp-0x4의 값이 0이 되어야 jne에서 점프하지 않을 수 있다.
따라서, <main+15>에 breakpoint를 걸고 rbp-0x4의 값을 0으로 바꿔 실행한다.
SMALL
'Reversing > Reversing (Wargame)' 카테고리의 다른 글
[CodeEngn] BASIC RCE L03 (0) | 2021.05.04 |
---|---|
[CodeEngn] BASIC RCE L02 (0) | 2021.05.04 |
[CodeEngn] BASIC RCE L01 (0) | 2021.05.04 |
[HackCTF] Reversing Me (0) | 2021.05.03 |
[HackCTF] welcome_rev (0) | 2021.05.03 |