【Android安全】IDA使用技巧
IDA编译头文件
打开菜单中Options ->Compiler…
按 Ctrl+F9 载入头文件(例如jni.h)
IDA拍摄快照
拍摄快照:快捷键Ctrl + Shift + W
管理快照:快捷键Ctrl + Shift + T
IDA创建结构体
参考:https://thinkycx.me/2019-07-15-how-to-create-structs-in-IDA.html
方式1:通过Structures Subview手动创建
(感觉不是很方便,还是编译头文件更好用)
选择Structures选项卡
按Insert新建结构体(对ROG而言是Fn+Delete)
第一个复选框:决定新结构体在结构体窗口中的显示位置
第二个复选框:是否在窗口中显示新结构体
第三个复选框:是否创建联合体
创建完成后:
方式2:通过头文件
IDA还原结构体
参考:https://blog.seeflower.dev/archives/173/
IDA中,32位的指针类型是int*,64位的指针类型是__int64*
__int64如果看着不太顺眼,可以使用int64_t来代替。IDA中没法直接找到int64_t这个类型,但是如果使用了这个写法IDA会自动关联
示例:
struct nameserver {int socket;int64_t *connection;_BYTE address[128];socklen_t addrlen;int failed_times;int timedout;_BYTE event[200];
};
IDA修改函数声明
右键函数名 → Set item type
IDA修改函数调用处的函数定义
右键函数名 → Set call type
IDA修改函数参数类型
右键参数 → Set Ivar type
IDA 处理伪代码JUMPOUT指令
函数被IDA错误合并
IDA分析so时,可能会遇到反编译结果不准确的情况,如下:
这里的两个JUMPOUT其实解析有问题,如下:
例如loc_18B27B0被解析成了HEN_WriteBlock函数的一个分支中的代码:
Tab查看结果如下:
但是其实loc_18B27B0处是一个独立的函数。
函数重新识别
Undefine HEN_WriteBlock函数(找到HEN_WriteBlock函数的函数名,按U)
然后再回到HEN_ReadBlock函数,进而找到loc_18B27B0:
在loc_18B27B0处create function(右键→Create Function,或者按p):
回到HEN_ReadBlock
按F5,发现loc_18B27B0处的函数已经被识别出来了:
同法处理另一个函数loc_18B2868后:
(如果伪代码更新不过来,就先进入sub_18B2868的伪代码,然后再重新进入HEN_ReadBlock的伪代码,再按F5)
(如果更上层的函数的伪代码更新不过来,也是同法,先进入下层函数伪代码,再回到上层函数伪代码并按F5)
【Android安全】IDA使用技巧相关推荐
- 最强 Android Studio 使用小技巧和快捷键
写在前面 本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android Studio 使用小技巧和快捷键. 根据这些小技巧的使用场景,本 ...
- Android Studio使用小技巧:提取方法代码片段
今天,讲讲android studio使用的小技巧.把代码直接提取一个函数. 有些时候我们在一个方法内部写了过多的代码,然后想要把一些代码提取出来再放在一个单独的方法里,通常我们的做法是复制粘贴,现在 ...
- android 字体加粗有阴影,Android TextView高级显示技巧实例小结
本文实例总结了Android TextView高级显示技巧.分享给大家供大家参考,具体如下: 1. 自定义字体 可以使用setTypeface(Typeface)方法来设置文本框内文本的字体,而And ...
- Android课程---Android Studio使用小技巧:提取方法代码片段
这篇文章主要介绍了Android Studio使用小技巧:提取方法代码片段,本文分享了一个快速复制粘贴方法代码片段的小技巧,并用GIF图演示,需要的朋友可以参考下 今天来给大家介绍一个非常有用的Stu ...
- Android 源码编译技巧--模块清理
参考之前的 Android 源码编译技巧–模块编译_南国樗里疾的博客-CSDN博客 https://blog.csdn.net/weixin_44021334/article/details/1069 ...
- Android studio 试用小技巧
本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android Studio 使用小技巧和快捷键. 根据这些小技巧的使用场景,本文将这62 ...
- Android STB 高效调试技巧
文章目录 一.编译 1.1 版本全编 1.2 模块单编 1.3 芯片特有单编模块 1.3.1 Uboot 1.3.2 boot.img&dt.img 二.调试 2.1 文件替换 2.1.1 常 ...
- Android应用商店上架技巧(企业版)
Android应用商店上架技巧(企业版) 说老实话,这些年随着Android系统的逐渐成熟,各大应用市场对Android应用的上架审核也越加严格,因此在上架应用之前,还是要做好准备工作的,不然审核被打 ...
- s7如何让android系统省电,Android五大省电技巧 让你告别省电软件
类型:iPhone|iPad大小:11.5M语言:中文 评分:1.3 标签: 立即下载 对于智能手机来说,待机时间过短一直是广大用户的烦恼,即便是搭载了超大容量的电池,也难逃一天一充电的尴尬局面.近日 ...
- android studio 热部署,Android Studio 你不知道的调试技巧
原标题:Android Studio 你不知道的调试技巧 (点击上方公众号,可快速关注) 来源:伯乐在线专栏作者 - weishu http://android.jobbole.com/83282/ ...
最新文章
- LIVE 预告 | TransGAN:丢弃卷积,纯Transformer构建GAN网络
- SpringMVC 课纲
- 【EASYDOM系列教程】之创建页面元素
- php多图片上传封装类,php----图片上传封装类:单张,多张图片上传,生成缩略图...
- Python多线程及其使用方法
- ASP.NET Core知多少(7):对重复编译说NO -- dotnet watch
- 写在自己工作六年:转载《软件工程师六年心得体会》
- [转载] Java中的abstract关键字
- java 通过eclipse编辑器用mysql尝试 连接数据库
- BZOJ2286 [Sdoi2011]消耗战
- WinNT无盘Win95维护经验
- 2022-08-01 网工进阶(二十四) STP进阶知识
- R语言survival包coxph函数构建cox回归模型、ggrisk包ggrisk函数可视化Cox回归的风险评分图、使用cutoff包基于最小p值法方法计算最佳截断值(基于LIRI基因数据集)
- 农产品商铺商城小程序(JavaSSM+微信小程序)
- springboott整合mybatis-plus和sharding-jdbc实现分库分表和读写分离(含完整项目代码)
- 搭建ntp时间同步服务器,解决cm时间问题
- CDQ分治——学习笔记
- SAP 物料的最小订购量、及舍入值的测试
- 浅谈SAML, OAuth, OpenID和SSO, JWT和Session
- 屏蔽无法验证发行者,你确实要运行此软件吗?的提示
热门文章
- ArcMap合并多个图层
- python字典对象的方法返回字典的值列表_python对象转字典的两种实现方式示例
- 她与父亲的小故事(我支持你)
- 亚派科技与涂鸦智能签署深度合作协议,携手深耕智能化领域产业升级
- PMP考试技巧汇总(第六版)
- springBoot之 Redis 实例
- cloudsim4.0中CloudSimExample2分析
- ajax upload file.js,jquery.ajaxfileupload.js
- 小尺寸2.4G/5.8G 双频内置SMD天线方案 OverAir OA-W01天线
- 虞美人.听雨 - 蒋捷