日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

老歌新唱--使用VB6开发的ActiveX实现.NET程序的混淆加密

發(fā)布時間:2023/12/9 asp.net 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 老歌新唱--使用VB6开发的ActiveX实现.NET程序的混淆加密 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

代碼下載地址:http://files.cnblogs.com/wuhuacong/VBActiveX.rar

由于存在一下幾種特點:
1、.NET程序反編譯容易,而使用一些混淆工具會導(dǎo)致有些程序不能運行
2、VB6開發(fā)ActiveX控件,那叫一個快,VB代碼也不是很容易被反編譯。
3、結(jié)合兩者的特點,如果在.NET中使用了封裝一些關(guān)鍵代碼的ActiveX控件,那么程序的安全性是否好一點呢?

對于這種做法,請大家拍磚討論,本人提供一個如何實現(xiàn)這種做法的思路。

一、 編寫一個封裝關(guān)鍵字符串或者實現(xiàn)邏輯的ActiveX控件
???1、首先使用VB6創(chuàng)建一個ActiveX的工程項目

2、設(shè)置VB ActiveX的工程屬性
??

3、編寫類模塊函數(shù)

Option?Explicit

Public?Function?GetString()?As?String
????GetString?
=?"ABCDEFG"
End?Function


Public?Function?ValidateString(ByVal?str?As?String)?As?Boolean
????ValidateString?
=?False
????
????
If?str?=?"ABCD"?Then
????????ValidateString?
=?True
????
Else
????????Err.Raise?Err.Number,?,?
"不正確"
????
End?If
End?Function

Public?Function?GetDateTime()?As?Date

????GetDateTime?
=?Now
????
End?Function

注意:如果使用Err.Raise函數(shù),在調(diào)用過程中會拋出一個異常


二、在.NET程序中引用并使用該ActiveX控件
1、創(chuàng)建一個Windows Form程序

2、添加ActiveX控件的引用



3、編寫按鈕事件及ActiveX控件調(diào)用代碼
using?System.Data;
using?System.Drawing;
using?System.Text;
using?System.Windows.Forms;

namespace?TestMyVBControl
{
????
public?partial?class?Form1?:?Form
????
{
????????
public?Form1()
????????
{
????????????InitializeComponent();
????????}


????????
private?void?btnTest_Click(object?sender,?EventArgs?e)
????????
{
????????????MyVBControl.TestClass?test?
=?new?MyVBControl.TestClass();
????????????MessageBox.Show(test.GetString());
????????}


????????
private?void?btnValidate_Click(object?sender,?EventArgs?e)
????????
{
????????????MyVBControl.TestClass?test?
=?new?MyVBControl.TestClass();
????????????
try
????????????
{
????????????????MessageBox.Show(test.ValidateString(
"ABCD").ToString());//正確
????????????????MessageBox.Show(test.ValidateString("ABCDE").ToString());//有錯誤
????????????}

????????????
catch(Exception?ex)
????????????
{
????????????????MessageBox.Show(ex.Message);
????????????????
return;
????????????}

????????}


????????
private?void?btnGetDate_Click(object?sender,?EventArgs?e)
????????
{
????????????MyVBControl.TestClass?test?
=?new?MyVBControl.TestClass();
????????????MessageBox.Show(test.GetDateTime().ToString());
????????}

????}

}

結(jié)束,收工

總結(jié)

以上是生活随笔為你收集整理的老歌新唱--使用VB6开发的ActiveX实现.NET程序的混淆加密的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。