write-up(rev)
[reversing.kr] Easy ELF write-up
IDA로 까보면 다음과 같습니다. int __cdecl main() { write(1, "Reversing.Kr Easy ELF\n\n", 0x17u); sub_8048434(); if ( sub_8048451() ) sub_80484F7(); else write(1, "Wrong\n", 6u); return 0; } _BOOL4 sub_8048451() { if ( byte_804A021 != 0x31 ) return 0; byte_804A020 ^= 0x34u; byte_804A022 ^= 0x32u; byte_804A023 ^= 0x88u; if ( byte_804A024 != 88 ) return 0; if ( byte_804A025 ) return 0; if ( byte_804A022 != 12..
![[reversing.kr] Easy Unpack write-up](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcJFvnG%2FbtssBmPnX1i%2FSNXlMY3iiWac919IejmeG0%2Fimg.png)
[reversing.kr] Easy Unpack write-up
ReversingKr UnpackMe Find the OEP ex) 00401000 OEP(Original Entry Point)를 찾으라고 합니다. Packing 되어 있는 exe 파일이 제공됩니다. x32dbg 로 열어봅니다. 실행을 누르면 다음과 같은 주소에 떨어집니다. 쭉 내려보니 unpack 관련 함수가 나오고 마지막에 0x00401150으로 점프하는 코드가 발견됩니다. 0x00401150으로 점프하는 코드를 실행하면 기존에 알고있던 함수의 프롤로그 코드가 나옵니다! 따라서 original entry point는 0x00401150 입니다.