|
|
通过本教程可防止一键解密工具
还原出IAPP V3的iyu代码
首先打包后的APK中,在DEX搜索类名
com.iapp.app.f
在最下面的b方法头部,添加
- const-string p0, "123456.txt"
复制代码
这样就完成了狸猫换太子,读取的文件
从lib.so变成了123456.txt
看箭头指的u方法,我们跳转过去
将原本的u方法修改,改成下面的代码
- .method public static u(Landroid/content/Context;Ljava/lang/String;)[B
- .registers 11
- const/4 v0, 0x0
- :try_start_1
- invoke-virtual {p0}, Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;
- move-result-object p0
- invoke-virtual {p0, p1}, Landroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream;
- move-result-object p0
- :try_end_9
- .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_9} :catch_a
- goto :goto_b
- :catch_a
- move-object p0, v0
- :goto_b
- if-nez p0, :cond_e
- return-object v0
- :cond_e
- invoke-static {p0}, Lc/b/a/a/d;->w(Ljava/io/InputStream;)[B
- move-result-object p0
- if-eqz p0, :cond_3a
- array-length p1, p0
- if-lez p1, :cond_3a
- const v1, 0x37e7f5
- const/4 v2, 0x0
- :goto_1b
- if-ge v2, p1, :cond_3a
- aget-byte v3, p0, v2
- rem-int/lit8 v4, v2, 0x3
- const/4 v5, 0x0
- if-nez v4, :cond_29
- shr-int/lit8 v4, v1, 0x10
- and-int/lit16 v4, v4, 0xff
- goto :goto_33
- :cond_29
- const/4 v6, 0x1
- if-ne v4, v6, :cond_31
- shr-int/lit8 v4, v1, 0x8
- and-int/lit16 v4, v4, 0xff
- goto :goto_33
- :cond_31
- and-int/lit16 v4, v1, 0xff
- :goto_33
- xor-int/2addr v3, v4
- int-to-byte v3, v3
- aput-byte v3, p0, v2
- add-int/lit8 v2, v2, 0x1
- goto :goto_1b
- :cond_3a
- return-object p0
- .end method
复制代码
然后将我们的lib.so(123456.txt)解压出来
使用py进行一次异或加密
- def encrypt_file(input_file, output_file):
- key = 0x37e7f5
- with open(input_file, 'rb') as f:
- data = f.read()
-
- encrypted = bytearray()
- for i, byte in enumerate(data):
- # 使用密钥的不同字节进行XOR
- if i % 3 == 0:
- key_byte = (key >> 16) & 0xFF # 0x37
- elif i % 3 == 1:
- key_byte = (key >> 8) & 0xFF # 0xe7
- else:
- key_byte = key & 0xFF # 0xf5
-
- encrypted.append(byte ^ key_byte)
-
- with open(output_file, 'wb') as f:
- f.write(encrypted)
- # 使用示例
- encrypt_file('lib.so', 'lib.so')
复制代码
如果没有py环境可用html版[下方链接含有]
加密后重命名替换回去,就完成了加密
完整的视频教程和所用的代码
下载地址
https://www.123912.com/s/08Ckjv-6KXjh
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|