Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

kaka09

code engn basic 18 본문

Reversing

code engn basic 18

kaka09 2017. 8. 3. 01:37

[사진]1-1


저번 문제는 안그러더니 다시 CodeEngn 일때의 키값을 구하라는 문제다. 기존과정이랑 똑같이 PEID를 통해 패킹여부를 확인해 보았다.




[사진]1-2


확인결과 EXE SHELD 라는게 적용되어 있는거 같다.  그대로 직역하면 실행방패.. 뭔가 DEP와 연관있는 개념인가?? 검색 해봐도 별다른 정보를 얻을순 없었다. 해당 용어는 차후에 알아 보도록 하고 문제풀이에 들어가 보겠다. 일단 패킹이 된것 같진 않아보여서 올리 디버거로 바로 실행해 보았다.



[사진]1-3


다행히 올리 디버거로 정상 실행이 되는것을 확인이 되었다. 그러면 이제 부터 손쉽게 문제풀이가 가능하다. 여기까지 왔으면 이제 name이 주어진 상황에서는 공통요소가 보일것이다..

인자입력->키 생성->비교->분기


대충 이러한 과정을 거친다고 할 수 있다. 분기문에서 성공시의 메세지와 실패시의 메세지가 나타나는게 일반적이므로 문자열 검색을 통해 메세지 부분을 잘 찾아보면 쉽게 클리어 할 수 있다.



[사진]1-4


성공 메세지를 찾았다. 해당 영역으로 이동하여 어셈코드를 살펴보자



[사진]1-5



어셈코드를 살펴보면 strcmp를 통해 키값 일치 여부를 확인하는것을 알 수 있다. 여기서 String1은 우리가 입력한 1234이고 String2는 name이 CodeEngn일때의 키값으로 추정된다. 따라서 키값을 입력할때 String2의 값을 입력하면 되겠다.










 




'Reversing' 카테고리의 다른 글

Reversing.kr Easy_Keygen Write Up  (0) 2017.11.01
Reversing.kr Easy_CrackMe Write Up  (0) 2017.11.01
code engn basic 17  (0) 2017.08.02
code engn basic 16  (0) 2017.08.02
code engn basic 15  (0) 2017.08.02