목록War game/reversing.kr (2)
둘둘리둘둘리둘둘리둘둘리둘둘리둘
문제 자체는 쉬우나 다른 플렛폼에서의 리버싱이란게 어려울 수 있다 리눅스에서 리버싱할경우 개인적으로 IDA 리모트 디버깅이나 gdb를 쓰는데 문제가 어렵지않아 gdb로도 충분하겠지만 gdb는 또 명령어들도 그렇고 CLI환경에서의 리버싱이니 어려움이 있을 수 있겠다 IDA 리모트 디버깅 -> http://dool2ly.tistory.com/79 일단 'readelf -h ./Easy_ELF' 또는 'objdump -f ./Easy_ELF'를 통해 얻어낸 엔트리 포인트에서부터 gdb로 리버싱해 보자면 [root@localhost reversing.kr]# gdb ./Easy_ELF(gdb) set disassembly-flavor intel //어셈블리어 출력방식을 intel로(gdb) x/13i 0x080..
MessageBoxA함수에 브레이크를 걸어서 Wrong메세지 출력 루틴을 찾음 Wrong메세지 루틴은 0x004013AA에서부터 점프되어 온다 0x4013AA부근을 보면 FindResourceA - LoadResurce - LockResource등 리소스를 불러오는 루틴 후 불러온 리소스랑 뭔가를 틀리거나 카운트 0x15F90이 넘을때까지 비교한다 check누를때마다 실행되므로 그려진 이미지랑 리소스가 같은지를 체크하는듯 함 0x00401170부터 Bitmap 이미지 관련된 함수들이 보이는걸로봐선 bmp인듯 함 mspaint로 bmp파일을 만들고 헤더가 끝나는 지점부터 ImagePrc리소스(HxD로 까서 수동으로 찾음..)를 복사해줌 CreateCompatibleBitmap함수에 bmp이미지 사이즈를 알..