리버싱

Reversing

[Reversing.kr] HateIntel

찾아보니 맥 os 에서 동작하는 바이너리 파일이었다. https://en.wikipedia.org/wiki/Mach-O 마침 맥을 쓰고 있어서 실행해보려 했는데 확장자를 아무리 바꾸고 터미널에서 실행하려 시도했으나 실행되지 않았다. pe 구조를 보니 ios 인 것을 알 수 있었다. 마침 또 아이폰이라.. 실행해볼까 하다가 혹시나하는 위험에 하지 않고 정적 분석을 하기로 했다. 맥 아이다로는 왜 또 안 열리는지 아휴 윈도우 가상머신을 사용했다. correct 부분을 바로 찾았다. 어떻게 동작되는지 코드를 봐야 할 것 같아서 윈도우로 온 김에 처음으로 디컴파일 기능을 사용해봤다. 텍스트 모드로 봤을 때 계속 호출되었던 2224 함수이다. 232C 함수를 호출하고 입력한 키 값의 길이만큼 반복하여 byte_3..

Reversing

[Reversing.kr] Ransomeware

문제가 주어졌다. 3개의 파일이 있다. 먼저 run.exe 파일 패킹 정보를 확인했다. upx로 패킹되어 있는 것을 알 수 있다. run.exe 파일을 언패킹 했다. 왼 : 언 패킹 전 오 : 언패킹 후 미묘한 차이가 있다. 그냥 file이 있길래 먼저 에디터로 열어봤다. 왠지 암호화가 되어있는 것 같다. 전에 풀었던 문제가 이런 비슷한 문제가 있었는데, 정상 파일 시그니처에 리소스를 바꾸는 게 생각났다. exe 파일을 복호화 하라고 했으니 exe 파일인 것 같다. 파일을 exe로 바꾸고 pe 정보를 봤는데 나오지 않았다. 아무래도 시그니처가 암호화 되어있어서 그런 듯 복호화를 해보자 upx 로 run.exe가 패킹되어있었으니 얘도 upx일까 싶다. 우선 세부 함수를 보자. 문자열은 이렇게 필터링 되어있..

Reversing

[Reversing.kr] ImagePrc

버튼만 누르다가 마우스를 휙휙 움직였더니 이렇게 선이 그려졌다. 근데 프로그램 크기가 늘어나지 않는 것을 보아 크기와 관련이 있을 것 같다는 생각이 들었다. 우롱.. 평소처럼 가장 먼저 문자열을 확인했다. correct 부분이 없는 것을 보아 버튼을 눌러서 플래그가 나오는 것은 아닌 것 같다. 내부 함수들을 확인해보자! 메인 함수에서 호출되는 하위 함수들을 살펴보았더니 비트맵 이미지를 발견할 수 있었다. 버튼을 누르면 준비된 비트맵 이미지가 뜨는건가? 싶다. 왼쪽 분기문에서 비트맵 이미지를 만들고, 오른쪽 분기문에서 해당 비트맵에 대한 정보를 담고 있는 것 같다. 두번 째 분기에서 비트맵 헤더와 리소스를 가져오는 것이 눈에 띈다. 비트맵 이미지가 깨져서 실행되지 않는것인가? 두번째 분기문을 거치고 다른 ..

Reversing

패킹 | 언패킹

패커 (packer) : PE 파일을 실행 가능한 형태로 파일을 압축시켜주는 프로그램으로 압축과 동시에 보호(anti-debugging, encryption 등) 기능을 포함하고 있으면 프로텍터 (protector)라고 부르고 단순히 파일의 사이즈만 줄여준다면 그냥 패커(UPX, Aspack)라고 부른다. 프로텍터는 리버싱으로부터 보호하기 위한 것으로 압축 해제 기능뿐만 아니라 안티 리버싱 기법이 적용된 것을 말하며 기법으로는 안티 디버깅 (anti-debugging), 가상 머신 탐지 (anti-vm), 코드 난독화 (code obfuscating), 다형성 코드(polymorphic code), 더미 코드 (garbage code), 디버거 탐지 (debugger detection) 등의 기법이 있다..

chimita
'리버싱' 태그의 글 목록