WinForm(C#)应用程序之(破)脱壳和修改

46次阅读
没有评论

一、场景描述

从网络来源搜寻来的Winform应用程序,编写语言是C#,想改掉它的应用程序的Logo、以及界面的图片内容、窗体的标题等信息。

二、具体操作过程

1.需要准备的软件:
(1)de4dot
de4dot 是一个很强的脱壳,反混淆工具,支持反混淆很多种混淆加密工具混淆过的源码,如 Xenocode、.NET Reactor、MaxtoCode、Eazfuscator.NET、Agile.NET、Phoenix Protector、Manco Obfuscator 、CodeWall、NetZ .NET Packer 、Rpx .NET Packer、Mpress .NET Packer、ExePack .NET Packer、Sixxpack .NET Packer、Rummage Obfuscator、Obfusasm Obfuscator、Confuser 1.7、Agile.NET、Babel.NET、CodeFort、CodeVeil、CodeWall、CryptoObfuscator、DeepSea Obfuscator、Dotfuscator、 Goliath.NET、ILProtector、MPRESS、Rummage、SmartAssembly、Skater.NET、Spices.Net 等。

github主页:
de4dot · GitHub
de4dot repos. de4dot has one repository available. Follow their code on GitHub.
https://github.com/de4dot

解压缩即可使用,如图所示:

WinForm(C#)应用程序之(破)脱壳和修改

(2)dnSpy
dnSpy是一个调试器和.NET汇编编辑器。 即使您没有任何可用的源代码,也可以使用它来编辑和调试程序集。

WinForm(C#)应用程序之(破)脱壳和修改

是不是长得跟Visual Studio,很像极了!请务必注意版本是(32位 or 64位)以及.NET Framework的版本

github主页:
https://github.com/dnSpy/dnSpy

(3)查壳利器Exeinfo PE
Exeinfo PE是一款短小精悍且功能类似PEiD查壳程序的新一代万能查壳软件,内置海量PEiD的签名库并整合了近50种插件以及更加完整的中文语言包,exeinfo pe汉化版具备非常强悍的可鉴定多种文件类别的能力,全面兼容包括bmp、.jpg、.mov、.mp4、.vpx、.CRX、.skn、.dcu、.obj、.ice、.apk、.TLB、.ddd、.dcu、.pkg、.mkv、.WebM、.iso、.xar、.nup、.vhd、.tar、.gma、.mts、res、tiff、7z、Rar在内的多种文件格式,支持查看加密程序的PE信息、编译信息、是否加壳、输入输出表、入口地址、首字节、文件大小、子系统与覆盖、等任何可执行程序的多种相关信息,给予用户引导脱壳方法,对用户快速了解加密程序采用的加密方式并加以学习利用有很大帮助,可谓是查壳破解脱壳领域用户的得力帮手

2.具体步骤
1.de4dot脱壳

打开de4dot所在的文件夹,在地址栏输入“cmd”,即可快速打开命令行工具!

WinForm(C#)应用程序之(破)脱壳和修改

WinForm(C#)应用程序之(破)脱壳和修改

直接就在de4dot路径下,按照要求的格式输入“ de4dot.exe file1.exe ”,按“回车”即可。请务必注意,此处 file1.exe是他所在的硬盘完整路径(绝对路径)!

WinForm(C#)应用程序之(破)脱壳和修改

等待片刻,就会在“file1.exe”相同的路径下重新生成一个“file1-cleaned.exe”,注意原来的“file1.exe”还在的,并没有被替换掉。(切记!)

这样就脱壳成功了!

2.使用dnSpy反编译

生成了新的“file1-cleaned.exe”之后,接着打开dnSpy,将第1步生成的“file1-cleaned.exe”,拖进去即可查看,反编译之后的各种资源了。

WinForm(C#)应用程序之(破)脱壳和修改

注意事项拉进去左边的“程序集资源管理器”哦!

3.修改图片Logo、图标类资源

这一步很简单,傻瓜式的替换即可,但是请注意,替换的图片资源,源程序里面需要什么后缀的,你就准备对应的图片资源(很重要!)。

所有的文件都在资源文件夹下,选择对应的图片右键菜单选择,“编辑资源”,即可替换!

WinForm(C#)应用程序之(破)脱壳和修改

WinForm(C#)应用程序之(破)脱壳和修改

4.修改各种WinForm的窗体

这个是最反锁的一步了,需要详细查看工程项目下面的每一个程序集dll文件的源代码,如遇到需要修改的地方,右键选择“编辑类”、“编辑方法”,“添加类”等等。

WinForm(C#)应用程序之(破)脱壳和修改

然后,经过几秒反编译就可以直接修改源代码了!!

WinForm(C#)应用程序之(破)脱壳和修改

三、实测效果
各种原因,就不贴了!

四、注意事项
det4do的版本(32位 or 64位)
DySpy版本(32位 or 64位)
winForm程序集的版本(32位 or 64位)
操作系统的版本(32位 or 64位)
.NET Framework的版本(很重要)
编译报错有可能是各种资源类型不对应,或者引用的.NET Framework框架资源程序集dll的版本冲突造成的。关注一下此图!

WinForm(C#)应用程序之(破)脱壳和修改

 

来源:csdn 雅格小京

正文完