
reverse
akswyh
这个作者很懒,什么都没留下…
展开
-
(Xposed)编写第一个Xposed模块
编写第一个Xposed模块1.创建项目在创建项目时,选择一个有MainActivity的项目,要是注册空项目还要自己去注册入口activity2.添加Xposed提供的jar到lib目录3.修改build.gradle只编译这两个compileOnly 'de.robv.android.xposed:api:82'compileOnly 'de.robv.android.xposed:api:82:sources'不能参与打包APK,否则安到手机上XP框架会报错(Gradle的语法要学原创 2022-04-12 10:54:48 · 1494 阅读 · 0 评论 -
(frida小记)学习frida中文文档
Frida的动态代码执行功能,主要是在它的核心引擎Gum中用C语言来实现的。执行脚本:import fridasession = frida.attach("cat")print([x.name for x in session.enumerate_modules()])输出[u'cat', …, u'ld-2.15.so']其中:enumerate_modules() 函数枚举当前进程中所有加载的模块。模块枚举enumerate_modules()枚举内存块enumerat原创 2022-04-09 19:32:09 · 6570 阅读 · 2 评论 -
(frida小记)native层Hook
native层Hook写到这里需要说明一下关于so文件当中的函数,分为导出函数和未导出函数两种,导出函数打开IDA后能够在导出表中找到的函数就是导出函数,未导出函数则在导出表中寻找不到,一般来说静态编写的native函数都能在导出表中寻找到,而动态加载的则无法在导出表中发现!!!Hook的目标依然是01里面编译出的APKpython frida native:# coding:utf-8import fridaimport sysjscode = """Java.perform(func原创 2022-04-09 18:59:28 · 4060 阅读 · 0 评论 -
(frida小记)java层Hook
java层Hook效果这里只是替换了返回值类型为String 的java层方法的返回值。APK主要代码,忽略底下的Native函数定义。。。package com.alex.nativehooktarget;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import androi原创 2022-04-09 18:50:48 · 395 阅读 · 0 评论 -
(frida小记)关于frida的打印输出
一般使用send或console打印输出console可以这样做:function hello_printf() { Java.perform(function () { console.log(""); console.log("hello-log"); console.warn("hello-warn"); console.error("hello-error"); });}setImmediate(hello_pr原创 2022-04-09 18:08:47 · 2617 阅读 · 0 评论 -
(frida小记) 04 Hook类的所有方法及Hook动态加载的dex
Hook类的所有方法示例//hook类的所有方法function hooktest10(){ Java.perform(function(){ var md5Util=Java.use("com.alex.javahooktarget.HashUtil"); var methods=md5Util.class.getDeclaredMethods(); for(var j=0;j<methods.length;j++){原创 2022-04-09 18:00:13 · 4977 阅读 · 0 评论 -
(frida小记) 03 修改类成员及枚举所有类和类的方法
修改类成员修改静态static的类成员(类被初始化时就创建了)修改非静态的类成员(类被实例化时才创建),当出现同名的name参数和name方法时,要修改参数name时要写成_name!!!//hook类成员字段function hooktest8(){ Java.perform(function(){ //对于静态字段static var myuser=Java.use("com.alex.javahooktarget.MyUser"); my原创 2022-04-09 17:50:12 · 1384 阅读 · 0 评论 -
(frida小记) 02 内部类hook
内部类hook内部类的分类成员内部类,作为一个类成员,可以拥有private访问权限、protected访问权限、public访问权限及包访问权限。局部内部类,作用域在一个方法或者一个作用域里面的类,就像是方法里面的一个局部变量一样,是不能有public、protected、private以及static修饰符的。匿名内部类,没有构造器的类,大部分匿名内部类用于接口回调。匿名内部类在编译的时候由系统自动起名为Outter$1.class。一般来说,匿名内部类用于继承其他类或是实现接口,并不需要增加原创 2022-04-09 17:43:52 · 2836 阅读 · 0 评论 -
(frida小记) 01 构造函数及重载函数的hook
frida的安装和配置暂略构造函数的hookfunction hooktest(){ var mUser=Java.use("com.alex.javahooktarget.MyUser"); mUser.$init.overload().implementation=function(){ console.log("进入MyUser构造函数"); this.$init(); }}在这种条件下注入会发现,一开始点击按钮发现,console并没原创 2022-04-09 17:27:27 · 3162 阅读 · 0 评论