dumpdex 의 IDA 플러그 인

회전:http://blog.csdn.net/l173864930/article/details/39802801
DumpDex 의 IDA 플러그 인
소스 코드
import idaapi
import struct


def dumpdex(start, len, target):
 rawdex = idaapi.dbg_read_memory(start, len)
 fd = open(target, 'wb')
 fd.write(rawdex)
 fd.close()

def getdexlen(start):
 pos = start + 0x20
 mem = idaapi.dbg_read_memory(pos, 4)
 len = struct.unpack('<I', mem)[0]
 print 'len is ' + str(hex(len))
 return int(len)


start = AskAddr(0, 'Input DexFile start in hex: ')
print('start is ' + str(hex(start)))


len = AskLong(getdexlen(start), 'Input DexFile len in hex: ')
target = AskStr('/users/boyliang/temp/xx.dex', 'Input the dump file path')


if len > 0 and start > 0x0 and target and AskYN(1, 'start is 0x%0x, len is %d, dump to %s' % (start, len, target)) == 1:
 dumpdex(start, len, target)
 print('Dump Finish')

사용법
  • 우선 shift + f2, IDA 를 호출 하고 import 를 선택 하여 이 스 크 립 트 를 가 져 옵 니 다
  • 동적 디 버 깅 을 할 때 dex 의 시작 주 소 를 찾 습 니 다. 예 를 들 어 정지점 은 dvmDex FileOpenPartial, r0 은 dex 의 시작 주소
  • 입 니 다.
  • shift + f2, 스 크 립 트 를 꺼 내 고 이 스 크 립 트 를 선택 하고 UI 알림 으로 입력 하면 됩 니 다
  • 주의: 이 작은 플러그 인 은 현재 연속 적 인 Dex 파일 만 지원 하 며, 비 연속 적 인 것 은 지원 되 지 않 습 니 다.

    좋은 웹페이지 즐겨찾기