해킹/심플즈 크랙미(리버싱)

simples crack me - 1 [심플즈 크랙미]

RBWSN 2015. 6. 15. 12:36
728x90



 


 

음 API의 이름만 알면 되는건가..?

일단 API가 뭔지는 알아야겠지요?

 

일단 실행을 시키니 저런식으로 나오네요

 

Api 란

API는 Application Programming Interface의 약자입니다. 프로그램 작성을 위한 함수, 구조체, 타입 등의 집합체를 API라고 하며 여러 종류의 API가 있습니다. 이 사이트에서 다루는 API는 정확하게 32비트 윈도우즈 API입니다.
API는 윈도우즈 프로그래밍의 가장 기본이라 할 수 있습니다. 저수준이라 어렵지만 강력하고도 작은 프로그램을 만들기 위해 아직도 많이 사용되고 있습니다. API가 중요한 가장 큰 이유는 운영체제를 이해하기 위해 반드시 공부해야 할 과목이라는 점입니다. MFC나 델파이, 비주얼 베이직 등의 고급 언어로 프로그램을 쉽게 쉽게 짤 수도 있지만 근본이 되는 API를 모르고서는 아무리 고급 툴을 사용하더라도 좋은 프로그램을 작성하기는 어렵습니다. API 자체가 개발툴로서 훌륭한 것은 아니지만 윈도우즈 프로그래밍의 기초가 되는 것만은 분명합니다. API를 통해 운영체제의 동작 방식을 이해하면 프로그래머로서 진정한 자유를 누릴 수 있습니다.



 

일단 올리로 파일을 열어 보았습니다.

위에서 예를 들었다 싶이 메세지박스가 API라고 합니다 메세지박스를 찾아보면 빨간색으로 되어있네요.

그밑에 빨간색이 하나 더있습니다. 바로 저게 우리가 찾던 API라는것 느낄수 있게 해주네요.

근데 API는 찾았습니다.. 하지만 저는 OK라는 문자열을 보고싶습니다.

그래서 시작하겠습니다. 뭐를? 크랙을

 

 

 

 

일단 우리가 찾던 API인 GetDriveType에 대한 설명입니다.

올리에서 help - open api 누르시면 찾을수 있습니다. api함수는 안그러면 구글링도 자료가 엄청 많습니다.

 

 

 

일단 저는 많은 분들이 리턴값을 5로 바꾸라고 하시더라고요. 네 그게 여기서 원하는 크랙 같지만..

그건 인터넷에 치면 점프구문으로 넘기라 리턴값을 5로 바꿔라 하는 분들이 많으므로 저는 다르게 어셈값을 바꿔보았습니다.

위에서 한칸씩 내려오다 보시면

ESI가 2 EAX가 1로 내려와서 EAX와 ESI랑 비교하는 구문이 나옵니다. (INC는 더하기 DEC는 빼기라고 생각하시면 편합니다.)

CMPEAX,ESI란 EAX와 ESI을 비교해서 같으면 성공쪽으로 점프 틀리면 실패쪽으로 점프하는 구문입니다.

(만약에 실패 성공이 거꿀로 되있었더라면 반대로 값이 나와요)

 

 


저는 ESI를 1더하는 구문을 NOP로 바꿔 없애버리고 EAX와 같게 1로 맞추어 주었습니다.

OK란 단어가 보이네요.

 


728x90