idapython-init
来源:互联网 发布:cms监控软件远程设置 编辑:程序博客网 时间:2024/05/17 23:58
通过idapython脚本对动态调试apk的脚本下断点
基本思路:就是通过获取手机linker中的callfunction的偏移来进行下断点。
# -*- coding:utf-8 -*-import idaapiimport idautilsimport idcfrom keystone import *from idc import *# 查找模块,返回基地址def FindModule(module_name): for m in idautils.Modules(): if module_name.lower() in m.name.lower(): base = m.base size = m.size print 'module_name is %s' % module_name print hex(base) #idaapi.analyze_area(base, base + size) return base; return None;# 查找linker中的init函数调用def find_linker_addr(base):# .text:00002748 01 F0 54 FF BL sub_45F4# .text:0000274C# .text:0000274C loc_274C ; CODE XREF: sub_2720+16j# .text:0000274C A0 47 BLX R4# .text:0000274E 0E 4A LDR R2, =(dword_10678 - 0x2754) pattern = '01 F0 54 FF A0 47 0E 4A' for x in range(0, 5): addr = idc.FindBinary(base, SEARCH_DOWN | SEARCH_NEXT, pattern); if addr != idc.BADADDR: print hex(addr + 4), idc.GetDisasm(addr + 4) addr = addr + 4 return addr;# 内存中获取模块基地址base = FindModule('linker');# idb文件中获取基地址#base = MinEA();addr = find_linker_addr(base);print "linker init addr = " + hex(addr);# 下断点AddBpt(addr);
他就可以断在init这个断点
阅读全文
1 0
- idapython-init
- IDAPython插件
- idapython 手册
- IDAPython安装
- IDAPython手册
- idapython-jni_onload
- idapython-registernative
- IDAPython V 0.9.55
- IDAPython V 0.9.57
- IDAPython插件安装
- SetColor useage on idaPython
- experiment : hook on idapython
- IDAPython的妙用
- IDAPython插件安装
- idaPython编写插件
- idapython import site failed
- arm idapython脚本
- IDAPython: importing "site" failed.
- 【jsoup】解析一个HTML字符串
- 翻译Husky文档-PyHusky的架构汉化版
- Kotlin语言系统化学习K00-前言
- C#基础-001控制台初识与基本注释
- POJ2762 Going from u to v or from v to u?
- idapython-init
- 【jsoup】解析一个body片断
- C#基础-002常用关键字
- mybatis事务管理方式
- spring事务隔离级别
- 小程序发送template模板消息-小程序支付开发-视频教程
- 智能小车十五《安装openwrt虚拟机》
- idapython-jni_onload
- 获取小程序模板消息的formId