dpt-shell 抽取壳实现原理分析(加壳逻辑)
摘要:
开源项目位置(为大佬开源精神点赞) https://github.com/luoyesiqiu/dpt-shell 抽取壳分为两个步骤 加壳逻辑: 一 对apk进行解析,将codeItem抽出到一个文件中,并进行nop填充 二 对抽取后的apk进行加密 三 注入壳程序相关文件即配置信息 执行逻辑:
FART 脱壳机原理分析
摘要:
FART是一个基于Android 源码修改的脱壳机 可以脱整体壳和抽取壳 FART脱壳的步骤主要分为三步: 1.内存中DexFile结构体完整dex的dump 2.主动调用类中的每一个方法,并实现对应CodeItem的dump 3.通过主动调用dump下来的方法的CodeItem进行dex中被抽取的
Youpk 脱壳机脱壳原理分析
摘要:
Youpk 是一个针对整体加固和Dex抽取加固壳的脱壳机 主要是基于虚拟机的,也就是基于VA的脱壳机, 相对FART出来的更晚一些, 厂商针对少一些, 脱壳位置相对更底层一些,还提供了Dex修复的工具,简直棒棒 1. 先分析整体脱壳的原理 在ActivityThread 的 handleBindAp
IDA 常用快捷键记录
摘要:
常用快捷键1 1、切换文本视图与图表视图 空格键 2、返回上一个操作地址 ESC 3、搜索地址和符号 G 4、对符号进行重命名 N 5、常规注释 冒号键 6、可重复注释 分号键 7、添加标签 Alt+M 8、查看标签 Ctrl+M 9、查看段的信息 Ctrl+S 10、查看交叉应用 X 11、查看伪
Frida 原理
摘要:
frida注入的主要思路: 1.找到目标进程,使用ptrace跟踪目标进程 2.获取mmap,dlpoen,dlsym等函数库的偏移 3.获取mmap,在目标进程申请一段内存空间,将在目标进程中找到存放(frida-agent-32/64.so),在此内存空间启动执行各种操作由agent去实现。 补
Xposed 原理
摘要:
Xposed 使用替换app_process的方式(这是个二进制文件) xposed 的 app_main2.cpp中做了xposed的初始化 /** Initialize Xposed (unless it is disabled). */ bool initialize(bool zygote,
【Android逆向】某小说网站签名破解
摘要:
1. 豌豆荚下载v5.4的版本 2. 参考前面两篇文章进行反编译和重打包后,安装到手机发现会有验签失败的报错 抓取log 03-29 16:15:37.545 25910 26539 D KM-NATIVE: call Java_com_km_encryption_api_Security_sign
【Android 逆向】apk反编译后重打包
摘要:
1. 执行 apktool b smali_dir smali_dir 为反编译出来的数据目录 执行后可能会报错 I: Building resources... W: /root/Desktop/tmp/qimao_dir/qimao_v5.4/AndroidManifest.xml:1: err
【Android逆向】apk 反编译
摘要:
1. Kali搭建apktool环境 1. 访问apktool 官网https://ibotpeaches.github.io/Apktool/install/ 参考红圈里的步骤处理即可 2. 执行命令反编译apk apktool d ./xxxx_v5.4.apk 注意这里有可能因为assert目
【Android逆向】定位native函数在哪个so中方法
摘要:
1. 在逆向过程中经常需要定位方法在哪个so中,而app加载的so很多,比如 那么如何快速定位方法在哪里呢 2. 比如如下案例,首先看日志 03-28 11:01:56.457 14566 14566 D KM-NATIVE: JNI_OnLoad 03-28 11:01:56.457 14566