abex 3

Abex Crack me #2.2

이전 차시에 했던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구..

Write-up/Wargame 2020.05.01

Abex Crack me #2.1

기본적으로 한 프로그램이 주어진다 간단히 프로그램의 작동이 어떤지 알아보기 위해서 Name과 Serial을 채워 넣었다 check버튼을 누르자 마자 Serial이 틀렸다고 나온다 하지만 그 어떤 값을 넣어도 다 틀리다고 나오니까 여기서 시간낭비는 하지 말자 오늘도 x64dbg로 이 프로그램을 다 파헤쳐보겠다. 오늘은 거의 모든 인터페이스를 다 볼 거다 F9를 누르면 함수의 시작주소가 401238로 나온다 우선 아까 우리가 봤던 Error창에 뜨던 문자열중 하나인 Wrong을 찾아보자 어셈블리코드 창에서 마우스 오른쪽 >> 다음을 찾기 >> 모든 모듈 >> 문자열 참조를 누르면 이런 창이 뜨는데 검색창에 wrong을 쓰면 된다 더블클릭을 하면 그 주소 어셈블리 코드로 바로 간다 이번에도 빨간 박스 안에 j..

Write-up/Wargame 2020.05.01

Abex Crack me #1

리버스 엔지니어링을 본격적으로 공부하기 위해 가장 난이도가 낮은 문제들부터 풀기로 했다. 먼저 문제의 실행파일을 실행 했을 때의 결과이다 HD를 CD-Rom으로 인식하게 해달라고 한다 이후에 확인을 누르면 에러가 뜨면서 CD-ROM이 아니라고 말한다 나는 이 실행파일을 x64dbg로 확인해 볼 것이다 우선 파일을 디버거프로그램에 올리면 이렇게 뜬다 내가 문제를 풀면서 이용했던 정보가 있는 부분은 저 빨간 박스이다. F9를 누르면 프로그램이 실행이 된다. EntryPoint부분을 보면 "Make me think your HD is a CD-Rom"이라는 문구가 써져있다 이게 앞에서 제일 처음 봤던 이 사진의 문구이다. 따라서 이 프로그램은 1번줄을 보여준 뒤 확인버튼을 누르면 2번이나 3번줄의 문구를 출력..

Write-up/Wargame 2020.04.30