리버싱 문제(38)
-
리버스엔지니어링 문제 Advance 12
http://codeengn.com/challenges/advance/12 Problem : Find the Username when the Serial of 11E0-FBB4-490D (This problem has multiple answers, so post your answer on the messageboard in a private thread and we will verify it for you.) Note : "Registered Successfully" must pop up for the serial. 윈7 64비트 환경에서 쭉 하고 있었는데 이번 파일은 ollydbg 2.01로 열리지 않았습니다.ollydbg is unable to step over the command at... 메시..
2015.07.12 -
리버스엔지니어링 문제 Advance 11
http://codeengn.com/challenges/advance/11 Problem : Find the Name when the Serial is 94E7DB1B. This problem has multiple solutions so post any one solution on the message board in a private thread and we will verify it for you. Note : "Serial Accepted" must pop up for the serial. 분기점 위주로 살펴보면 해당 CALL에서 Serial을 생성한다는 것을 알 수 있습니다. 내부에는 긴 루프가 있고 빠르게 디버깅을 돌려보면 00402439위치에 특정 값들을 만들어 나간다는 것을 확인 할 수 있..
2015.05.15 -
리버스엔지니어링 문제 Advance 10
http://codeengn.com/challenges/advance/10 Problem : Find the Name when the Serial is WWWCCCJJJRRR Hint 1 : Name is 4 letters Hint 2 : Among the multiple solutions, find the one that comes first in alphabnumeric order. 성공, 실패 문자열을 찾아보면 분기점을 발견할 수 있습니다. EBP-0A5와 0의 값을 비교함으로서 분기가 되는데 EBP-0A5는 바로 위 함수가 아니라여기서 마지막으로 건드리게 됩니다. 그럼 바로 위의 CALL을 살펴보겠습니다.리턴하는 부분입니다. EAX의 값을 거슬러 올라가다 보면 CMP EAX, 5를 거친 후 004..
2015.05.03 -
리버스엔지니어링 문제 Advance 9
http://codeengn.com/challenges/advance/09 Problem : What the Password 메인 루트에서 010713FF가 이름과 패스워드 모두 검사하는 부분입니다. 이 부분을 보도록합니다.이름이랑 패스워드를 놓고 진행하다보면 아래와 같은 부분이 있습니다. 1234가 입력한 이름입니다.그리고 위와 같은 부분을 통해 Username은 DonaldDuck이라는 것을 추측할 수 있습니다. 여기에서 EAX의 값을 보면 입력해준 패스워드라는 것을 알 수 있습니다. ECX 위치의 값은 10진수로 8921743인데 이 값이 패스워드라고 추측할 수 있습니다. 하지만 DonaldDuck, 8921743을 입력해주면 아니라는 메시지만 뜹니다. 저기 TEST BL, BL 아래에 JZ가 있는..
2015.05.02 -
리버스엔지니어링 문제 Advance 8
http://codeengn.com/challenges/advance/08 Problem : What is Name when the Key is 5D88-53B4-52A87D27-1D0D-5B09 Hint : The name is 2 letters and it could be either alphabetic or numeric. Verify your solution with the MD5 value of the Name(in CAPITALS). 문제에선 2글자라고 했는데 3글자 이상을 입력하지 않으면 Please Enter... 메시지가 뜹니다. 이 부분을 바꿔줍니다. 그리고 여기 CALL 부분을 지나면 key가 생성되므로 이부분을 중점적으로 봐줍니다. 위가 입력값으로 Key를 만드는 부분이고 아래가 k..
2015.05.01 -
리버스엔지니어링 문제 Advance 7
http://codeengn.com/challenges/advance/07Problem : When the Name is CodeEngn, the Serial is 28BF522F-A5BE61D1-XXXXXXXX. Find XXXXXXXX 이 문제는 x64와 x86에서의 답이 다릅니다. 문제에 있는 앞의 두 Serial값은 32에서의 값으로 64에서는 2B90746C-85690F59-XXXXXXXX로 놓고 풀어야합니다. Ollydbg로 열어보려했지만 열리지 않아 팩 상태를 봤는데 별다른 팩도 되어있지 않습니다. C#으로 되어있다고 하니 dotPeek을 써줍니다.코드가 깔끔하게 복원됩니다. 성공 메시지를 띄워주는 부분을 찾고 로직을 분석합니다. 눈으로 따라가기 어려우니 솔루션으로 export해서 디버깅해줍..
2015.04.27