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

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

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

 


오늘은 c드라이브 이름이 Certlab일경우 시리얼이 생설될때 Certlab이 어떻게 시리얼로 추출되는지 알아보는 문제네요.

 

일단 시리엄 넘버를 써보았습니다.

역시나 시리얼이 틀렸다고 나오네요.

그럼 분석을 해서 시리얼 넘버를 추출해보겠습니다. 

일단 시작전 c드라이브 이름이 Certlab일때 라고 가정했으니 c드라이브 이름먼저 바꿔보겠습니다.

이름바꾸는 것은 여러분들 다 아실꺼라 믿습니다....(믿고요..)

일단 화면을 키면 처음에는 이런 아무런 단서를 주지않는 화면이 뜨네요.

그래서 일단


 

문자열을 분석해보았습니다. 문자열에는 짧게 5가지 밖에 없네요.

의미심장한 위에 문자들과 에러와 성공표시

일단 저는 성공표시가 아닌 의미심장한 문자의 근처로 가보았습니다.

왠지 시리얼의 오오라가 확확 풍겨서..

일단 처음 문자인 4562-ABEX근처에 브레이킹포인트를 걸고 4562-ABEX까지 왔습니다.

일단 문자열에는 4562-ABEX를 스택에 푸쉬시키네요.

근데 옆에는 보면 Stringtoadd라는 문자가 있습니다.

영어를 못하는 저라도.. 문자를 추가 시킨다 라는 것을 알겠네요.

 

그리고 나서 밑으로 내려오니 4562-ABEX를 제가 아까 입력한 C드라이브에 문자열을 추가시킵니다.

그리고 나서는 CALL로 뭐가있는지는 모르겠지만 무언가를 불러오고는 EDX에 2를 추가시키네요

EDX -DX -DL이런 순서는 아실꺼라 믿어요 !

 

 

그리고 나서 보니  아까위에서본 20225C라는 주소에 1을 추가시키고

밑에도 차례로 추가시킵니다.

그리고 나서는 DL을 하나씩빼고 다시DL이 0이 될때까지 2번 추가시키네요.(C언어에서 FOR문이라고 생각하면되요)

저기 추가시키는 첫번째 주소를 보면 40225C이게 보이네요 저문제를 잡고 몇번 분석해보셨다면 위에 그주소가 추가시키는 구문이 나옵니다.



 

그리고 1씩추가시키다 내려와보니 Certlab은 2씩 추가되어서 Egtvlab4562-ABEX로 바뀌어져 있네요.

추가시키는 구문이 4개밖에 없으니 아ㅍ에서 4개만 추가시켰네요 C에서 2번을 가면 E로 가는거보니 맞는것같네요.

그리고 내려와보니 또 Stringtoadd가있네요 L2C-5781로요.

이것도 위에서 보다싶이 비슷한 구문같네요.

그리고 나서 L2C-5781이 위에서처럼 어디에 추가될지만 알면 답이 뾰로롱 하고 나오겠지요?

밑에 구문은 제가쓴 시리얼구문과 위에서 쓴시리얼구문이있네요.

그밑에는 비교하고 넘어가는 CMP구문이 있겠지요.



 

그리고나서 시리얼을 맞추고 이렇게 답을써넣으니 성공 문자열 보았습니다.

  


728x90