so层函数地址的计算

在导入表、导出表、符号表里找不到的函数,地址需要自己计算 计算方式:so基址+函数在so中的偏移+1 因此需要先得到so的基址,也就是模块基址 1234567891011121314151617181920// 各种方式得到so基址var module1 = Process.findModuleByName("libencryptlib.so&qu...

阅读全文

okhttp3的证书检测绕过

okhttp3比URLConnection更常见,而且基于okhttp3还衍生出很多web框架 使用okhttp3发送GET和POST请求DataPost.java 12345678910111213141516171819202122232425public class DataPost { public static void post(...

阅读全文

objection的安装和使用

objection的安装objection对frida做了进一步的封装,通过输入一系列的命令即可完成hook 安装objection之前,先要安装frida和frida-tools 为了有更好的兼容性,版本最好兼容,选择当前frida版本之后更新的objection,objection历史版本查看地址 https://pypi.org/project/obj...

阅读全文

jnitrace应用

抓包 12345678910111213141516POST /mobile/login/pwd/v3 HTTP/1.1Cookie: 1&_device=android&33a5bf7e-3a1f-304d-88c0-2aa86f82e18d&6.6.99;channel=and-f5;impl=com.ximalaya.ting....

阅读全文

修改系统源码进行脱壳-FART脱壳方案

抽取加固脱壳方案被抽空的函数什么时候被还原?被执行的时候。怎么让函数执行?两个方法,被动调用和主动调用。 被动调用指app运行过程中所发生的函数调用,只对dex中部分的类完成加载,只对dex中的部分函数完成调用,被动调用也可以用来完成函数粒度的修复,待app将dex中的类正常加载并完成相关函数的调用之后,再进行dex的dump。缺点是调用函数不全,而且有些壳...

阅读全文

hook so文件加载关键函数

hook initarray如果init、initarray的函数是反调试函数的话,我们需要把这些函数给hook掉 hook时机分析 123456789101112131415161718192021222324252627282930void* do_dlopen(const char* name, int flags, co...

阅读全文

frida算法转发

简单说就是实在逆向不出来算法了,就在js代码里主动调用app的加密的函数,然后把加密之后的结果作为参数直接提交 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849import requests, jsonimport fridajs...

阅读全文

frida枚举so层关键数据

枚举导入表通过枚举导入表,可以得到出现在so模块导入表中的函数地址 1234567枚举导入表var improts = Module.enumerateImports("libencryptlib.so");for(let i = 0; i < improts.length; i++){ console.log(JS...

阅读全文

fridaAPI的使用

frida安装1234567891011121314151617181920212223242526pip install fridapip install frida-tools(frida-tools里有frida)frida --version版本对应frida12.3.6 Android5-6 python3.7frida12.8.0 Android...

阅读全文

fiddler数据转发

使用fiddler拦截数据包,把数据包发送到指定服务器,优点是不需要逆向,hook的代码都不用了,只需要抓包找到相应的数据链接即可,缺点是这是个半自动的爬取方案 想要实现fiddler数据转发,需要使用fiddler script,这是fiddler功能的扩展,用代码去控制fiddler fiddlersite.py 12345678910111213141...

阅读全文