2009년 11월 11일 수요일

[분기 Crack] abex 1 Crack

제목 : abex #1

목적 : 프로그램 내 분기를 파악하여 변형 시킨다.

파일명 : abexcm1.exe (첨부파일)

내부 로직 :

GetDriverType을 얻어와 해당 값을 감소 시키고

비교 값을 증가 시켜 결과를 나타나게 한다.

GetDriverType결과 값 감소, 감소 (결과값 -2)

VS

비교값 증가, 증가, 증가 (3)

-> 같을 경우 : success

-> 다를 경우 : fail

GetDriverType Return 값은 현재 '3'의 값을 Return 시키고 있다.

결론 적으로 '3' - '2' VS '3' = 같지 않음.

같지 않은 경우 -> Fail 창 보임

성공을 위해서는 Return 값이 '5'가 되어야 함.

 

입력 값 변환 Logic :

1. 분기문을 강제 수정(가장 많이 쓰인 방식 - naver상 검색 결과는 대부분 이 방식)

2. 해당 감소문 NOP 처리(여기서 사용한 방식)

-40101E 주소라인 NOP처리

-401023 주소 라인 NOP처리

사용 Tool : OllyDbg

난이도 : ★☆☆☆☆

-------------------------------------------------------------------------------

Debug 화면 Capture

1. 내부 Logic 점검 (8라인 부터 15번 라인)

2. 해당 API 점검 (GetDriverType) (현재는 '3' Drive Fixed 값이 Return 됨 - 5가 Return 되어야 Success 가능)

3. Return 값 수정이 어려운 관계로 감소 부분을 NOP 처리 시킴(9,13 라인)

                                                                                                                               

4. Success

 

댓글 없음:

댓글 쓰기