
Frida
文章平均质量分 74
Frida01 - 开发和调试环境搭建
Frida02 - 内存漫游,hook使用
Frida03 - 一个简单案例
Frida04 - 基本API用法
Frida05 - 高级API用法
Frida06 - 一个简单的综合案例
Frida07 - dexdump核心源码分析
二手的程序员
这个作者很懒,什么都没留下…
展开
-
Frida0D - hook JNIEnv 相关函数
想到 frida 可以注入 so,所以也可以考虑编译一个打印堆栈的 so,然后调用方法。上面,我们采用的是查询符号的地址,然后hook的方式。对这个函数的 hook,前一篇文章已经贴了一段代码了,这里简单分析一下就ok。JNIEnv 是一个结构体,整个结构体看成一个表,第 215 项对应的就是。,但是这里使用 frida 提供的不需要担心这个问题,有点神奇。namespace 是对的上的,说明是我们需要hook的符号。因为,JNIEnv 结构是不会变化的,所以这个相当实用。同样的,在处理参数的时候,原创 2024-09-11 15:03:17 · 549 阅读 · 0 评论 -
Frida0C - Module相关API
亲爱的读者你们好啊,今天主要分享一下 frida 相关的学习文档,见文章最后一节。原创 2024-09-11 14:57:54 · 409 阅读 · 0 评论 -
Frida0B - native hook
各位读者你们好啊,今天一起讨论下hook so 中的函数的相关 api。原创 2024-09-06 11:41:48 · 980 阅读 · 0 评论 -
Frida0A - 拦截okhttp
Okhttp 是一个网络框架,现在的Android应用基本都使用的是这个开源库了。想要拦截 OkHttp,首先就要熟悉它的API和原理。这里就不展开了,可以查找一些文章或者自己看源码。OkHttp的工作模式有点像 OSI 模型,它里面的拦截器就相当于一个层次。每个拦截器都负责两部分的工作:将请求进行封装,y = f(x)将返回结果解封装,y’ = f’(x)为了调试方便,OkHttp 里面还自带了一个日志拦截器:有了这个拦截器,就可以打印所有请求的请求体与响应体。原创 2024-09-06 11:37:52 · 996 阅读 · 0 评论 -
Fr09 - 调用Java方法ida
var bclazz = Java.use('这里写类名');字段也是一样。最后,需要熟悉 Android 的 API。二手的程序员欢迎关注二手的程序员,这里主要分享逆向相关的知识。专注于完整系列,让知识不再碎片化。不定时更新,也欢迎关注我的博客:lyldalek.top公众号。原创 2024-09-04 11:03:54 · 803 阅读 · 0 评论 -
Frida08-Javascript-中文文档
欢迎关注二手的程序员,这里主要分享逆向相关的知识。专注于完整系列,让知识不再碎片化。不定时更新,也欢迎关注我的博客:lyldalek.top。接下来的一个系列,会深入 frida,但是可能 api 还没有特别熟,所以就准备先过一下 api,顺便做个翻译文档,慢慢更新。文档链接,我开了评论与编辑权限,有兴趣的可以修改。 各位读者你们好啊,今天水一篇!翻译是使用的 GPT-4。原创 2024-09-04 10:59:39 · 273 阅读 · 0 评论 -
Frida07 - dexdump核心源码分析
文件头里面有一个 map_off 字段,它的值是 map_list 段在dex文件内的偏移。可以看到,逆向的重心,除了api用的熟之外,还需要对app本身的相关知识要有足够的了解才行。作者设置的比较宽泛,中间的两个字节表示的是 dex 的版本号,会搜索所有版本号的 dex。,coalesce 的值表示是否需要合并相同权限的内存段,默认是 false。这里也储存了自身的一个偏移,那么根据这两个东西,就可以认为这个是dex文件。比如,0x3c位置的字节必定是 0x70,因为文件头后面跟着的就是字符串。原创 2023-12-22 11:27:27 · 1099 阅读 · 0 评论 -
Frida06 - 一个简单的综合案例
看来上一关用了非正规的解法,上一关考研的是方法的调用,那这一关就不贴代码了,和上一贯差不过。发现,登录失败是走到了中间的 else if 逻辑里面,我们需要想办法让逻辑走到最后的 else 里面才行。LoginActivity.a 方法返回了一个字符串,obj2 是第二个输入框的字符串。所以这里是使用了第一个输入框的字符串做了一些变化,然后与第二个输入框的字符串比较。一般情况下,可能会直接写 6 个 hook函数,但是其实可以使用反射加循环来完成。去插件里面加载了一个类,我们需要 hook 这个类的方法。原创 2023-12-20 11:09:40 · 493 阅读 · 0 评论 -
Frida05 - 高级API用法
这里我们注册了一个类,com.example.demo2.SimpleBook2,并且实现了一个代理类,将 MainActivity 的字段替换之后,我们就可以让代理类来托管逻辑,做很多操作。项目里面不一定引入了Gson,所以我们需要自己编译一个gons库,放到手机里面,然后使用frida加载一下就可以使用了。有时候,我们想做一个AOPhook的时候,就需要实现一个接口,我们可以使用 registerClass 方法来做到。符合直觉,子类可以转成父类类型,但是调用的方法还是子类的。原创 2023-12-18 12:23:26 · 671 阅读 · 0 评论 -
Frida04 - 基本API用法
全部上传到了 github 上:https://github.com/aprz512/Android-Crack。原创 2023-12-14 09:32:25 · 496 阅读 · 0 评论 -
Frida03 - 一个简单案例
首先,尝试一下 hook com.example.yaphetshan.tencentwelcome.a 类,发现它虽然继承了 net.sqlcipher.database.SQLiteOpenHelper 但是无法 hook 到 getWritableDatabase 方法。回想一下,我们解压出来的目录里面有一个 Encrypt.db,所以很明显,这里是要我们拿到这个加密数据库的密钥。里面有一个 base.apk,这个 apk 很老了,只能运行在低版本下,否则会报 so 链接错误。原创 2023-12-13 09:34:19 · 606 阅读 · 0 评论 -
Frida02 - 内存漫游,hook使用
objection 还可以安装插件。首先,我们找到想要安装的插件,比如 Wallbreaker:安装成功:使用看文档就好了,简单演示一下:这个作者还有一个脱壳的插件:https://github.com/hluwa/frida-dexdump用法看文档就好了。原创 2023-12-12 09:57:19 · 1726 阅读 · 0 评论 -
Frida01 - 开发和调试环境搭建
/ 地址可以使用 wifi adb 查看通过这种方式,不需要使用 adb,省略了一些步骤。原创 2023-12-05 09:43:17 · 1169 阅读 · 0 评论