Search Results for 'ida 5.6'


2 POSTS

  1. 2010.01.05 IDA 5.6 Appcall 테스트 완료
  2. 2010.01.01 New features of IDA 5.6

IDA 5.6 Appcall 테스트 완료

Posted 2010.01.05 04:31 by beistlab
IDA 5.6의 주요 특징 중에 하나인 Appcall 기능에 대해서 테스트를 마쳤습니다. 잘 되는군요. 이걸 어디다가 써야하나라고 처음에 생각했던 것은 함수 단위로 수행하는 Fuzzing에 사용할 수 있을거라 예상했는데, 그렇게 간단한 작업은 아닐 겁니다.

대상 프로그램이 작다면 모르겠지만 규모가 좀 있는 것이라면, 어떤 함수를 표적으로 삼을지 선정하는 것도 쉽진 않기 때문입니다. (내가 Input을 줄 수 있는 함수인지도 미리 파악해야 하는 등 사전 작업이 있음)

Appcall 테스트하는 김에 IDAPython도 좀 만져봤습니다. 여태까지 hello world 정도만 찍어봤었는데 오늘 몇줄 정도 짜봤습니다. 재밌긴한데 익숙치가 않아서 자꾸 시행 착오가 생기니 짜증 만땅.. -_-;

Appcall에 대한 글은 나중에 다시 다루도록 하겠습니다. 창피하지만 어차피 국내에는 IDA 정품 유저가 별로 없어서 Appcall 기능을 시도해보실 분들이 금방은 안 생길 것이기 때문에 ㅋㅋ

'보안 관련 정보' 카테고리의 다른 글

RefreshDebuggerMemory and dbg_bpt() in IDAPython  (0) 2010.01.10
SEHOP 깨기 by sysdream  (3) 2010.01.05
IDA 5.6 Appcall 테스트 완료  (0) 2010.01.05
[Fuzzer] Sulley in f(x)  (13) 2010.01.04
던킨 도너츠 공격 당하다  (2) 2010.01.03
DPC of PaiMei  (0) 2010.01.03

Tag : appcall, ida 5.6

Write your message and submit

New features of IDA 5.6

Posted 2010.01.01 13:12 by beistlab
IDA 5.6의 새로운 특징들입니다. 사실 IDA에 많은 기능이 있는데 이중에서 얼마나 많은 기능을 해커들이 활용하는지는 잘 모르겠습니다. 참고로 저 같은 경우에는 툴 사용하는데 익숙하지가 않아서 그냥 IDA의 가장 충실한 기능인 디스어셈블 용도로 주로 쓰고 있습니다만 알고 보면 엄청나게 좋은 기능들이 무장되어 있죠. 5.6이 12월 31일부터 정식 Release되었습니다.

http://www.hex-rays.com/idapro/56/index.htm 새로운 버전의 특징들을 설명한 페이지를 소개하겠습니다.


Debuggers for MIPS and PowerPC

이제 MIPS랑 PowerPC도 디버깅이 지원된다고 합니다. (물론 ARM도 가능함.) Bochs가 지원되기 때문에 아마도 당연한 것일 겁니다. 만약 해당 아키텍처를 직접 보유하고 있지 않더라도 QEMU를 이용하여 에뮬레이팅 형식으로 디버깅을 할 수 있다고 합니다.

IDA + Emulating debuggers의 좋은 점은, 어떤 큰 대상을 리버싱해야 할 때도 좋지만, code snippet을 그냥 간단하게 실행해보기에 편리하다는 점입니다. 어셈블리 명령어에 잘 익숙하지 않더라도, 명령어가 진행될 때마다 변화되는 레지스터를 볼 수 있기 때문에 어떤 코드 부분이 어떻게 작동하는지 쉽게 파악할 수 있습니다.

ARM CPU도 역시 가능합니다!


64-bit debuggers for Linux and Mac osx

64비트는 저는 아직 안드로메다입니다. 베이직 코스라고도 할 수 있는 32비트 Intel CPU 리버싱도 제대로 못하고 있습니다. 아무튼 Linux와 Mac에서 64비트 바이너리들의 디버깅이 가능하다고 합니다. 근데 이 기능이 IDA Advanced 버전이 아니라도 사용할 수 있는건지 모르겠군요. 참고로 일반 버전은 Windows 64-bit 바이너리 디스어셈블리가 안됩니다.


Appcall: facility to call any function from the debugged application

Appcall이 이번 업그레이드 중에 중요한 요소인 것 같습니다. 요거는 그냥 원문 그대로 옮기겠습니다.

While debugging, sometimes there is a need to divert the normal execution flow and to execute a function of your choice in the target application. It could be a debug print function, or a repeated function call with modified arguments... With the new Appcall feature, it is a piece of cake: just enter the function call with arguments in the command line, and it will be called. For example: _printf("Hello world!\n") will print the greeting in the application console window. The possibilities opened by this facility are endless but intelligent fuzzing of selected functions is the one that comes into mind immediately.


사실 여기에 뭐 대단한 기술이 들어가는 건 아닐 겁니다. 그냥 단순하게 생각해보면 Appcall 기능이 호출되는 시점에서, 다음에 수행할 명령어들을 일단 임시로 다른 장소에 저장해놓고 함수의 프롤로그와 에필로그를 잘 준비하여 사용자가 원하는 함수를 호출해준 후, 다시 원복해주면 되겠죠. 그래도 이런 작업들을 하나의 명령을 통해 한번에 내릴 수 있다는 것이 훌륭한 기능이죠. 좀 활용해보고 싶은데 사용법을 아직 잘 몰라서 헤매는 중입니다. 테스트해보고, 좀 괜찮은 기능이다 싶으면 따로 포스팅을 하도록 하겠습니다.


Significantly improved the speed of the crash dump loader

Crash dump loader가 좋아졌다고 하는군요. 특별한 개선점은 없지만 상당히 느렸던 것을 빠르게 고쳤고, 이제는 windbg만큼이나 속도 개선이 있었다고 합니다. Dump file은 windbg에서만 열어봤었는데 이제는 IDA에서 해보는 것도 한번 시도해봐야겠네요. (어차피 windbg도 잘 몰라서 Crash dump 로드할 때만 썼기 때문에 흐흐)


Improved python

Python 해커들에게 역시 좋은 소식이군요. 이제 IDA가 돌아가는 모든 플랫폼에서 Python script 사용이 가능하다고 합니다. 호환성 뿐만 아니라 여러 기능들이 추가되었는데 대표적으로 Graphing API와 Appcall입니다.


Improved IDC

사실 IDC는 전 써본 적이 없어서 잘 모릅니다. 그냥 막연히 C 스타일의 스크립트를 만들어서 IDA에 쓸 수 있는 것으로 알고 있는데 Python script로 작성하는 것이랑 큰 차이가 없을 것으로 추측이 들지만, 음 모르겠군요. 사용할 수 있는 IDA library가 IDC에 더 많이 있는건지, 똑같을 것 같은데.. 아시는 분은 댓글 좀..


Scriptable loaders

전문 리버서가 아니라면 파일 로더를 직접 제작해야 할 일이 별로 없지만 IDA에서 특정 포맷을 위한 파일 로더를 직접 만들어야할 일이 있을 때는 C++로만 가능했었습니다. 이제 스크립트들을 이용하여 이 로더들을 작성할 수 있다고 하네요. Python와 IDC를 이용해서 말이죠.


IDA는 점점 더 진화하고 있군요. 과거의 IDA부터 지금의 버전까지 받는 평가를 초간략 요약하자면

1. IDA는, 흠, 그저 디스어셈블리 기능이 좋은 툴이야.
2. 엇, 디버깅 기능도 지원한다고? 하지만 아직 멀었어.
3. IDA에서 파이썬을 사용할 수 있다고? 제법인데
4. WTF! bochs랑 IDA라고?
5. Debugging MIPS through emulating on x86?!
6. IDA == swiss-army-knife, no doubt now!!

'보안 관련 정보' 카테고리의 다른 글

던킨 도너츠 공격 당하다  (2) 2010.01.03
DPC of PaiMei  (0) 2010.01.03
New features of IDA 5.6  (0) 2010.01.01
IE zeroday == $60k  (0) 2009.12.20
한국 보안/해킹 관련 IRC  (1) 2009.12.19
Twitter 해킹 당함  (1) 2009.12.19

Tag : 64bit, appcall, ARM, ida 5.6, MIPS, Reversing

Write your message and submit