Android
NightStarSoul
这个作者很懒,什么都没留下…
展开
-
Dalvik 操作指令
Dalvik 操作指令例如一条指令 :move-wide/from16 vAA,vBBBBmove 为基础字节码,标识这是基本操作wide为名称后缀,标识指令操作的数据宽度(64位)from16 为字节码后缀,标识源为一个16位的寄存器引用变量vAA 为目的寄存器,它始终在源的前面 取值范围为v0-v255原创 2014-05-15 10:39:50 · 838 阅读 · 0 评论 -
ARM反汇编基础(一)
#include int nums[5]={1,2,3,4,5};int for1(int n){int i=0;int s=0;for(i=0;i{ s+=i*2;}return s;}int for2(int n){int i=0;int s=0;for(i=0;i{ s+=i*i+nums[n-1];}ret原创 2014-05-31 15:39:36 · 1115 阅读 · 0 评论 -
Dalvik反汇编代码解析
指令格式标识的类型码助记符位大小说明b88位有符号立即数c16,32常量池索引f16接口常量(仅对静态链接格式有效)h16原创 2014-05-14 09:58:35 · 1085 阅读 · 0 评论 -
Android ELF文件格式
ps:参考Android软件安全与逆向分析 此文章仅仅作为笔记使用 谢谢非虫老师写出这么不错的书。原创 2014-05-18 22:14:39 · 944 阅读 · 0 评论 -
DEX文件格式
PS:DEX文件格原创 2014-05-18 22:11:16 · 1219 阅读 · 0 评论 -
dexopt 的验证及优化过程
ps:参考Android软件安全与逆向分析 此文章仅仅作为笔记使用原创 2014-05-18 18:33:22 · 1850 阅读 · 0 评论 -
IDA分析HELLO ARM 程序的ARM 反汇编
#表明这个main函数是被程序导出的EXPORT main#main为函数的名称IDA Pro 能自动识别源程序中所有的函数以及名称main#IDA识别出的栈变量var_C = -0xCvar_8 = -8#堆栈寻址指令 把寄存器的值压入堆栈STMFD SP1,{R11,LR}#SP寄存器的值加上4 赋给R11寄存器ADD R11,SP,#4 #原创 2014-05-19 10:03:22 · 3271 阅读 · 0 评论 -
ODEX文件格式
ps:参考Android软件安全与逆向分析 此文章仅仅作为笔记使用 谢谢非虫老师写出这么不错的书。原创 2014-05-18 22:13:05 · 911 阅读 · 0 评论 -
如何定位关键代码
如何定位关键代码1、信息反馈法解析:所谓信息反馈法,是先运行目标程序,然后根据程序运行时给出的反馈信息作为突破口寻找关键代码。2、特征函数法解析:无论程序给出怎样的反馈信息,终究还是要调用Android SDK 中的相关API函数来完成的。所以直接搜索函数应该能很快定位关键代码处。3、顺序查看法解析:顺序查看是指从软件的启动代码开始,逐行的向下分析,掌握软件的执行流程。原创 2014-05-18 23:56:31 · 1017 阅读 · 0 评论 -
Dex文件内的数据类型
dex文件使用到的数据类型类型含义u1等同于uint8_t,表示1字节的无符号数u2等同于uint16_t,表示2字节的无符号数u4等同于uint32_t,表示4字节的无符号数u8等同于uint64_原创 2014-05-16 11:31:52 · 900 阅读 · 0 评论 -
IDA Pro 导入jni.h头文件定义
步骤一:点击IDA Pro 菜单项“File->Load file->Parse c header file ” 选择jni.h头文件步骤二:简单修改jni.h ,注释第27行的#include ,还有将1122行的#define JNIEXPORT_attribute_((visibility("default"))) 改成 #define JNIEXPORT 修改完后可以成功导入步骤三原创 2014-06-02 10:11:32 · 7757 阅读 · 0 评论