[SUA] 리버싱 스터디 [Abex's Crackme] #1,2 ~7
2020. 5. 3. 13:03ㆍ정보보안/리버싱
728x90
Abex's Crackme #1
1. JMP 주소 수정
우리가 원하는 것은 HD가 CD-ROM이라고 인식하게 하는 Msg를 띄우는 것이다.
따라서 해당 메시지가 있는 0x0040103D로 Jump 시킨다.
2. CMP EAX, ESI
CMP 아래에 JE 문이 있으므로, EAX와 ESI의 값이 같도록 바꿔준다.
Abex's Crackme #2
1. EAX 조작
JE 로 EAX가 0이면 틀렷다는 메시지박스로 branch 되길래 EAX를 조작하였다.
2. EAX와 EDX에 해당되는 값 일치 시키기
처음에 엄청 헤맸는데 교재에서 vbaVarTsrEq가 입력 비밀번호와 원래 Serial 번호를 비교하는 함수일거라고 추측하면
바로 그 위에서 입력값을 받는 부분이 있을 것이라고 했다.
따라서 EDX와 EAX가 각각 그 값에 해당하고 EAX와 ECX의 메모리 번지를 찾아서 해당 메모리번지에 쓰여진 값을 보니 UNICODE로 Serial 넘버가 존재한다(고 교재에서 말하더라)
교재에서, Name에 다른 값을 주었을 때는 Serial이 변한다고 하였다.
그래서 Name 문자열 기반으로 Serial을 그때그때 생성한다고 추측하였(다고한다. VB는 Event 발생시 함수가 돈다더라) Serial 생성 알고리즘 함수를 찾기로 하였다.
'정보보안 > 리버싱' 카테고리의 다른 글
[SUA] PE파일 (2) | 2020.05.04 |
---|---|
Handray, DeCompiling 사이트 godbolt.org (0) | 2020.05.03 |
Process Explorer - 윈도우 프로세스 관리 도구 (0) | 2020.05.03 |
[SUA] 리버싱 스터디 - IA-32 Register & Stack Frame & 함수호출규약 (0) | 2020.05.03 |
[SUA] 리버싱 스터디 - 리버싱 정의 및 Ollydebugger 환경 설명 (0) | 2020.05.03 |