安卓程序动态调试方法

摘要: 一、使用DDMS1.将程序使用apktool转化为smali代码,在关键代码左右注入log代码(的smali形式,如输出寄存器v0的值),之后重新打包apk,再执行时可以从 logcat 中看到输出。2.栈跟踪法:如,在关键代码左右插入new Exception("print trace").p... 阅读全文
posted @ 2016-01-10 20:56 CarrieSmile 阅读(506) 评论(0) 推荐(0)

android 原生程序 native code 的启动流程分析

摘要: 原生程序有静态链接和动态链接两种,其中动态链接又分为动态链接程序和动态链接库。静态链接:需要在gcc编译参数中指定 -Bstatic,在生成可执行程序时会链接crtbegin_static.o 和 ctrend_android.o目标文件。crtbegin_static.o中定义了静态链接程序的启动... 阅读全文
posted @ 2016-01-10 20:53 CarrieSmile 阅读(707) 评论(0) 推荐(0)

静态 动态编译链接 基础(linux x86)

摘要: relocatable object file:编译(不链接)生成relocatable object file. 为了之后能够正确的链接,.o文件需要包含以下信息:(1)执行代码.text section(2)数据,此时只处理全局数据(局部变量位于stack上),分为已经初始化的.data sec... 阅读全文
posted @ 2016-01-09 17:36 CarrieSmile 阅读(471) 评论(0) 推荐(0)

一些用于逆向工程二进制文件分析的工具

摘要: 在学习IDA Pro之前先了解一些用于逆向工程二进制文件的工具。一、分类工具1. file命令:检查文件中的某些字段来确认文件的类型。能够识别数种Ascii文本文件、各种可执行文件和数据文件。其magic file规定了检查规则。2.PE Tools: 是一组用于分析windows系统中正在运行的进... 阅读全文
posted @ 2016-01-07 23:23 CarrieSmile 阅读(9625) 评论(0) 推荐(0)

java代码优化框架 soot

摘要: soot是一个可以接收java source code, bytecode, 及 android apk的代码优化框架,由于其提供了四种中间表达形式,使得分析更方便,因此也用来做代码分析。soot支持call graph construction, point to analysis等。四种中间表达... 阅读全文
posted @ 2016-01-04 23:21 CarrieSmile 阅读(2189) 评论(0) 推荐(0)

安卓软件安全与逆向分析 基础知识

摘要: jvm虚拟机:指令集为零地址形式的指令集,即指令的源参数和目标参数都是隐含的,通过java虚拟机中提供的一种数据结构“求值栈”来传递。dalvik虚拟机运行时也为每个线程维护一个PC计数器和调用栈,此调用栈 维护一份寄存器列表,寄存器的数量在方法结构体的registers字段中给出,DVM根据这个值... 阅读全文
posted @ 2016-01-04 09:00 CarrieSmile 阅读(394) 评论(0) 推荐(0)

ROP

摘要: ROP是一种高级的堆栈溢出攻击。操作系统针对栈溢出漏洞的措施:数据执行保护(data execution prevention)技术,拒绝执行内存中user可写的区域。ROP允许攻击者在安全防御(不可执行的内存和代码签名)的情况下执行代码。Return-into-library technique:... 阅读全文
posted @ 2015-09-09 20:13 CarrieSmile 阅读(283) 评论(0) 推荐(0)

Https漏洞在安卓程序中

摘要: HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。握手过程的简单描述如下:1.浏览器将自己支持的一套加密规则发送给网站。2.网站从中选出一组加密算法与HASH算法,并将自己的身份信息以证书的形式发回给浏览器。证书里面包含了网站... 阅读全文
posted @ 2015-09-08 14:33 CarrieSmile 阅读(251) 评论(0) 推荐(0)

安卓程序防止反编译的方式

摘要: 1. 加壳apk的加壳:在程序外面再包裹一层代码,保护里面的代码不被非法修改或者反编译。被保护的程序用加密算法加密,解密逻辑写在作为壳的APK中,实际执行的是被保护的程序。大多是通过DexClassLoader或者隐藏的函数openDexFile将源dex(即被保护的app)加载进来,然后动态替换A... 阅读全文
posted @ 2015-09-07 23:49 CarrieSmile 阅读(1628) 评论(0) 推荐(0)

Stalking a city for fun and frivolity

摘要: https://www.youtube.com/watch?v=ubjuWqUE9wQ http://www.gizmag.com/wi-fi-track-smartphone-creepydol/28585/ CreepyDOL: a distributed sensor network that... 阅读全文
posted @ 2015-07-11 11:31 CarrieSmile 阅读(157) 评论(0) 推荐(0)