OutDoorFrog의 리버싱 이야기
이 이야기는 어느 리버서의 고통받는 이야기입니다. Windows API 만져본지 8개월이 다 되가는데 분석 문제가 나왔습니다. 문제가 이렇게 나올 줄은 몰랐으며 리버싱하는데 꽤나 걸렸던 문제입니다. 한 글자 한 글자를 연산하는 문제!!! 같이 보시죠!! 1. DIE로 분석 Default로 설정이 되어 있군요.. 2. IDA로 분석해볼까? 붉은색을 Brush Paint로 칠했군요. Hand-Ray 프레임워크를 사용합시다. 핸드-레이 프레임워크는 c->asm, asm->c 가 가능한 프레임워크 입니다. 용량도 가벼워서 사람들이 정말 많이 사용하는데요. 그렇습니다. 우리의 뇌와 손이 있으면 됩니다. 말 그대로 인간 디컴파일러!! 3. 힌트 코인 IDA 덕분에 Winmain으로 Main 함수가 만들어져있는 것을..
편안한 개구리입니다. 암드 캔 두 애니띵, WriteUP을 시작하겠습니다. . . . . . . 우리는 리버싱을 할려면 3가지 요구 조건을 만족해야합니다. 해당 CPU 아키텍쳐를 아는가?해당 어셈블리어를 아는가?리버싱 환경이 구성이 되었는가? 저는 환경 구성, CPU 아키텍쳐, 어셈공부까지 했습니다만.. 좀 더 좋은 방법 급박한 대회에서 점수를 버는 방법이 있습니다. Hex-Ray사에서 제공하는 디컴파일 기능을 이용하는 것입니다. 급박한 상황에서 애용하는 기능 중 하나지만 공부할 때는 지양하는 기능입니다. (뭐니뭐니 해도 핸드-레이가 공부에 최고)1. IDA 이렇게 상당히 희귀한 문제는 난이도가 그만큼 너프되기 마련입니다. 2. 디컴파일 사스가 Hex-Rays;;;; 저는 이거 디컴파일 하는데 2시간 걸..
블로그의 주인장 바깥 개구리 입니다.(개굴) 심플 리버싱에 대해서 포스트를 시작하겠습니다. 1. Die 이용 Detect It Easy는 정적 분석에 사용하는 도구 중 하나입니다. 사용한 언어, 파일 패킹 여부, 사용한 컴파일러, 사용한 링커 등의 정보를 수집할 때 사용합니다. 리버싱 환경을 정하고 어떤 디버거를 사용할지 판단할 때 씁니다. EntryPoint 값을 참고해서 Main 함수의 시작점이 어디일지 유추하기도 합니다. 사용 예시 PE 파일 -> 환경 : Windows, 디버거 : x32dbg, x64dbg, IDA ELF 파일 -> 환경 : Linux, 디버거 : EDB, IDA C언어로 작성했고 ImageBase값이 Default 입니다. 메인 함수가 401000에 위치하고 있지 않을까 유추해..