먼저 실행을 해보니 확인을 누르면 숫자가 올라가면서 특정 수에서 끝난다.


정답은 나왔지만 분석을 해보았다.



먼저 안티디버깅이 되어있어 eax 0으로 바꿔주며 풀었다.



이부분에서 숫자를 카운트 해준다 eax에는 원래 숫자가 카운트 되는 숫자가 있고 edi에는 1이 있다. 즉 하나씩 올려준다.



그리고 위에서 올린 값을 어느 변수(임시적으로 비교하기 위해 사용하는 변수로 생각됨)에 저장하여



어떤 헥스값과 비교한다. 조건에 부합하면 계속 진행되고 특정값 보다 커지면 프로그램이 종료된다.


어거지로 디버깅하며 카운트 되는 변수의 위치와 비교하는 부분을 찾았지만 프로그램 전체에 대한 루틴 분석은 아직 안된다


아는형이 일병 때 못 풀고 병장 때 다시 풀었다 했는데 나도 1년 뒤에 다시 봐야겠다


'문제 > CodeEngn_Advance' 카테고리의 다른 글

CodeEngn Advance 08  (0) 2017.01.10
CodeEngn Advance 07  (0) 2017.01.10
CodeEngn Advance 05  (0) 2017.01.10
CodeEngn Advance 04  (0) 2017.01.10
CodeEngn Advance 03  (0) 2017.01.10

+ Recent posts