전체 글

전체 글

    CodeEngn Basic12 풀이

    Basic12번입니다. 성공메세지대신에 정답 Key값을 띄우라는군요.key값도 구해야하고 그 키값이 있는 공간으로 접근해서 MessageBox 파라메터값도 수정해야겠군요. 일단 파일을 실행시켜봅시다. 키값을 입력하면 성공메세지를 출력하겠군요 올리디버거로 가봅시다.코드는 매우 간단합니다. 에디트박스 에서 입력받은값과 7A2896BF를 비교해서 같으면 성공메세지를 띄웁니다.10진수로 변환하면 2049480383 성공키가 됩니다. 이제 이 키 값을 성공메세지의 내용으로 띄우려면 메세지박스의 세번째파라메터인 0040353B 공간에있는 문자를 키값으로 변환해주면 됩니다. HexEdit로 열어봅시다.일단 PEView로 그 0040353B라는 공간이 파일에서는 어디에 있는지 찾아야겠죠? ImageBase 는 0040..

    CodeEngn Basic11 풀이

    Basic11번 문제입니다. OEP와 StolenByte를 찾으라는군요. 당연히 패킹이 되어있겠죠? PEiD로 확인해줍시다.UPX패킹이니 간단하게 PUSHAD 에서 하드웨어브레이크를 걸고 달려줍니다.POPAD가 있고 그밑에 OEP로 점프하는 코드가 있습니다. MessageBox의 파라메터 3개를 미리 스택에 넣는걸로봐서 저 12바이트의 OPcode가 StolenByte라고 추측할수 있겠군요. OEP로 가봅시다.역시 예상대로 12바이트가 NOP으로 채워져있습니다. 여기에 StolenByte를 끼워넣어줍시다. 그리고 덤프를떠주면 끝! 답은 나왔네요 OEP+StolenByte 가 정답입니다.풀이완료 !

    CodeEngn Basic10 풀이

    Basic 10번문제입니다. PEiD로 한번 보겠습니다.처음보는 패킹이군요. 실행을 한번 시켜보겠습니다.이름과 시리얼을 입력하는 부분이 보이네요. EditBox 부분에는 키보드 입력이 되지않습니다. 코드상에서 수정해야되나 봅니다. 올리디버거로 가보겠습니다.음.. UPX 패킹과 동일하게 처음부분에 PUSHAD 하는 부분이 있습니다. POPAD가 있고 그뒤에 점프문이 있을까요...?? POPAD가 있고 JMP 문대신 RETN문이 있습니다. 그쪽으로 이동하게되면...알수없는 코드들이 나오게됩니다. 아마도 패킹때문이겠죠..?? 덤프를 뜬후 다시 덤프뜬파일을 올리디버거에 올려보았습니다. 참조된 String 목록을보니.. well done이라는 문구도 보이고 제대로 찾아온것같네요 그럼 OEP 는 00445834 이..