![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
看雪3W课学习笔记
学习看雪3W课的学习笔记,详细记录了学习过程,包括自己学习过程中的代码和感悟与注意事项。
优惠券已抵扣
余额抵扣
还需支付
¥29.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
人工智能-肥鹅
这个作者很懒,什么都没留下…
展开
-
Native层和Java层frida打印调用堆栈
方法2.根据需求修改类名和方法名。二、打印native层调用栈。一、Java层打印调用堆栈。原创 2022-09-19 10:27:26 · 3128 阅读 · 0 评论 -
看雪3万课程笔记-FRIDA高级API实用方法:主动调用so函数
一、简介:本节为延伸内容,本节使用APP为攻防世界: APP漏洞第二题.apk二、实战:1、jadx-gui 打开,查看 MainActivity 定位关键代码:来到SecondActivity类导出窗口直接搜索doRawData,.mytext 代码无法F5 查看伪代码,选中代码下拉后按P 解析成函数。箭头处为秘钥,此时我们 根据java层的if对比"VEIzd/V2UPYNdn/bxH3Xig==" 进行解密得出:aimagetencent但这并不是我..原创 2022-05-17 18:19:54 · 2139 阅读 · 4 评论 -
看雪3万课程笔记-Frida 辅助分析ollvm字符串加密(一)
一、ollvm的混淆原理:视频中是这样说的,程序在编译过程中会加密字符串,运行时会解密字符串,所以在运行过程中我们可以获取到它真正的字符串,二、操作:IDA打开.so文件,在导出函数中搜索.data会发现三个.datadiv_decode+随机数字段。双击进入双击一个进入如图,比如我们想看看byte_37031,byte_37031是什么字符。打开010 Editorfile -> new -> new hex file打开一个新的十六进制文本,输入 15原创 2022-03-04 10:48:54 · 904 阅读 · 0 评论 -
看雪3万课程笔记-FRIDA高级API实用方法:Frida Hook Java(五)访问内部类函数
本节接上一节课,APP进入第四关。本节知识点为访问内部类函数:观察代码可以发现关键判断点为六个内部类函数的返回值是否为true相应hook代码:function hook_InnerClasses(){ //访问内部类函数 Java.perform(function(){ //访问内部类时,在当前类后加$符号,后跟内部类名 var InnerClasses = Java.use("com.example.androiddemo.Acti.原创 2022-02-16 11:36:17 · 573 阅读 · 0 评论 -
看雪3万课程笔记-Frida 辅助分析ollvm字符串加密(二)
接上一篇文章。一、使用到工具hellojni_2.0.1.apk二、知识点:ARM64中才会出现数组形加密字符串。三、课程步骤:将.so文件拖入IDA64,在导出函数中我们发现搜索不到.data或者decode。此时我们回到IDA-viewA窗口中按下CTRL+S调出XX窗口找到.init_array进入.initarray中可以看到三个函数,我们进入第一个,然后F5 stru_37010[0] = veorq_s8(stru_37010[0], v0);.原创 2022-03-10 13:59:17 · 579 阅读 · 1 评论 -
看雪3万课程笔记-FRIDA高级API实用方法:Frida Hook Java(八)APP启动时进行hook
此节可开始使用APP为:kgb-messenger.apk本节知识点:APP启动时进行HOOK,命令如下:frida -U --no-pause -f com.tlamb96.spetsnazmessenger -l hook.js//关键命令 --no-pause -fjava使用的系统命令库地址为:java.lang.* 例如:Java.use("java.lang.System");java中R为前缀的资源内容可以在以下路径中查找,例如字符资源:jadx中 资源文原创 2022-02-18 14:33:37 · 823 阅读 · 0 评论 -
看雪3万课程笔记-FRIDA高级API实用方法:Frida Hook Java(七)遍历所有类对类方法hook
本节接上一节课,APP进入第六关。本节知识点为遍历所有已加载类并hook类方法:本关代码如下:有两种方法可以过本关卡:方法1:直接hookfunction hook_FridaActivety6(){ Java.perform(function(){ var Frida6Class0 = Java.use("com.example.androiddemo.Activity.Frida6.Frida6Class0"); Frida6Class原创 2022-02-16 17:54:19 · 1286 阅读 · 1 评论 -
看雪3万课程笔记-FRIDA高级API实用方法:Frida Hook Native层
一、使用工具:apk:攻防世界中CTF题,安装后图表显示黑客精神 xman.apk工具:IDA,jadx二、分析:1、首先jadx打开app分析java代码从上图可以看出关键判断点为MyApp中m的值,从图二可以看出MyApp的方法注册在native层。有initSN、saveSN、work三个函数。2、解压apk用IDA打开libmyjni.so文件。导出函数中不能直接搜索到上面三个函数,我们直接双击JNI_ONLOAD,F5查看伪代码当我们手动更改Get.原创 2022-03-02 14:39:36 · 1348 阅读 · 0 评论 -
看雪3万课程笔记-FRIDA高级API实用方法:Frida Hook Java(六)hook动态dex
本节接上一节课,APP进入第五关。本节知识点为hook动态dex:观察代码可以发现关键判断点处 getDynamicDexCheck() 的 check()方法在代码中无法找到。根据代码发现在getDynamicDexCheck为null时会动态加载dex文件。首先我们要捋一下访问动态dex的流程:1、使用选择器choose主动调用方法名(本例:getDynamicDexCheck),并获取方法的类名.$className2、 利用enumerateClassLoaders遍历所原创 2022-02-16 16:29:54 · 1094 阅读 · 0 评论 -
看雪3万课程笔记-FRIDA高级API实用方法:Frida Hook Java(四)读写静态变量和非静态变量
本节接上一节课,APP进入第三关。本节知识点为读写静态变量和非静态变量:观察代码可以发现关键判断点为三个变量的值是否为True,其中一个私有变量名同函数名一样。相应hook代码:function call_FridaActivity3() { //读写静态变量和非静态变量 Java.perform(function(){ var FridaActivity3 = Java.use("com.example.androiddemo.Activity..原创 2022-02-16 11:15:44 · 1911 阅读 · 4 评论 -
看雪3万课程笔记-FRIDA高级API实用方法:Frida Hook Java(二)
本节接上一节课,APP进入第一关。jadx点击代码跟进到相应代码处进行分析:根据下图可以看到,关键判断点在a函数返回的值是否等于后面的字符串,破解思路:直接hook a函数让其返回这个字符串。在第一节hook代码中加入: var FridaActivity1 = Java.use("com.example.androiddemo.Activity.FridaActivity1"); FridaActivity1.a.implementation =原创 2022-02-16 10:32:21 · 456 阅读 · 1 评论 -
看雪3万课程笔记-FRIDA高级API实用方法:Frida Hook Java(三)主动调用静态函数和非静态函数
本节接上一节课,APP进入第二关。本节知识点为主动调用静态函数和非静态函数的实现:观察代码可以发现关键判断点为两个变量的值是否为True,有两个改变值得函数可以调用。hook代码:function call_FridaActivity2() { //主动调用函数 Java.perform(function () { var FridaActivity2 = Java.use("com.example.androiddemo.Activity.FridaA原创 2022-02-16 10:55:54 · 2650 阅读 · 2 评论 -
看雪3万课程笔记-FRIDA高级API实用方法:Frida Hook Java(一)
一、环境:1、安装frida的已root手机2、课程配套的apk文件二、需具备的知识点:1、在命令行执行frida的hook脚本frida -U {APP包名} -l {脚本文件}2、命令行像文本框输入文本adb shellinput test "文本内容"#手机文本框获取焦点后运行三、课程内容1、通过提示字符串在jadx中找到对应的判断位置2、找到判断的代码3、找到调用的函数4、编写hook代码function hook_jav..原创 2022-02-10 17:17:34 · 1936 阅读 · 2 评论