反编译.dll文件

大家好,前段时间做数据分析,需要解析对方数据,而数据文件是对方公司内部的生成方式,完全不知道它是怎么生成的. 不过还好能拿到客户端(正好是C#开发)所以第一件事就是用Reflector编译,但是没有想象的那么简单,看看反编译结果

反编译.dll文件_第1张图片

反编译.dll文件_第2张图片

代码已经混淆了,方法体内部处理也看不见 ,怎么办喃?

 

现在就来说说反混淆(剥壳)那些事

目前比较常用的混淆(加壳)有Dotfuscator,MaxToCode,Xenocode,ThemIDA. 

反混淆的工具有很多Dedot ,DePhe,XeCoString等,但是这些只能剥对应算法,今天重点推荐一个工具 De4Dot 

De4Dot支持多种反混淆.Dotfuscator,MaxToCode这两种是网友测试的,Xenocode是我测试的,

官方介绍支持:

  • 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

源码:

反编译.dll文件_第3张图片

可以看出de4dot确实能剥很多算法的壳,很强大!

现在来试试

反编译.dll文件_第4张图片

它在我指定文件同目录下生成了 X-cleaned.(exe/dll) 文件,我们在用Reflector来解析一下

反编译.dll文件_第5张图片

反编译.dll文件_第6张图片

反编译.dll文件_第7张图片

成功了,是不是应该欢呼一下. 如果有更强大的工具,求通知!  

大家发现没,现在这个客户端是需要登录的,而我没有账户密码,而我想进去怎么办?

本篇只是过渡用,主要是下一篇,如何修改对方dll,跳过登录过程,所谓的破解

 

如果有兴趣的朋友想了解核心算法,可以去官网下来看https://bitbucket.org/0xd4d/de4dot/overview 开源的

发现问题 请留言,如果喜欢请推荐一下,

转载请注明出处! 谢谢

你可能感兴趣的:(java,Java)