Frida 0x2
发表于|更新于|安卓
|浏览量:
Frida 0x2


通过分析这个代码可以知道
我们只需要通过hook主动调用get_flag让a==4919就能输出flag
代码如下
1 | function hookTest2(){ |

文章作者: Gypsophilazj
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 啥都不会捏!
相关推荐

2025-07-11
Frida 0x1
Frida 0x1 根据上面的check方法可以看到 只要满足让(i*2)+4==i2这个条件就能够输出flag 所以我们只需要hook check方法中的i和i2的值就行 代码如下 12345678910111213141516171819202122function hookTest1(){ //获取一个名为"类名"的Java类,并将其实例赋值给JavaScript变量utils var utils = Java.use("com.ad2001.frida0x1.MainActivity"); //修改"类名"的"method"方法的实现。这个新的实现会接收两个参数(a和b) utils.check.implementation = function(a, b){ //将参数a和b的值改为123和456。 a = 1; b = 6; //调用修改过的"...

2025-07-11
Frida 0x3
Frida 0x3 这题也是,通过frida直接hook check.code更改这个静态变量的值为512即可 12345678910111213141516function hookTest3(){ Java.perform(function(){ //静态字段的修改s var utils = Java.use("com.ad2001.frida0x3.Checker"); //修改类的静态字段"flag"的值 utils.code.value = 512; console.log(utils.code.value); });}function main(){ Java.perform(function(){ hookTest3(); });}setImmediate(main);

2025-07-11
Frida 0x5
Frida 0x5 根据上述代码可知 我们需要用hook非静态方法的方式hook flag方法 让code==1337即可 12345678910111213141516171819function hookTest5(){ var ret = null; Java.perform(function () { Java.choose("com.ad2001.frida0x5.MainActivity",{ //要hook的类 onMatch:function(instance){ instance.flag(1337); //要hook的方法 }, onComplete:function(){ //console.log("result: " + ret); ...

2025-07-11
Frida 0x4
Frida 0x4 这里我们照常看到mainactivity 发现只是对这个界面进行了一些设置 没有flag 又看到存在一个check类 点开里面发现有get_flag函数 但是这个方法实现完flag并不会输出到程序中去,而是作为返回值 所以我们需要通过hook构造一个Check类,再调用这个类中的get_flag令a==1337并且打印执行这个方法之后的返回值 12345678910111213function hookTest4(){ var ClassName=Java.use("com.ad2001.frida0x4.Check"); var instance = ClassName.$new(); var a=instance.get_flag(1337); console.log(a);}function main(){ Java.perform(function(){ hookTest4(); ...

2025-07-11
Frida 0x7
Frida 0x7 根据如上代码,这一题有两个思路 第一个是hook Checker类的构造方法, 让num1>512并且num2>512即可输出flag 第二个思路是利用Checker类的构造方法再构造一个新的Checker类,传的num1和num2都要大于512 再把这个类传给flag方法,即可输出flag 代码如下 这里需要注意的是,方法1需要通过frida中的-f来启动,用-F来启动无法实现,因为程序在启动时就已经执行了flag(ch);所以即使hook了构造方法ch也已经通过hook之前的构造方法生成了 123456789101112131415161718function hookTest7_1(){ var utils = Java.use("com.ad2001.frida0x7.Checker"); //修改类的构造函数的实现,$init表示构造函数 utils.$init.overload('int','int').implementation = funct...

2025-07-11
Frida 0x8
Frida 0x8 可以看到这里的主要逻辑就是cmpstr这个方法,而这个方法又是在native层实现的,所以我们要进到so文件里面去看 从这我们可以看出s1就是我们输入的ip s2就是flag 所以,我们可以通过hook strcmp这个函数 来获取s2的值 但是需要注意的是 strcmp这个函数在很多地方都会被调用 所以直接打印s2的值会有很多值 但是也能从输出的数据找到flag 但也费时间 这里优化了一下 当s1的值满足特定条件的时候我们再输出s2的值 在代码中我是让s1=123 代码如下 1234567891011121314151617181920212223242526272829303132function hookTest8(){ Java.perform(function(){ //根据导出函数名打印地址 var helloAddr = Module.findExportByName("libfrida0x8.so","strcmp"); c...
公告
This is my Blog
