初学者求教delphi 为C#程序加密问题
delphi是不可反编译的?但是C#的debug下的exe文件是可以反编译的,辛苦写的代码,随便在网上找个反编译的软件就暴露了。
求教如何将c#源码简单加密?
最好有示例代码,最好有注释,方便学习,非常感谢。
本人C#初学,delphi完全不会,手里有vs.net2005,delphi7,做的是winForm连接SQL Server
还想用一下飞信的虚拟机替代.net Framework 2.0,但是网上找的实例是如下样子的,没有起到加密效果啊。
======================================================================
网上的例子:
不安装.NET Framework 运行C#.NET程序(2008-12-22 16:33:28)转载
首先,要说明的是飞信也是用C#写的,但是我们在运行C#时,并不用安装.NET Framework,这事因为,飞信本身内置了一个.NET 虚拟程序,由这个程序来调用我们飞信主程序。
同样,我们要可以利用这可现成的虚拟机来运行我们的C#.NET程序,这样即使在没有安装.NETFramework的windows系统中,也可以运行我们的C#.NET程序。
具体方法如下,复制飞信下的文件夹VMDotNet\v2.0.50727文件夹到你的C#.NET目录程序,该文件夹下有一个程序FetionVM.exe,我们就是要通过它,运行我么的C#主程序,起调用方法如下:
"FetionVM.exe C#程序路径"(不包括引号),然后,我们只要用C\C++、VB、DELPHI等等windows下课直接运行的程序,写一个程序来调用该虚拟机来运行我们的C#.NET程序。
下面一delphi为例子:
首先,程序目录下虚拟机的文件夹名称为VM,该目录下有编写好的C#程序名为ACs.exe,delphi代码如下
unit Unit1;
inte易做图ce
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,registry;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
reg:tregistry;
begin
reg:=tregistry.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
if reg.KeyExists('SOFTWARE\Microsoft\.NETFramework\v2.0.50727') then //通过注册表,判断系统是否安装有.NETFramework v2.0 如果有,直接运行C#程序,如果没有则通过虚拟机调用C#程序
BEGIN
winexec('.\VM\ACs.exe',SW_Show);
END
else //如果键值不存在 调用虚拟机
begin
Form1.Visible := false;
winexec('.\VM\FetionVM.exe .\VM\ACs.exe',SW_Show);
end;
reg.CloseKey;
reg.free;
ExitProcess(0);
Application.Terminate;
end;
end.
//------------------------这样主程序编写完成
然后选择 project>view source 然后添加语句
Application.ShowMainForm:=false; //隐藏程序主窗体
然后生成程序
然后把delphi生产的exe程序放在程序目录下,运行即可直接调用我们的C#程序 --------------------编程问答-------------------- 用混淆器混淆代码,基本上达到防止反编译的效果,反编译出来也是一大堆错误的混淆代码,很难还原
vs自带混淆器Dotfuscator and Analytics --------------------编程问答-------------------- 谢谢楼上的热心回复,
刚才看了下vs是不是有个工具 Dotfuscator Community Edition
要注册,刚刚在网上找了下,不注册好像还啥太大作用,
--------------------编程问答-------------------- Dotfuscator Community Edition --------------------编程问答-------------------- 只修改了一个 程序集
修改第二个程序集, 修改后的程序就打不开了 --------------------编程问答-------------------- 下载:
upx
Visual Mpress 2013 Beta1(4.0.3)简体中文版_免费的快速的加壳工具
一款针对PE文件的压缩命令行工具。
upx极速加壳脱壳为EXE可执行应用程序添加和除去UPX壳的工具界面友好速度快是它的特点个受欢迎的 UPX EXE 压缩机的 GUI。
补充:.NET技术 , 其他语言