【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/ ...
最新文章
- tensorflow tf.py_func
- [题解]洛谷P1119 灾后重建
- 数据库的几种联结,union,union all ,inner jion ,left jion,right jion ,cross jion
- javascript函数调用的几种方式
- 网易云信获中国IM云服务领域首个CSA STAR认证
- VTK:可视化之FrogSlice
- mysql返回值_mysql_query的返回值
- OBS bit rate推流比特率最佳设置
- redis通配符批量删除keys——del
- linux网站权限恢复,RMAN异机恢复——备份集权限问题
- linux skyeye,在Ubuntu 10.04上安装SkyEye及测试
- 注册时要求获取手机短信码的实现(java)
- Android通过浏览器打开App并传递参数
- 第七章、绘制3D图表和统计地图
- kubernetes原生ci/cd工具tekton版本升级至v0.18.1
- Python语言程序设计(嵩天老师)-期末考试3.2-站队顺序输出
- 成功解决: 支付宝报错钓鱼网站
- Learning Local Search Heuristics for Boolean Satisfiability 2020-04-30
- OpenXml开发-基本环境
- 博客嵌入可以自适应的b站视频