![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android安全
文章平均质量分 69
p2011211616
这个作者很懒,什么都没留下…
展开
-
Android动态加载基础 ClassLoader工作机制
类加载器ClassLoader早期使用过Eclipse等Java编写的软件的同学可能比较熟悉,Eclipse可以加载许多第三方的插件(或者叫扩展),这就是动态加载。这些插件大多是一些Jar包,而使用插件其实就是动态加载Jar包里的Class进行工作。这其实非常好理解,Java代码都是写在Class里面的,程序运行在虚拟机上时,虚拟机需要把需要的Class加载进来才能创建实例对象并工作,而完转载 2017-07-12 20:13:27 · 427 阅读 · 0 评论 -
Xposed hook原理
java源码经过编译后,得到很多个class文件, 考虑到手机的内存较小,google改进了字节码的组织形式,将一个app中的所有class文件合到了一起构成dex文件。dex文件最终会和资源文件等一起打包成为apk,签名后安装到手机上。PackageManager在安装apk时,优化dex文件为odex,存放在/data/dalvik-cache目录下。dex文件是遵从于dalvik虚拟转载 2017-09-24 20:52:04 · 2004 阅读 · 2 评论 -
整理android逆向工程师技能表 by非虫from看雪
1. 密码学基础1.1. 古典密码学基础1.2. 现代密码学基础1.2.1. 哈希算法1.2.2. 非对称加密与解密1.2.3. 椭圆曲线1.2.4. 数字签名1.2.5. 数据分组与校验1.3. 密码攻击理论1.4. 密码学库的识别2. 网络基础2.1.转载 2017-08-20 15:33:09 · 3841 阅读 · 0 评论 -
在Android使用上ptrace的尝试(一)
Ptrace功能强大,可以用于调试跟踪。跑了蒸米大神写的例子,学习一下。实验1:获取system call的编号要ptrace的目标程序target,用来一直循环输出#include int count = 0;void sevenWeapons(int number){ char* str = "hello!"; printf("%s, %d\n",str,n原创 2017-08-10 11:19:50 · 2568 阅读 · 3 评论 -
ARM汇编基础知识汇总与Inline Hook
ARM汇编ARM汇编中B、BL、BLX指令的使用?B:跳转BL:例如BL{cond} label。带链接的跳转,如果条件cond满足,会首先将当前指令的下一条指令的地址拷贝到R14(即LR)寄存器中,然后跳转到label指定的地址处继续执行。这个指令通常用于调用子程序,在子程序的尾部,通过MOV PC, LR返回到主程序中。BX:例如BX{cond} Rm。带状态切换的跳转,如果条原创 2017-08-09 09:52:33 · 1188 阅读 · 0 评论 -
mprop工具修改Android的default.prop使其可调试
Android系统在跑起来后,会将default.prop文件里的配置信息写进内存C:\Users\wangz>adb shellroot@jflte:/ # cat default.prop## ADDITIONAL_DEFAULT_PROPERTIES#ro.secure=0ro.allow.mock.location=0ro.debuggable=0ro.adb.secu原创 2017-08-08 21:05:46 · 6224 阅读 · 1 评论 -
android下运行时动态链接dlopen()和dlsym()的实现
在android中,就如同在Linux下一样,我们也可以在app中,运行时动态加载一些动态链接库,执行调用其中的函数等操作。实现这一切最终依靠的就是dlopen()等几个函数。关于这几个函数的原型机这些API的用法,可以参考 LINUX下动态链接库的使用-dlopen dlsym dlclose dlerror这一篇。而此处我们就来看一下,在android c标准库的bionic中,这些函数究转载 2017-08-07 16:44:47 · 3234 阅读 · 0 评论 -
Android内存数据读取与修改/内存代码注入/内存dump
在Android的逆向时,对内存数据的操作主要有三种:内存数据读取与修改,内存代码注入,内存dump。之前对这三种操作的概念比较模糊,因此找了些资料整理如下,加深自己的理解。修改数据修改内存数据修改内存数据需要在十六进制窗口中进行编辑,可先将反汇编窗口与十六进制窗口同步。如下图所示,在反汇编窗口中点击鼠标右键弹出菜单,选中”Synchroni原创 2017-07-18 14:36:52 · 24911 阅读 · 2 评论 -
Android Linker 与 SO 加壳技术
1. 前言Android 系统安全愈发重要,像传统pc安全的可执行文件加固一样,应用加固是Android系统安全中非常重要的一环。目前Android 应用加固可以分为dex加固和Native加固,Native 加固的保护对象为 Native 层的 SO 文件,使用加壳、反调试、混淆、VM 等手段增加SO文件的反编译难度。目前最主流的 SO 文件保护方案还是加壳技术, 在SO文件加壳和脱转载 2017-07-17 15:45:09 · 574 阅读 · 0 评论 -
Android Linker浅析
原文出处:http://blog.csdn.net/dinuliang/archive/2010/04/20/5509009.aspxandroid linker 浅析Android 的加载/链接器linker 主要用于实现共享库的加载与链接。它支持应用程序对库函数的隐式和显式调用。对于隐式调用,应用程序的编译与静态库大致相同,只是在静态链接的时候通过--dynamic-linker转载 2017-08-31 14:51:18 · 930 阅读 · 0 评论