插装动态勾选一些常见自吐算法

常用的加密算法
对称加密算法

AES,DES,3DES

非对称加密算法

RSA

消息摘要算法

md算法家族 md2,md4,md5

sha算法家族 SHA-1,SHA-256,SHA-

Mac算法家族 HmacMd5,HmacSHA256

热插拔动态调试的原理

在app的加密中,绝大多数的加密方式都会采用上述的常用加密算法,有时候有的小型APP通过一些加固处理,很难反编译出来,那么对他上面的加密算法进行hook,可以很好的解决这个问题。

在某个app运行的过程中,hook到某个加密算法后,将调用这个加密方法的入参打印出来,然后再将返回结果打印处理;又知道是采用哪个加密算法。这样很容易就能分析出加密逻辑。

Java层的算法的代码实现步骤:1.初始化一个key,2.ciper确定一个加密模式(getInstaceinit),3. 执行加密 dofinal

热插拔动态调试的js代码

如下的js代码来源 https://blog.youkuaiyun.com/weixin_34365417/article/details/93088342 ,原来的代码时python的,我将python代码提取出来,改为纯的js代码。

function showStacks() {
   
    Java.perform(function () {
   
        console.log(Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()));
    });
}

(function () {
   
    var base64EncodeChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
        base64DecodeChars = new Array((-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), (-1), 62, (-1), (-1), (-1), 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, (-1), (-1), (-1), (-1), (-1), (-1), (-1), 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, (-1), (-1), (-1), (-1), (-1), (-1), 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, (-1), (-1), (-1), (-1), (-1));
    this.stringToBase64 = function (e) {
   
        var r, a, c, h, o, t;
        for (c = e.length, a = 0, r = ''; a < c;) {
   
            if (h = 255 & e.charCodeAt(a++), a == c) {
   
                r += base64EncodeChars.charAt(h >> 2),
                    r += base64EncodeChars.charAt((3 & h) << 4),
                    r += '==';
                break
            }
            if (o = e.charCodeAt(a++), a == c) {
   
                r += base64EncodeChars.charAt(h >> 2),
                    r += base64EncodeChars.charAt((3 & h) << 4 | (240 & o) >> 4),
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值