Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

control flow obfuscation, dynamic code generation, highly nested functions, and some closure functions #260

Open
zhangyupy opened this issue Dec 30, 2024 · 2 comments
Labels
wontfix This will not be worked on

Comments

@zhangyupy
Copy link

Currently, the functionality can only handle simple variable name obfuscation, but it is not applicable to common obfuscation techniques such as complex control flow obfuscation, dynamic code generation, highly nested functions, and some closure functions.

@jehna
Copy link
Owner

jehna commented Dec 30, 2024

it is not applicable to common obfuscation techniques such as complex control flow obfuscation, dynamic code generation, highly nested functions, and some closure functions

Obfuscation is now handled by the package webcrack, which is a direct dependency of this project. If you need any further deobfuscation capabilities, please open an issue at the webcrack side – any new features will automatically be included in the future Humanify releases.

If you have any ideas on how to implement these features using LLMs, then I'd be happy to try to implement them at Humanify side.

@jehna jehna added the wontfix This will not be worked on label Dec 30, 2024
@jehna jehna changed the title hope new feature control flow obfuscation, dynamic code generation, highly nested functions, and some closure functions Dec 30, 2024
@Acters
Copy link

Acters commented Jan 5, 2025

Since the LLMs are used to rename and "humanify" variables and function and the like.

It would be nice if it can rename "Labeled statements" that is used for while or for loops. As of right now, they remain untouched. This feature might be a bit complex to do as I do notice some obfuscated JS files have the labels repeated for separate while loops or the same name reused in a lambda(due to it being a separate namespace it does not affect the label or redefined the variable)

Lambda functions are also have their variables untouched, too. though it might be also complex due to them being used in .reduce( ) statements often in obfuscated code.

otherwise this is a great project and keeps it simple and clean. Most other forms of obfuscation should be directed towards the webcrack team.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

4 participants
@jehna @Acters @zhangyupy and others