最近一直在找如何在MAC上混淆Android的DLL,至今没能找到合适的,有大神知道记得告诉我喔。今天群里有人说了一个混淆代码和返混淆代码的工具de4dot ,不查不知道一查吓一跳。这玩意可以把别人混淆过的代码反混淆回来。
这个工程是开源的 https://github.com/0xd4d/de4dot 找一台Windows电脑,下载后在VS上面打开它,另外它不能直接编译,需要在引入一个库文件。为了方便大家我把能正常编译的工程提供出来。
下载地址: http://pan.baidu.com/s/1ntjw3mL
如下图所示,打开工程后在VS里面快捷键F6,编译完成后会生成出来de4dot.exe 。那么我们返混淆就是通过这个exe来将unity生成的dll返混淆回来。
经过混淆的代码反编译后。
返混淆以后,如下图所示,属性名子就出来了。但是方法名就回不来了,都是按数字一次加上去,不过这些总比方括号好看多了。而且我看了一下内容,有些方法内容奇葩的地方也都解的至少能看。
在Windows里面的cmd里面输入
de4dot.exe test.dll -p un
另外你随便下载一个用Unity做的安卓游戏,然后把apk解开把里面的Assembly-CSharp.dll找出来,它的代码都在里面。如果它的代码没有做混淆工作,那么可以直接反编译出来。 如下图所示,返混淆会在原始dll的目录下生成一个后缀-cleaned.dll的文件。然后用反编译工具打开它即可。
de4dot 看起来应该是非常强大,他支持返混淆这么多工具。。我就不一个一个试了,希望阅读本文的你帮我做一下测试,看看是不是所有混效果的Unity游戏都可以解开。
- Agile.NET (aka CliSecure)
- Babel.NET
- CodeFort
- CodeVeil
- CodeWall
- CryptoObfuscator
- DeepSea Obfuscator
- Dotfuscator
- .NET Reactor
- Eazfuscator.NET
- Goliath.NET
- ILProtector
- MaxtoCode
- MPRESS
- Rummage
- Skater.NET
- SmartAssembly
- Spices.Net
- Xenocode
de4dot不仅仅可以返混淆,它也可以自身去混淆。。大家可以看看它的gitHub上的介绍,哎 又是一个必须在Windwos上完成的操作。。 今天把研究成果发出来,希望大家多多测试一下,看看能不能把所有混淆过的Unity游戏返混淆回来。 另外有什么最近进展大家一定要告诉我呀。。嘿嘿嘿嘿。
- 本文固定链接: https://www.xuanyusong.com/archives/3055
- 转载请注明: 雨松MOMO 于 雨松MOMO程序研究院 发表
大佬您好,我今天找了一下午反混淆的工具,没找到适合Mac使用的。请问您这边有适合Mac使用的工具吗
难道是asm 写的dll?上面的那个工具可以反混淆asm 的dll吗?
手动重命名的方试混淆 可以还原吗?
如:
int i=10;//====>
int ded4a18c3ad220f4c883cbaf97ae69c83=10;
没做过混沌 难道是把编译好的APK 用这个.EXE来混沌?
方法名类似c_iterval,变量是f$__this这样的,不做任何修改直接编译替换回去就会闪退,de4dot反混淆失败,是不是要自己一个个改正变量名?
报错了!报错了!“System.IO.FileNotFoundException”类型的未经处理的异常在 未知模块。 中发生其他信息: 未能加载文件或程序集“de4dot.cui, Version=3.1.41592.3405, Culture=neutral, PublicKeyToken=d3f3ed1e47f67fc6”或它的某一个依赖项。系统找不到指定的文件。
有些是解不开的。。。
de4dot可以用于混淆代码?没看见有这个功能啊?怎么用呢?
学习~学习!~~~只是感脚以后我们的游戏别折腾了~反正能反编译~~还是提高游戏美术品质吧!~灵魂的东西反编译不了~
松哥,一般那些用于平滑的函数(比如插值)是不是都写在fixedUpdate或者lateUpdate里面啊?
MOMO大大,你是用什么混淆的啊?我混淆后,代码反编译出来还是一堆数字和字母,不是你的括号啥的。还有就是,Unity的函数如Awake,Start,以及一些public提供给外面的接口是不能混淆的,但是我看你贴出来的代码,都是被混淆了。用de4dot 混淆,再用de4dot反编译,100%还原。
泰瑞宝!
没懂哥们。。。。泰瑞宝 是啥?
terrible
泰瑞宝和万德福就是terrible和wonderful的意思 武林外传里的段子哈~这破解如果泛滥的话 觉得也不是好事…
崩毁学院2反混淆成功
嗯, 我试了一些游戏真的是可以的。 不过全民打怪兽不行,不知道它是怎么做的。。
这样不是可以搞到游戏源代码了吗?
难道是C++写的dll?上面的那个工具可以反混淆C++的dll吗?
难道是C 写的dll?上面的那个工具可以反混淆C 的dll吗?