Skip to content
This repository has been archived by the owner on Aug 22, 2024. It is now read-only.

[FEAT] 花指令混淆几点加强建议 #17

Open
Nippaku-Zanmu opened this issue Jul 5, 2024 · 4 comments
Open

[FEAT] 花指令混淆几点加强建议 #17

Nippaku-Zanmu opened this issue Jul 5, 2024 · 4 comments
Assignees
Labels
enhancement New feature or request

Comments

@Nippaku-Zanmu
Copy link

目前生成的花指令只是一些简单的int类型变量定义 并且定义的变量没有被调用
个人感觉比较容易通过查找引用的方法排除掉无用的指令

以下是我对花指令混淆的一些想法
1.生成的花指令不只局限于int类型变量的定义 可以扩展到所有基本数据类型 , ArrayList String等常用的数据类型
2.生成无用的方法和类
3.在生成好的无效代码基础上增加调用
4.花指令中添加控制流 并使用if(false){} 或者 制造异常并捕获来跳过花指令的执行(对于调用频率不高的方法 用户自行配置)
5.自动查找代码中的静态方法生成花指令(使用上面的方法防止方法在运行过程中被调用)

@Nippaku-Zanmu
Copy link
Author

个人代码水平不高 仅代表个人观点

@4ra1n
Copy link
Member

4ra1n commented Jul 8, 2024

感谢,其中几条建议挺好的,我有空会尝试做下其中的部分内容

@4ra1n 4ra1n self-assigned this Jul 8, 2024
@4ra1n 4ra1n added the enhancement New feature or request label Jul 8, 2024
@4ra1n 4ra1n changed the title [建议] 花指令混淆 [FEAT] 花指令混淆几点加强建议 Jul 8, 2024
@4ra1n
Copy link
Member

4ra1n commented Jul 8, 2024

我目前做了下简单的 1,2 点

第 4 点加了个 if (false) 的简单混淆

先增加这些,其他功能之后再看看怎么搞

@Nippaku-Zanmu
Copy link
Author

我目前做了下简单的 1,2 点

第 4 点加了个 if (false) 的简单混淆

先增加这些,其他功能之后再看看怎么搞

一点小问题
1.对于新建非基本数据类型的花指令 对性能的影响可能比较大(尤其是在经常被调用的方法中) 可以考虑放入if(false)中
2.单纯的if(!true)比较明显 可以替换为if(System.currentTimeMillis()<40 && 3<4)这样的来增大反混淆难度 或者在别处定义一个
静态变量并重新赋值后在这里调用 防止反混淆时直接复制并运行判断条件来排除花指令(实现难度较大)
3.为各种语句生成的比例增加一个配置 用户可自由调节各种花指令出现的比例或者禁用某几种花指令的生成

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants