코드엔진 (4) 썸네일형 리스트형 [코드엔진] basic 7 풀이 7번 문제 c드라이브 문제 설명대로 C 드라이브의 이름을 CodeEngn 으로 변경하였다. 이제 실행해본다. 시리얼값을 요구. 역시 아님. 문자열 들 프로그램의 문자열들을 찾아보니 시리얼값 처럼 보이는게 많이나온다. 일단 성공 문자열로 이동해보았다. 성공 문자열로 이동하여 쭉 돌려보니 처음에 L2C-5781 이라는 문자열을 쭉비교해보고 그다음 함수에서 EqfgEngn4562-ABEX 라는 문자열을 쭉비교하는 모습이 보였다. L2C-5781EqfgEngn4562-ABEX 그래서 그둘을 붙혀서 입력해보니 성공 처음에는 c드라이브 이름을 변경하지않고 그냥 실행시켰더니 키값이 L2C-5781 4562-ABEX 이였다. 즉 c드라이브이름을 변경하여 나온 CodeEngn 은 EqfgEngn 으.. [코드엔진] basic 6 풀이 친철하게 언패킹하라고 알려주네요. UPX입니다 언패킹후 확인. 이제 실행시켜봅시다. 저 문자열을 디버거로 찾아봅시다. ....? AD46DFS547?? ...........????????찾았다 문제는 OEP를 같이 입력하라하였으니 OEP는 프로그램이 시작되는 위치를 말하는거입니다. 이미 언패킹을했기때문에 그냥 실행시켜서 보면되죠 OEP 이제 정답은 00401360AD46DFS547 입니다. 끝끝. [코드엔진] basic 5 풀이 5번 문제 일단 실행. 일단 입력. 당연하게 디버거로 올려봅시다. ????? 아까본 문자열이 없다?? 혹시 패킹되어있는지 확인해봅시다. 짜잔 UPX로 패킹되어있다. 풀어봅시다. 언패킹 언패킹하여 풀어낸 모습. 이제 디버거에 올려서 메시지로 보았던 문자열을 찾아서 이동해보자. 어우야.. 찾은 문자열에서 조금더 위로 올라가면 분기하는 부분들이나오는데 천천히 진행해본결과 문자열을 받아가는 함수 , 문자열을 입력했는지 확인하는 함수 , 1번시리얼과 2번시리얼을 비교하는 함수들이나오길래 시리얼을 위에칸만 입력하는게아니라 아래도 입력을 해야하는걸 알았다. 결과적으로 직접입력한 시리얼값 aaaa1111와 Registered User 을 비교하는데 안에 자세히 들어가면 4개씩 비.. [코드엔진] basic 4 풀이 4번 문제 역시 일단 실행. 정상 일정 시간마다 정상이라는 문자열이 출력된다. 디버거에 올리고 실행시켜보자. 오 오. 디버거를 천천히 실행시켜 저 문자가 나오는부분을 찾아봤다. 이 함수 안에서 나오고있다 F7을 이용해서 들어 가본다 . sleep 라는 함수때문에 일정간격으로 문자가 나오고있던거같다. 그다음 함수 Isdebuggerpresent 이름 부터 디버거라는 말이 들어가는 저함수가 정답이다. 끝 이전 1 다음