-
Notifications
You must be signed in to change notification settings - Fork 79
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
Consider using pionxzh/wakaru instead of/alongside webcrack #3
Comments
That's a great addition, thanks! I was searching for similar tools like webcrack, but I think I've missed |
It seems that |
@jehna No worries :) Yeah, I was looking pretty deep in this space only like 4 months ago and didn't come across
@jehna Yeah, definitely agree. |
https://github.com/pionxzh/wakaru#-using-the-api
|
Even though I ran into an issue with pionxzh/wakaru#134 , I found a simple bandaid fix to try to test it on some packages. |
@Acters Wakaru is specifically not a de-obfuscator. It's an un-minimiser.
@Acters I would personally suggest running both against non-obfuscated code and comparing/contrasting their output. I haven't checked for a while now, but at the time I made this suggestion, wakaru's output on non-obfuscated code was drastically better. I know there has been a bunch of improvement in webcrack since then; but given I believe this lib is pinned to an old version anyway, i'm not sure those improvements would even be seen here currently. |
I apologize, I mispoke. There are nuances here and fumbled the spoken language. It seems like that the samples I have are more geared towards testing deobfuscators, as the output from webcrack does a better job than Restringer, or common online deobfuscators. As for using Wakaru after a deobfuscator like webcrack, Wakaru will sometimes make it harder to look at the code because I find the aggressive "unrolling" of brackets/function calls to spread them over multiple lines has reduced my ability to get a overview of the code. Especially when there is code that is repeated in an ugly fashion that was obvious to be a developer choice and not the fault of tools. On top of that, no other changes to the deobfuscated code was found, only the aggressive unrolling, showing to me that Wakaru wasn't helpful, and that Humanify was simply better off with just keeping its codebase simple and lean with only WebCrack. Wakaru offers a robust CLI that is much more supported than the api version in the current state. So I am in the belief that it should be up to the users to decide when they want to use Wakaru or not. It can be implemented as an optional plugin with a command line switch(--wakaru) but having it as the default didn't seem necessary to me. |
Thank you for your feedback on Wakaru. I'd like to address some points you raised:
Wakaru is primarily a rule-based unminifier, not a deobfuscator. Our documentation should have highlighted this more clearly. Users have the flexibility to pick and choose rules that suit their needs, and they can remove those they find unnecessary (including We are integrating large-scale snapshot testing to better understand Wakaru's impact on larger codebases. This will help us fine-tune the rules and improve overall functionality. |
Thank you for addressing my concerns, I do find your package intriguing, think there is quite a bit of potential. I can't share closed source material but I think that most of the material I have is geared towards de obfuscation and reverse research. |
I was thinking about this more today, and given the current usage of Lines 6 to 13 in 64a1b95
|
I only came across
webcrack
,wakaru
, and this project today; but in some basic tests I was doing betweenwebpack
andwakaru
, I found that the latter seemed to produce much nicer output by default when used on webpacked files:I wonder if it would make a good addition to this
humanify
tool?The text was updated successfully, but these errors were encountered: