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

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

目录

一、场景描述

二、具体操作过程

1.需要准备的软件:

(1)de4dot

(2)dnSpy 

2.具体步骤

三、实测效果

四、注意事项


一、场景描述

从网络来源搜寻来的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 · GitHubde4dot repos. de4dot has one repository available. Follow their code on GitHub.https://github.com/de4dot

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

(2)dnSpy 

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

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

github主页:https://github.com/dnSpy/dnSpyhttps://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”,即可快速打开命令行工具!

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

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

这样就脱壳成功了!

2.使用dnSpy反编译

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

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

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

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

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

 

 4.修改各种WinForm的窗体

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

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

三、实测效果

各种原因,就不贴了!

四、注意事项

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

  • 4
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在C# Winform中嵌入基恩士应用程序exe,可以使用Process类来启动应用程序,并将其嵌入到窗体中。以下是实现步骤: 1. 打开Visual Studio中的Winform项目,并在工具箱中添加一个Panel控件。 2. 在代码中使用Process类的Start方法来启动基恩士应用程序exe,并将其嵌入到Panel控件中。 3. 设置基恩士应用程序exe的属性和方法,以便与其进行交互。 以下是代码示例: ```csharp using System.Diagnostics; using System.Windows.Forms; namespace WinformApp { public partial class Form1 : Form { private Process process; public Form1() { InitializeComponent(); // 启动基恩士应用程序exe process = new Process(); process.StartInfo.FileName = "KeenShine.exe"; process.StartInfo.Arguments = ""; process.StartInfo.UseShellExecute = false; process.StartInfo.CreateNoWindow = true; process.StartInfo.RedirectStandardOutput = true; process.StartInfo.RedirectStandardError = true; process.Start(); // 将基恩士应用程序exe嵌入到Panel控件中 process.WaitForInputIdle(); SetParent(process.MainWindowHandle, panel1.Handle); // 设置窗体大小和位置 process.StartInfo.WindowStyle = ProcessWindowStyle.Normal; process.WaitForInputIdle(); MoveWindow(process.MainWindowHandle, 0, 0, panel1.Width, panel1.Height, true); // 设置基恩士应用程序exe的属性和方法 process.StandardInput.WriteLine("Command1"); var result = process.StandardOutput.ReadLine(); // ... } protected override void OnFormClosing(FormClosingEventArgs e) { base.OnFormClosing(e); // 关闭基恩士应用程序exe process.Kill(); } [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] private static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent); [DllImport("user32.dll")] private static extern bool MoveWindow(IntPtr hWnd, int x, int y, int width, int height, bool repaint); } } ``` 在上面的代码中,panel1是Winform中的一个Panel控件,用来显示基恩士应用程序exe。你需要根据实际情况设置基恩士应用程序exe的属性和方法。需要注意的是,在关闭窗体时,需要使用Process类的Kill方法来关闭基恩士应用程序exe。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值