最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Revit二次開發(fā) 插件加密、打包、發(fā)布、授權(quán)全套教程

2023-07-28 19:34 作者:模信創(chuàng)新BIM  | 我要投稿


本網(wǎng)站(www.mxbim.com)為開發(fā)者提供的功能主要有:有償?shù)能浖圪u服務(wù),軟件授權(quán)服務(wù),軟件推廣服務(wù),軟件信息發(fā)布服務(wù),軟件使用量統(tǒng)計(jì)服務(wù)。使用流程為:軟件開發(fā)完成->代碼加密及授權(quán)->在網(wǎng)站上發(fā)布產(chǎn)品->獲取收益。

代碼加密及授權(quán)

添加授權(quán)工具引用

在本文附件中找到MXBIM.Author.dll,VMProtect.SDK.dll,并添加這些dll為項(xiàng)目引用,注意,在開發(fā)時(shí)添加應(yīng)用為 未加密 文件夾下16k的MXBIM.Author.dll文件。

添加授權(quán)驗(yàn)證代碼段

#region 授權(quán)驗(yàn)證

#if !DEBUG

string guid = Properties.Resources.Softguid;//Guid可由任意軟件生成。為該軟件的唯一標(biāo)識(shí),務(wù)必牢記

string hwid = VMProtect.SDK.GetCurrentHWID();//軟件必須使用Vmprotect進(jìn)行加密,否則此函數(shù)無法正常執(zhí)行

if (MXBIM.Author.Verification.Verify(guid, "tt", hwid))

{

? string sn = MXBIM.Author.RegistryOperate.GetKeyValue(guid, MXBIM.Author.RegistryOperate.OperateKeys.SN);

VMProtect.SerialState sd = VMProtect.SDK.SetSerialNumber(sn);

if (sd != VMProtect.SerialState.Success)

??? {

?? ??System.Windows.Forms.MessageBox.Show("獲取授權(quán)失敗,請(qǐng)聯(lián)系開發(fā)商!");

???? ?? ?return Result.Succeeded;

??? ?}

? }

else

{

??? return Result.Succeeded;

}

#endif

#endregion

授權(quán)信息對(duì)話框代碼

?? [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]

??? internal class author : IExternalCommand

??? {

??????? public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)

??????? {

??????????? LicenseForm licF = new MXBIM.Author.LicenseForm(Properties.Resources.Softguid);

??????????? licF.SetSerialNumber += VMProtect.SDK.SetSerialNumber;???????

??????????? licF.Show();

??????????? return Result.Succeeded;

??????? }

??? }

使用VMProtect進(jìn)行代碼保護(hù)

代碼加密標(biāo)記

添加授權(quán)驗(yàn)證代碼完成后,需要VMProtect相關(guān)的屬性標(biāo)簽對(duì)相關(guān)方法進(jìn)行標(biāo)記。

注意務(wù)必在Release模式下編譯。

代碼標(biāo)記有:

[VMProtect.BeginUltra]標(biāo)記是VMProtect中用來開啟“超級(jí)保護(hù)模式”的標(biāo)記,通常在需要對(duì)非常重要的代碼進(jìn)行密集保護(hù)的情況下使用。在超級(jí)保護(hù)模式下,VMProtect會(huì)對(duì)代碼執(zhí)行流程進(jìn)行徹底混淆和加密,使得代碼難以被理解和破解。超級(jí)保護(hù)模式的加密性能會(huì)相對(duì)較低,因?yàn)樗鼘?duì)代碼進(jìn)行了大量的混淆和加密,但是由于其極高的安全性,對(duì)于需要極高安全性保護(hù)的程序代碼來說,使用超級(jí)保護(hù)模式是非常有效的。

[VMProtect.BeginMutation]標(biāo)記是用來開啟VMProtect的代碼變異功能的,它能夠?qū)Υa進(jìn)行多維度的變異和混淆。通過變異,VMProtect能夠使代碼的執(zhí)行流程變得更加難以理解,從而有效地增強(qiáng)程序代碼的保護(hù)性能。而且,由于VMProtect的變異算法是動(dòng)態(tài)的,每次變異的結(jié)果都不同,這也使得攻擊者難以對(duì)程序進(jìn)行攻擊和破解。

[VMProtect.BeginVirtualization]標(biāo)記是VMProtect采用的一種虛擬化技術(shù)。在虛擬化技術(shù)下,VMProtect會(huì)對(duì)C#代碼進(jìn)行轉(zhuǎn)換,將其轉(zhuǎn)為VMProtect的虛擬機(jī)指令,然后執(zhí)行加密后的指令。通過這種方式,VMProtect能夠達(dá)到非常高的安全性,即使攻擊者拿到加密后的代碼,在不獲得VMProtect的運(yùn)行環(huán)境的情況下,也難以理解和破解代碼的執(zhí)行邏輯。虛擬化是VMProtect中比較常用的一種技術(shù),在對(duì)重要代碼進(jìn)行保護(hù)時(shí),可以使用[VMProtect.BeginVirtualization]來開啟虛擬化模式。

簡單來說,[VMProtect.BeginUltra]是開啟超級(jí)保護(hù)模式,[VMProtect.BeginMutation]是開啟代碼變異功能,[VMProtect.BeginVirtualization]是開啟虛擬化功能。使用這些標(biāo)記可以在不同的情況下對(duì)C#程序的代碼進(jìn)行保護(hù),提高程序的安全性。

?

代碼加密

使用VMProtect軟件對(duì)軟件進(jìn)行加密,使用VMProtect打開前述編譯完成的dll文件,進(jìn)行如下設(shè)置:

對(duì)于第一次加密該軟件,在授權(quán)下點(diǎn)擊【通用】【添加授權(quán)】;

?

得到上述界面后,加密設(shè)置即完成,需要執(zhí)行【文件】菜單下【保存授權(quán)為】命令,并且保存該文件,軟件更新時(shí)在加密需要使用此文件。

執(zhí)行【項(xiàng)目】【導(dǎo)出密鑰對(duì)】命令,選擇導(dǎo)出格式為“用于KeyGen.Net/Pro Global的參數(shù)”選項(xiàng),復(fù)制該參數(shù)并保存至合適位置,在發(fā)布產(chǎn)品時(shí)需要該參數(shù)!

對(duì)于更新插件時(shí),在授權(quán)下點(diǎn)擊【通用】【使用其他項(xiàng)目文件】,在彈出的對(duì)話框中選擇第一次加密插件是導(dǎo)出的授權(quán)文件的位置,其余同;

發(fā)布產(chǎn)品

軟件打包

解壓Advanced.rar文件,注意路徑名稱中不要含有中文,點(diǎn)擊:AdvancedInstallerPortable.exe,

點(diǎn)擊添加文件夾后選擇需要打包的文件夾所在的位置,確保安裝包文件夾中已經(jīng)包含了 ?Revit插件必須添加文件 ?中包含的三個(gè)文件,

注意:開發(fā)添加引用的文件【MXBIM.Author.dll】需要使用【需要添加引用的庫】目錄下的【MXBIM.Author.dll】進(jìn)行替換

并且installParameter.json文件按照如下要求進(jìn)行了修改:

?

?

?

添加卸載時(shí)自定義操作

軟件發(fā)布

在www.mxbim.com 網(wǎng)站完成注冊(cè)并登錄后,在【我的】菜單下先完成申請(qǐng)成為開發(fā)者,并聯(lián)系網(wǎng)站管理員獲取 開發(fā)者權(quán)限,在網(wǎng)站中發(fā)布軟件并通過審核后,用戶可通過該授權(quán)平臺(tái)購買產(chǎn)品,開發(fā)者可獲取收益,該收益可在【我的】-【我的收益】中查看。

發(fā)布產(chǎn)品界面如下:

?

點(diǎn)擊【提交審核】,在審核完成后,該產(chǎn)品既可在【產(chǎn)品中心】頁面發(fā)布!

?

?

相關(guān)文件的獲取地址

百度網(wǎng)盤:鏈接:https://pan.baidu.com/s/1OVRGzbSRjoPKcLnSJOGmnA?pwd=mxmx

?

QQ交流群:649037449


Revit二次開發(fā) 插件加密、打包、發(fā)布、授權(quán)全套教程的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
武功县| 宁强县| 普安县| 崇明县| 定襄县| 景谷| 武义县| 含山县| 益阳市| 桂林市| 久治县| 琼中| 探索| 平顺县| 宁波市| 交口县| 伽师县| 北票市| 神农架林区| 连江县| 怀集县| 霍山县| 台中市| 昆明市| 阿克苏市| 金乡县| 玉门市| 盐源县| 庆安县| 满洲里市| 阜南县| 梓潼县| 顺平县| 玉山县| 体育| 韶山市| 玛多县| 平和县| 荔浦县| 靖安县| 澎湖县|