본문 바로가기

reversing

[codeengn]코드엔진 basic RCE L10 문제: OEP를 구한 후 '등록성공' 으로 가는 분기점의 OPCODE를 구하시오. 정답인증은 OEP + OPCODE EX) 00400000EB03 10.exe를 열어보니 암호화되어있을 수도 있다고 한다. ASPack은 처음 봤는데, 올바른 OEP를 찾아서 Dump를 띄우면 된다고 한다. (9번처럼 POPAD를 통해 어떤 부분을 빼고 PUSHAD를 통해 넣었음을 유추할 수 있다.) 9번을 풀어야 이걸 풀 수 있나보다. PUSHAD가 있으니 빼와서 넣었음을 예측해볼 수 있다. POPAD를 찾아보고 breakpoint를 걸어보려 했는데, 실행되지 않을 수도 있다는 메시지를 볼 수 있었다. 그래서 456335부터는 실행되지 않을 수도 있다는 것을 확인했다. 일단 재시작하여 F8을 통해 진행해보았다. PUSHAD.. 더보기
[CodeEngn]코드엔진 basic RCE L09 문제: StolenByte를 구하시오 Ex) 75156A0068352040 StolenByte를 구하는 문제이다. 먼저 Ollydbg로 열어보았더니 암호화되어있을 수도 있다고 한다. PEiD로 열어보니 UPX로 패킹되어있다고 한다. 09.exe를 unpack해주었다. unpack한 걸 열어보니, 12개 정도가 NOP으로 채워져있다. Stolen byte가 있다는 건 POPAD를 통해 명령어를 빼고, PUSHAD를 통해 명령어를 넣었을 것이라고 예측해볼 수 있다. 일단 POPAD를 검색해본다. 근데 나오는 게 없다. PUSHAD를 검색해본다. 이것도 나오는 게 없다. 혹시 몰라서 패킹되어있었던 원본의 09.exe를 ollydbg로 열어본다. PUSHAD가 여기있다. POPAD를 검색해본다. 언패킹했을 때 .. 더보기
[CodeEngn]코드엔진 basic RCE L11 문제: OEP를 찾으시오. Ex) 00401000 / Stolenbyte 를 찾으시오. Ex) FF35CA204000E84D000000 정답인증은 OEP+ Stolenbyte Ex ) 00401000FF35CA204000E84D000000 OEP와 Stolenbyte를 찾는 문제이다. Ollydbg를 열면 PUSHAD가 되어있고, 밑에 NOP으로 채워져있는 것을 확인할 수 있다. NOP에 Stolenbyte가 있을 듯 하다. Ctrl+F를 통해 POPAD를 찾아보도록 한다. POPAD를 검색해보니 이 밑 부분이 NOP에 채워질 듯 하다. 일단 이 부분을 breakpoint로 해주었다. 이 부분까지 와보니, 아까는 없었던 문자열이 보인다. 윗부분에서 계속 F8을 눌러보니 이 부분으로 왔다. OEP는 004.. 더보기
[CodeEngn]코드엔진 basic RCE L08 문제: OEP를 구하시오 Ex) 00400000 일단 PEiD를 확인해봤는데, 패킹되어있음을 확인할 수 있다. 따라서, unpacking을 해주었다. 시작되는 곳이 OEP임을 알 수 있다. 끝 더보기
[CodeEngn]코드엔진 basic RCE L07 문제: 컴퓨터 C 드라이브의 이름이 CodeEngn 일경우 시리얼이 생성될때 CodeEngn은 'ß어떤것'으로 변경되는가 시리얼을 비교하는 것이므로, ollydbg를 사용하면 될 듯 하다. ollydbg에서 문자열을 확인함으로써 문제를 풀 수 있을 듯 하다. 근데 주어진 문자열을 다 넣어봤는데도 풀리지 않았다. 그래서 일단 특정한 문자열로 이동해보았다. Well Done이 나오려면 00401117로 이동하도록 해야한다는 것을 확인했다. 그러려면 EAX와 0이 같아야 한다. 일단 serial을 입력하는 칸에 아무거나 넣어보도록 한다. 나는 그냥 1004를 넣어봤다. 근데, String1이 달라졌음을 확인했다. 이제 시리얼넘버에 무엇을 넣어야 둘이 같아지는지는 유추해낼 수 있다. String1을 넣으면 되는.. 더보기

반응형
LIST