脱壳加固反调试
乡村隐士
宝剑锋之磨砺出,梅花香自苦寒来。
展开
-
360脱壳_之memcmp
auto fp,addr_start,addr_now,size,addr_end;addr_start = 0x62509000;size = 0x6A7968;addr_end = addr_start+size;fp=fopen(“C:\dump.dex”,“wb”);for(addr_now = addr_start;addr_now<addr_start+size;add...原创 2019-10-02 00:40:21 · 451 阅读 · 0 评论 -
小米商城_类抽取分析(插件plugin动态解密)
一些app 希望能动态加载 或者说是 增加逆向难度把部分类 写到插件里 实际用到的时候 再把插件加载到 内存里去然后再xiaomi.apk1:先抓包2:androidkiller反编译搜索关键字搜索不到再多搜几个关键字 发现 还是搜不到那么这是什么原因了这时我们就要想到 是 部分关键类 被 抽取了然后我们到 assets 文件夹里 看到 有 plugins 文件夹...原创 2019-09-29 18:10:23 · 481 阅读 · 0 评论 -
android 反编译、反调试方法总结
0x01 前言最近在分析的很多应用都使用了XXX加固,研究半月未见成效,原因是对反调试的方法和原理不够熟悉,导致无法对程序进行进一步分析和调试,故整理收集现有调试和反调试方法以便加深理解。...转载 2019-09-29 22:19:45 · 608 阅读 · 0 评论 -
android 反编译、反调试方法总结2
0x06 CM中的那些壳子加固手法1.不替换源classes.dex,也没有做任何加密的处理,对classes.dex中的Activity,service, receiver等的oncreate,onReceive,加密替换,壳首先拿到执行权,在自身so里完成对源dex还原。2.不替换源classes.dex,也没有做任何加密的处理, 修改原Dex的Class_Data,将MyConte...原创 2019-09-29 23:42:41 · 261 阅读 · 0 评论 -
动态注册Java接口函数 静态分析被隐藏(加密)时 动态调试解密方法
JNI_OnLoad 里 第三个参数 是一个方法表 里面是 java层接口函数 与 so层里真实的函数 的 映射每3个DCD为一组 Java层函数 前面 so层真实函数 地址按理说 每一组的 第一个DCD为Java层函数 是一个 可见的 字符串然而 这里却 看不到 这个字符串 , 为啥呢?是因为 它被加密了 IDA没分析出来那么我们怎么才能找到这个映射函数呢?我们思路是...原创 2019-09-30 01:41:33 · 320 阅读 · 0 评论 -
内存中提取SO(so里代码被加密时解决办法)
当碰到So里代码 被加密时我们怎么处理了 如何得到解密后的东西了思路是这样:当程序运行时 so被加载的时候 这时候 加载到内存中的时候 的so是解密后了的那么我们就在 动态调试时 加载了这个so后 到Module 模块列表里找到 这个so 可以看到 它的 Base 和 Size通过这两个值 so在内存中的起始地址 和 这个so的大小 我们就可以 dump出来 解密后的 so用...原创 2019-09-30 01:54:27 · 2467 阅读 · 0 评论 -
So自加密解密(找不到JNI_Onload 跟 init_array)
Shelldemo.apk里 libdemo.so看到 getString 这个函数下面是一堆DCD 行说明这个函数 被加密了那么如何得到它真实的 函数样子了?我们得知 在运行的时候 so被加载的时候 是要先被解密 然后加载进内存的我们就想到 在libdvm.so 系统so 里的 loadnative(是关键字不全)这个函数里 这个函数里 有去加载 apk的 so的 J...原创 2019-09-30 22:46:35 · 2928 阅读 · 2 评论 -
爱加密脱壳
关键字:libdvm DexFileOpenPartialPK fopen样本:MtkEditer原版.apk反编译 查壳 有爱加密壳脱壳:0x1:adb shellsuchmod 755 /data/local/tmp/as/data/local/tmp/as0x2:adb forward tcp:23946 tcp:239460x3:adb shellam st...原创 2019-10-01 17:10:15 · 2099 阅读 · 0 评论