首页
社区
课程
招聘
[原创]frida动态加载和hook dex
发表于: 2023-12-1 10:30 8880

[原创]frida动态加载和hook dex

2023-12-1 10:30
8880

首先我们自制一个dex,简单封装一个MD5的样例。代码如下:

然后我们开始打包编译成dex文件。

开始编写frida 脚本,代码如下:

package com.example.xibei;
import java.math.BigInteger;
import java.security.MessageDigest;
 
public class SignMd5 {
    public static String md5(String str){
 
        try {
            // 生成一个MD5加密计算摘要
            MessageDigest md = MessageDigest.getInstance("MD5");
            // 计算md5函数
            md.update(str.getBytes());
            return new BigInteger(1, md.digest()).toString(16);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
 
    }
}
package com.example.xibei;
import java.math.BigInteger;
import java.security.MessageDigest;
 
public class SignMd5 {
    public static String md5(String str){
 
        try {
            // 生成一个MD5加密计算摘要
            MessageDigest md = MessageDigest.getInstance("MD5");
            // 计算md5函数
            md.update(str.getBytes());
            return new BigInteger(1, md.digest()).toString(16);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
 
    }
}
jar -cvf xibei.jar com/example/xibei
jar -cvf xibei.jar com/example/xibei
/root/Android/Sdk/build-tools/30.0.3/dx --dex --output xibei.dex xibei.jar
/root/Android/Sdk/build-tools/30.0.3/dx --dex --output xibei.dex xibei.jar
adb push /data/local/tmp/xibei.dex
 
chmod 777 xibei.dex
adb push /data/local/tmp/xibei.dex
 
chmod 777 xibei.dex
function dy_dex() {
    var xibei = Java.openClassFile("/data/local/tmp/xibei.dex");
    Java.perform(function () {
        xibei.load();
        var md5Clazz = Java.use("com.example.xibei.SignMd5");
        console.log("md5 sign :", md5Clazz.md5("123456"));
    })
}
 
function main() {
    dy_dex()
 
}
 
setImmediate(main)
 
// 结果 : [Google Pixel 2 XL::WiFi ADB]-> md5 sign : e10adc3949ba59abbe56e057f20f883e
function dy_dex() {
    var xibei = Java.openClassFile("/data/local/tmp/xibei.dex");
    Java.perform(function () {
        xibei.load();
        var md5Clazz = Java.use("com.example.xibei.SignMd5");
        console.log("md5 sign :", md5Clazz.md5("123456"));
    })
}
 
function main() {

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 5
支持
分享
最新回复 (3)
雪    币: 3004
活跃值: (30866)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
感谢分享
2023-12-3 22:59
1
雪    币: 116
活跃值: (1012)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
支持一下
2023-12-4 17:56
0
雪    币: 922
活跃值: (1803)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
4
学习!
2023-12-5 17:09
0
游客
登录 | 注册 方可回帖
返回
//