使用过frida hook的js代码
Go to file
2026-05-28 14:42:04 +08:00
apps [fixed] update domain 2026-04-10 17:43:00 +08:00
change_android [fixed] add change android_id 2023-08-04 09:34:22 +08:00
frida_dumps [fixed] update1 2025-11-13 15:03:35 +08:00
frida_hook_libart 添加 frida_dumps and frida_hook 2022-10-08 15:15:03 +08:00
justtrustme [fixed] add just trust me 2022-11-24 18:05:19 +08:00
small_program [fixed] add v3.9.7.29 小程序 2023-10-17 17:23:49 +08:00
ssl_pinning [fixed] add 证书锁定解决 2023-02-24 13:03:34 +08:00
web [fixed] update1 2026-05-28 14:42:04 +08:00
.gitignore Initial commit 2022-10-08 15:04:38 +08:00
LICENSE Initial commit 2022-10-08 15:04:38 +08:00
README.md [fixed] update getBytes 2023-04-27 15:15:36 +08:00

frida_js

使用过frida hook的js代码自用

apps

一些hook的app记录

apps

脱壳

脱壳 frida_dump

yang神hook代码

frida_hook_libart

知识点
  1. Java中 byte 类型的强转
    bArr[i2] = (byte) (255 & j2)
# 实现java的类型强转 (byte) 2093322535     # -256 ~ 255  # -128 ~ 127
def int_to_byte(target_int: int) -> int:
    if -128 <= target_int <= 127:
        return target_int
    cc = bin(target_int)
    byte_cc = cc[-8:]
    if byte_cc.startswith('1') and target_int < 0:
        return -(int(byte_cc, 2) - 256)
    if byte_cc.startswith('1') and target_int > 0:
        return int(byte_cc, 2) - 256
    if byte_cc.startswith('0') and target_int > 0:
        return int(byte_cc, 2)
    return -(int(byte_cc, 2))
  1. Python中 针对于 负数的十进制 转为二进制
def int_to_bin(number, index, feature=True):
    """
    index为该数据位宽,number为待转换数据,
    feature为True则进行十进制转二进制为False则进行二进制转十进制。
    """
    # 十进制转换为二进制
    if feature is True:
        if number >= 0:
            b = bin(number)
            b = '0' * (index+2 - len(b)) + b
        else:
            b = 2 ** index + number
            b = bin(b)
            # 注意这里算出来的结果是补码
            b = '1' * (index+2 - len(b)) + b
        b = b.replace("0b", "")
        b = b.replace("-", "")
        return b
    # 二进制转换为十进制
    elif feature is False:
        i = int(str(number), 2)
        # 如果是负数
        if i >= 2**(index-1):
            i -= (2**index-i)
            return i
        else:
            return i
  1. 对一个数组的长度字节 []byte 转为base64 参考代码
c = [-86, 105, -105, 34, 1, -89, -111, 120, 56, 50, 57, 51, 99, 48, 99, 48, 49, 50, 48, 102, 56, 55, 99, 98, 101, 57, 99, 97, 99, 57, 99, 56, 53, 98, 102, 98, 50, 55, 50, 100, 101, 53, 99, 97, 57, 55, 98, 51, 100, 54, 100, 98, 100, 53, 99, 51]
d = ['10101010', '01101001', '10010111', '00100010', '00000001', '10100111', '10010001', '01111000', '00111000', '00110010', '00111001', '00110011', '01100011', '00110000', '01100011', '00110000', '00110001', '00110010', '00110000', '01100110', '00111000', '00110111', '01100011', '01100010', '01100101', '00111001', '01100011', '01100001', '01100011', '00111001', '01100011', '00111000', '00110101', '01100010', '01100110', '01100010', '00110010', '00110111', '00110010', '01100100', '01100101', '00110101', '01100011', '01100001', '00111001', '00110111', '01100010', '00110011', '01100100', '00110110', '01100100', '01100010', '01100100', '00110101', '01100011', '00110011']
end = "qmmXIgGnkXg4MjkzYzBjMDEyMGY4N2NiZTljYWM5Yzg1YmZiMjcyZGU1Y2E5N2IzZDZkYmQ1YzM="
  1. python版生成Base64 (参照网上)
    Python Base64代码
  2. Android的Base64源码
    Android Base64源码
  3. Java中str1.getBytes() python实现
cstr = "天下大吉"
b = cstr.encode('utf-8')
b_arr = [x if x < 128 else x - 256 for x in b]
print(b_arr)


bytes_list = [x + 256 if x < 0 else x for x in b_arr] # 转换为无符号字节值
b = bytes(bytes_list)
s = b.decode('utf-8')
print(s)