Write-up/Wargame

Abex Crack me #2.2

Dalseung 2020. 5. 1. 20:08

 

이전 차시에 했던Abex Crackme #2 문제를 다른 방법으로 풀어보았다

이렇게 떴었는데

 

이번에는 조건분기문을 고쳐서 프로그램을 패치까지 해보겠다.

먼저 정상적으로 작동할 때 나오는 문자열을 찾아 브레이크 포인트를 걸어둔다

그 이후에 je 분기문을 바꾸면 된다

je는 (jump if equal)로써 값이 같을경우에 해당하는 데 ZF(zero Flag)가 1일때 동작한다

 

그전에 현재의 흐름을 알아야 하는데 계속 Wrong Error가 뜨는 이유가 TEST ax,ax에서 연산 후 비교를 했을 때(Test는 AND 연산을 한다. 해서 결과가 0이 나오면 ZF=1이 됌)

 

두 값이 같아서 0으로 결과값이 도출되어  je분기문의 원리에따라 주소가 403408로 이동이 되고 Error가 뜨는 것이다

그러므로 JE구문을 JNE로 바꾸면 된다 

 

 

그 후에 Ctrl + P를 눌러 파일 패치를 한다

그러면 어떤 동작을 하든 정상실행이 되는 Crack me 패치판 프로그램이 만들어진다

 

바뀐 프로그램이다

abex_crack2-1.exe
0.02MB

 clear

 

'Write-up > Wargame' 카테고리의 다른 글

[Dreamhack wargame] Quiz: x86 Assembly 1 풀이  (2) 2022.09.25
Abex's Crackme #4  (1) 2021.04.27
Abex Crackme #3  (1) 2020.09.19
Abex Crack me #2.1  (0) 2020.05.01
Abex Crack me #1  (0) 2020.04.30