http://tuts4you.com/request.php?122
OllyDBG를 실행하고 처음부터 쭉 훑어보면 Keyfile.dat라는 파일을 읽어들이는 부분이 보인다.
Keyfile.dat라는 파일을 생성하고 실행을하면 정상적인 키파일이 아니라는 메세지가 뜬다.
좀 더 아래에 보면 파일을 읽어들이고 읽어들인 데이터의 길이를 체크하는 부분이 보인다.
키파일은 총 16자의 길이를 가지는 것으로 추측된다.
키파일의 길이가 16자 이상이면 유효한 키인지 확인하는 루틴으로 넘어간다.
1byte씩 읽어들여 (004010C1)
아스키 코드값 47('G')과 일치하는지 확인하고 (004010CB)
일치하는경우 ESI 값을 1 증가시키고 (4010CF)
모든 검사가 끝난 뒤 ESI 값이 8인지 확인을하고 (4010D3)
2가지의 분기점으로 점프한다.
점프한 위치의 코드는 다음과 같다
라이센스 키는 16자 이상의 길이를 가지고 알파벳 'G' 8자를 포함하고 keyfile.dat라는 파일명으로 저장되는 것으로 보인다.
1번 문제는 라이센스 획득과 관련된 문제로 보인다. (검사 루틴 회피 또는 유효한 라이센스 키 생성)
OllyDBG를 실행하고 처음부터 쭉 훑어보면 Keyfile.dat라는 파일을 읽어들이는 부분이 보인다.
Keyfile.dat라는 파일을 생성하고 실행을하면 정상적인 키파일이 아니라는 메세지가 뜬다.
좀 더 아래에 보면 파일을 읽어들이고 읽어들인 데이터의 길이를 체크하는 부분이 보인다.
키파일은 총 16자의 길이를 가지는 것으로 추측된다.
키파일의 길이가 16자 이상이면 유효한 키인지 확인하는 루틴으로 넘어간다.
1byte씩 읽어들여 (004010C1)
아스키 코드값 47('G')과 일치하는지 확인하고 (004010CB)
일치하는경우 ESI 값을 1 증가시키고 (4010CF)
모든 검사가 끝난 뒤 ESI 값이 8인지 확인을하고 (4010D3)
2가지의 분기점으로 점프한다.
점프한 위치의 코드는 다음과 같다
라이센스 키는 16자 이상의 길이를 가지고 알파벳 'G' 8자를 포함하고 keyfile.dat라는 파일명으로 저장되는 것으로 보인다.
반응형