net加密軟體
1. 用VB.net編寫一個加密解密軟體
"採用DES演算法"這個說法不明確,首先是使用多少位的DES進行加密,通常是128位或192位,其次是,要先把主密鑰轉化成散列,才能供DES進行加密,轉化的方法是什麼沒有明確,通常是md5,所以有的銀行卡說是128位md5 3DS就是指用md5轉換主密鑰散列,用DES進行加密,但是DES本身是64位(包含校驗碼),2DES是128位,3DES是192位,但是沒有2DES的叫法,所以128位、192位統稱3DES
要完整的md5+3DS實例,需要100分以上,要不到我的空間中查找相關的文章
2. VB.NET開發的軟體,大家一般都是怎麼加密的
網上有很多專業的加密教程
最適合小開發者的軟體加密方式就是下面這個
獲取硬體信息和個人注冊時的姓名手機號等一系列信息,通過預先設定好的加密函數進行散列加密,生成一個只有本人本機能使用的序列號,軟體正版授權的時候用同樣的方式生成序列號進行比對,一樣則通過
3. .net軟體,用什麼軟體加密狗加密,能防止代碼反編譯
.Net軟體
特點,
些強
編譯工具
.Net
執行文件進行反編譯操作,並
相應
IL代碼甚至
源代碼
即使
採用混淆工具
及強命名工具
能
根本
解決問題,代碼依
容易
Reflectoer等工具反編譯源代碼
軟體加密狗:威步(WIBU)
CodeMeter,AxProtector(for.net)兩款軟體加密狗性能非
錯
反編譯
問題,與傳統
代碼混淆工具(Obfuscator)
同,AxProtector
完全阻止
.NET
程序集(由
C#,
VB.NET,
Delphi.NET,
ASP.Net…
等語言編寫)
反編譯
通俗
講,AxProtector
破解者
您
.NET
代碼
間構建
強
防破解保護屏障,
基於
Windows
基於
MSIL
兼容格式文件
原始
.NET
代碼完整
加密
封裝
本
代碼內,
論何
都
釋放
硬碟,
於破解者
見
與單純
.net加密軟體
同,AxProtector與CodeMeter硬體加密狗配套餐使用,採用
更
嚴密
密鑰管理,及
先進
AES、RSA、ECC等加密算
存儲或傳輸密鑰,保證通訊安全
.Net代碼編譯
.class
包含
源代碼
所
信息(
包括注釋),尤其
其
保存
調試信息
候
所
按照
式編譯
.class
文件
非
輕易
反編譯
般軟體
發商
採用
種叫做混淆器
工具
混淆器
作用
編譯
代碼進行混淆,使
其
反編譯或者反編譯
代碼混亂難懂
由於混淆器
混淆
名稱或流程,
能防止源代碼
反編譯,
混淆器
作用
增加
反編譯
難度,
終
結
治標
治本
於
些掌握工具
說幾乎
透明
AxProtector
款真
意義
加密源代碼、防止反編譯
.net軟體加密軟體
AxProtector加密
.net原代碼,任何
候原代碼都
能
原
硬碟
採用AxProtector加密
.net代碼
程序調用或執行某
段函數
候,才能通
AxProtectorClass
內存
解密
返
程序
執行,運行
迅速立即加密
種隨機加密、按需解密原代碼
功能,能
防止.Net程序
反編譯,同
能夠
防止API加密點
摘除
效
保證
源代碼
執行效率
安全性
4. 用.net實現文件夾加密
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO ;
using System.Diagnostics ;
using System.Threading ;
namespace 偽裝文件夾
{
/// <summary>
/// Form1 的摘要說明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.FolderBrowserDialog foldeOpen;
private System.Windows.Forms.TextBox AfoldePath;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Button AddPassword;
private System.Windows.Forms.ComboBox comboBox1;
private System.ComponentModel.IContainer components;
public Form1()
{
//
// Windows 窗體設計器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 調用後添加任何構造函數代碼
//
}
/// <summary>
/// 清理所有正在使用的資源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows 窗體設計器生成的代碼
/// <summary>
/// 設計器支持所需的方法 - 不要使用代碼編輯器修改
/// 此方法的內容。
/// </summary>
private void InitializeComponent()
{
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1));
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.AddPassword = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.AfoldePath = new System.Windows.Forms.TextBox();
this.foldeOpen = new System.Windows.Forms.FolderBrowserDialog();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.button2 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.textBox1 = new System.Windows.Forms.TextBox();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.SuspendLayout();
//
// groupBox1
//
this.groupBox1.BackColor = System.Drawing.Color.Transparent;
this.groupBox1.Controls.Add(this.comboBox1);
this.groupBox1.Controls.Add(this.AddPassword);
this.groupBox1.Controls.Add(this.button1);
this.groupBox1.Controls.Add(this.AfoldePath);
this.groupBox1.Location = new System.Drawing.Point(6, 6);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(276, 78);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "加密";
//
// comboBox1
//
this.comboBox1.Items.AddRange(new object[] {
"我的電腦",
"我的文檔",
"撥號網路",
"控制面板",
"計劃任務",
"列印機",
"記事本",
"網路鄰居",
"回收站",
"公文包",
"字體 ",
"Web 文件夾"});
this.comboBox1.Location = new System.Drawing.Point(12, 48);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(174, 20);
this.comboBox1.TabIndex = 15;
this.comboBox1.Text = "偽裝類型";
//
// AddPassword
//
this.AddPassword.BackColor = System.Drawing.Color.Transparent;
this.AddPassword.ForeColor = System.Drawing.Color.Red;
this.AddPassword.Location = new System.Drawing.Point(192, 48);
this.AddPassword.Name = "AddPassword";
this.AddPassword.TabIndex = 14;
this.AddPassword.Text = "偽裝";
this.AddPassword.Click += new System.EventHandler(this.AddPassword_Click);
//
// button1
//
this.button1.Location = new System.Drawing.Point(192, 20);
this.button1.Name = "button1";
this.button1.TabIndex = 8;
this.button1.Text = "文件夾路徑";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// AfoldePath
//
this.AfoldePath.BackColor = System.Drawing.Color.FromArgb(((System.Byte)(255)), ((System.Byte)(224)), ((System.Byte)(192)));
this.AfoldePath.Location = new System.Drawing.Point(12, 20);
this.AfoldePath.Name = "AfoldePath";
this.AfoldePath.ReadOnly = true;
this.AfoldePath.Size = new System.Drawing.Size(174, 21);
this.AfoldePath.TabIndex = 7;
this.AfoldePath.Text = "";
//
// groupBox2
//
this.groupBox2.BackColor = System.Drawing.Color.Transparent;
this.groupBox2.Controls.Add(this.button2);
this.groupBox2.Controls.Add(this.button3);
this.groupBox2.Controls.Add(this.textBox1);
this.groupBox2.Location = new System.Drawing.Point(6, 90);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(276, 76);
this.groupBox2.TabIndex = 1;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "解密";
//
// button2
//
this.button2.ForeColor = System.Drawing.Color.Red;
this.button2.Location = new System.Drawing.Point(192, 48);
this.button2.Name = "button2";
this.button2.TabIndex = 14;
this.button2.Text = "解密";
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// button3
//
this.button3.ForeColor = System.Drawing.Color.Red;
this.button3.Location = new System.Drawing.Point(192, 20);
this.button3.Name = "button3";
this.button3.TabIndex = 8;
this.button3.Text = "文件夾路徑";
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// textBox1
//
this.textBox1.BackColor = System.Drawing.Color.FromArgb(((System.Byte)(128)), ((System.Byte)(255)), ((System.Byte)(128)));
this.textBox1.Location = new System.Drawing.Point(12, 24);
this.textBox1.Name = "textBox1";
this.textBox1.ReadOnly = true;
this.textBox1.Size = new System.Drawing.Size(174, 21);
this.textBox1.TabIndex = 7;
this.textBox1.Text = "";
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(288, 174);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "Form1";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "偽裝文件夾";
this.groupBox1.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// 應用程序的主入口點。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void button1_Click(object sender, System.EventArgs e)
{
if(foldeOpen.ShowDialog ()==DialogResult.OK )
{
try
{
if(foldeOpen.SelectedPath .Substring (3,10)=="Documents ")
{
MessageBox.Show ("我不建議C盤下的文件夾偽裝,這樣可能會導致系統出問題");
}
else
{
AfoldePath.Text =foldeOpen.SelectedPath;
}
}
catch
{
if(foldeOpen.SelectedPath.Length >=4)
{
AfoldePath.Text =foldeOpen.SelectedPath;
}
else
{
MessageBox.Show ("無法對盤符進行偽裝.");
}
}
}
}
private void AddPassword_Click(object sender, System.EventArgs e)
{
try
{
ProcessStartInfo p3=new ProcessStartInfo ("attrib.exe",@"-s -r -a -h "+AfoldePath.Text);
p3.WindowStyle= System.Diagnostics.ProcessWindowStyle.Hidden;
Process.Start (p3);
ProcessStartInfo p1=new ProcessStartInfo ("attrib.exe",@"-s -r -a -h "+AfoldePath.Text+@"\desktop.ini");
p1.WindowStyle= System.Diagnostics.ProcessWindowStyle.Hidden;
Process.Start (p1);
StreamWriter sw2=new StreamWriter (AfoldePath.Text+@"\desktop.ini" );
sw2.WriteLine (@"[.ShellClassInfo]" );
sw2.WriteLine ("CLSID="+GetPasType());
sw2.Close ();
ProcessStartInfo p =new ProcessStartInfo ("attrib.exe",@"+s +a +h +r "+AfoldePath.Text+@"\desktop.ini");
p.WindowStyle= System.Diagnostics.ProcessWindowStyle.Hidden;
Process.Start (p);
ProcessStartInfo p2=new ProcessStartInfo ("attrib.exe",@"+s +r "+AfoldePath.Text);
p2.WindowStyle= System.Diagnostics.ProcessWindowStyle.Hidden;
Process.Start (p2);
}
catch(Exception ee)
{
MessageBox.Show (ee.Message .ToString ());
}
}
private string GetPasType()
{
int index=comboBox1.SelectedIndex;
switch (index)
{
case 0: return @"{20D04FE0-3AEA-1069-A2D8-08002B30309D}";
case 1: return @"{450D8FBA-AD25-11D0-98A8-0800361B1103}";
case 2: return @"{992CFFA0-F557-101A-88EC-00DD010CCC48}";
case 3: return @"{21EC2020-3AEA-1069-A2DD-08002B30309D}";
case 4: return @"{D6277990-4C6A-11CF-8D87-00AA0060F5BF}";
case 5: return @"{2227A280-3AEA-1069-A2DE-08002B30309D}";
case 6: return @"{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}";
case 7: return @"{208D2C60-3AEA-1069-A2D7-08002B30309D}";
case 8: return @"{645FF040-5081-101B-9F08-00AA002F954E}";
case 9: return @"{85BBD920-42A0-1069-A2E4-08002B30309D}";
case 10: return @"{BD84B380-8CA2-1069-AB1D-08000948F534}";
case 11: return @"{BDEADF00-C265-11d0-BCED-00A0C90AB50F}";
}
return @"{20D04FE0-3AEA-1069-A2D8-08002B30309D}";
}
private void button3_Click(object sender, System.EventArgs e)
{
if(foldeOpen.ShowDialog ()==DialogResult.OK )
{
textBox1.Text =foldeOpen.SelectedPath;
}
}
private void button2_Click(object sender, System.EventArgs e)
{
try
{
ProcessStartInfo p2=new ProcessStartInfo ("attrib.exe",@"-s -r -a -h "+textBox1.Text);
p2.WindowStyle= System.Diagnostics.ProcessWindowStyle.Hidden;
Process.Start (p2);
ProcessStartInfo p1=new ProcessStartInfo ("attrib.exe",@"-s -h -r "+textBox1.Text+@"\desktop.ini");
p1.WindowStyle= System.Diagnostics.ProcessWindowStyle.Hidden;
Process.Start (p1);
System.Threading.Thread.Sleep(1000);
File.Delete (textBox1.Text+@"\desktop.ini");
MessageBox.Show ("解密成功.");
}
catch(Exception ee)
{
MessageBox.Show (ee.Message.ToString ());
}
}
}
}