溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

易語言保護(hù)殼的sdk代碼有哪些

發(fā)布時(shí)間:2021-06-16 17:12:44 來源:億速云 閱讀:245 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“易語言保護(hù)殼的sdk代碼有哪些”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“易語言保護(hù)殼的sdk代碼有哪些”這篇文章吧。

ZProtect

//Code_Confusion 是代碼亂序加密標(biāo)記,允許您選擇一部分被亂序的代碼

置入代碼 ({ 235, 8, 83, 84, 95, 83, 84, 65, 82, 84 }) ' Code_Confusion標(biāo)記開始

置入代碼 ({ 235, 8, 83, 84, 95, 83, 84, 69, 78, 68 }) ' Code_Confusion標(biāo)記結(jié)尾

//Code_Elimination 是代碼清除標(biāo)記,允許您選擇一部分代碼在運(yùn)行后從內(nèi)存中刪除;使用此標(biāo)記的目的是為了防止破解者從內(nèi)存中轉(zhuǎn)儲(chǔ)出完整的程序代碼。

置入代碼 ({ 235, 8, 79, 67, 95, 83, 84, 65, 82, 84 }) ' Code_Elimination標(biāo)記開始

置入代碼 ({ 235, 8, 79, 67, 95, 79, 67, 69, 78, 68 }) ' Code_Elimination標(biāo)記結(jié)尾

//Decode_onExec 是動(dòng)態(tài)解碼標(biāo)記,允許您選擇一部分只在執(zhí)行時(shí)才解密的代碼段;這部分代碼僅在需要執(zhí)行時(shí)才解碼,執(zhí)行前和執(zhí)行后均處于加密狀態(tài)

置入代碼 ({ 235, 8, 68, 89, 95, 83, 84, 65, 82, 84 }) // Decode_onExec標(biāo)記開始

置入代碼 ({ 235, 8, 68, 89, 95, 68, 89, 69, 78, 68 }) // Decode_onExec標(biāo)記結(jié)尾

//Decode_onReg 是注冊解碼標(biāo)記,允許您選擇一部分使用有效密鑰才解密的代碼;如果注冊密鑰不正確,那么這部分代碼將永遠(yuǎn)處于加密狀態(tài)。通俗地講,這部分代碼僅在注冊版中執(zhí)行

//源代碼中可以使用任意數(shù)量的 Decode_onReg 標(biāo)記,但是這些代碼段在執(zhí)行時(shí)會(huì)同時(shí)解密。注冊解碼標(biāo)記主要用于激活未注冊版中被限制的功能,使之注冊成為完整版。

置入代碼 ({ 235, 8, 82, 68, 95, 83, 84, 65, 82, 84 }) // Decode_onReg標(biāo)記開始

置入代碼 ({ 235, 8, 82, 68, 95, 82, 68, 69, 78, 68 }) // Decode_onReg標(biāo)記結(jié)尾

//Zprotect_VM 是虛擬機(jī)加密標(biāo)記,允許您選擇一部分代碼放到虛擬機(jī)中運(yùn)行;虛擬機(jī)的指令系統(tǒng)是完全不同于現(xiàn)有的 x86 指令,可以有效阻止代碼還原及分析

置入代碼 ({ 235, 8, 86, 77, 95, 83, 84, 65, 82, 84 }) // Zprotect_VM標(biāo)記開始

置入代碼 ({ 235, 8, 86, 77, 95, 86, 77, 69, 78, 68 }) // Zprotect_VM標(biāo)記結(jié)尾

適用于ZProtect V1.4.9.0版本

VMProtect.易的SDK

置入代碼 ({ 235, 16, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 98, 101, 103, 105, 110, 0 }) ' VMP保護(hù)開始標(biāo)志

'關(guān)鍵代碼

置入代碼 ({ 235, 14, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 101, 110, 100, 0 }) ' VMP保護(hù)結(jié)束標(biāo)志

Enigma加密易語言的SDK

置入代碼 ({ 235, 10, 69, 67, 82, 79, 78, 69, 88, 69, 67, 66 })' 標(biāo)記開始處

'關(guān)鍵代碼

置入代碼 ({ 235, 10, 69, 67, 82, 79, 78, 69, 88, 69, 67, 69 })' 標(biāo)記結(jié)束處

NoobyProtect加密易語言的SDK

置入代碼 ({ 235, 6, 78, 80, 66, 69, 71, 78 })' 標(biāo)記開始處

'關(guān)鍵代碼

置入代碼 ({ 235, 6, 78, 80, 69, 78, 68, 80 })' 標(biāo)記結(jié)束處

穿山甲調(diào)用功能型加密易語言SDK的DEMO

置入代碼 ({ 235, 3, 214, 215, 1 })' 標(biāo)記開始處

'關(guān)鍵代碼

置入代碼 ({ 235, 3, 214, 215, 0 })' 標(biāo)記結(jié)束處

ASP加密易語言SDK

置入代碼 ({ 235, 4, 235, 5, 25, 1, 233, 37, 0 })' 標(biāo)記開始處

'關(guān)鍵代碼

置入代碼 ({ 235, 4, 235, 5, 41, 1, 233, 133, 0, })' 標(biāo)記結(jié)束處

Shielden 2.0.1.0

置入代碼 ({ 235, 7, 83, 69, 66, 69, 71, 78, 0 }) ' SE_PROTECT_START
' 關(guān)鍵代碼
置入代碼 ({ 235, 7, 83, 69, 69, 78, 68, 80, 0 }) ' SE_PROTECT_END

置入代碼 ({ 235, 7, 83, 69, 66, 69, 71, 78, 77 }) ' SE_PROTECT_START_MUTATION
關(guān)鍵代碼
置入代碼 ({ 235, 7, 83, 69, 69, 78, 68, 80, 0 }) ' SE_PROTECT_END

置入代碼 ({ 235, 7, 83, 69, 66, 69, 71, 78, 85 }) ' SE_PROTECT_START_ULTRA
關(guān)鍵代碼
置入代碼 ({ 235, 7, 83, 69, 69, 78, 68, 80, 0 }) ' SE_PROTECT_END

置入代碼 ({ 235, 7, 83, 69, 66, 69, 71, 78, 86 }) '
' 關(guān)鍵代碼
置入代碼 ({ 235, 7, 83, 69, 69, 78, 68, 80, 0 }) ' SE_PROTECT_END

易語言SDK轉(zhuǎn)換方法↓

隨著E5.0靜態(tài)編譯對(duì)標(biāo)準(zhǔn)PE格式的支持,在E程序中引入加密殼SDK提升軟件保護(hù)質(zhì)量已經(jīng)成為現(xiàn)實(shí)。

加密殼SDK大體可劃分為兩類,一類是功能型SDK,一類是保護(hù)型SDK。

一、功能性SDK。

功能性SDK用來處理序列號(hào)驗(yàn)證、授權(quán)時(shí)間驗(yàn)證等功能性操作。這類SDK有直接應(yīng)用的各種函數(shù)在殼里提供,如WL;也有需要引入外部DLL的,如穿山甲。

對(duì)于無輸出表的DLL,使用引入外部SDK,我們需要載入DLL,尋址SDK中的函數(shù),通過E里邊的調(diào)用子程序()命令可以很方便的對(duì)SDK函數(shù)完成傳遞參數(shù)獲取返回值的操作,完事后把DLL一卸載就搞定了。

對(duì)于有輸出表的DLL,使用E的DLL命令進(jìn)行調(diào)用就OK了。

已經(jīng)會(huì)調(diào)用DLL的朋友,對(duì)功能性SDK的操作可以說是輕松駕馭的啦,看一下殼具體的API手冊就OK。

二、加密型SDK

通常加密型SDK于殼化掛鉤,加密殼在軟件中發(fā)覺特定的SDK標(biāo)記后,將采用針對(duì)性方法對(duì)這一段代碼進(jìn)行針對(duì)性處理提高特定代碼段的安全性。這種標(biāo)記自然就是成對(duì)定義的匯編代碼!

在易里邊我們可以使用置入代碼()命令輕松調(diào)用匯編代碼。具體到加密殼使用這塊,我們按照如下方法做。

打開加密殼自帶的SDK,找一門自己可以讀懂的語言SDK頭文件看一下。例如下面這一段LCC的頭文件。

以下內(nèi)容為程序代碼:

1 #elif defined(__LCC__)
2 /* Provided by Rubem Pechansky, 26Feb2003 */
3 #define SECUREBEGIN _asm(".byte 0xEB,0x03,0xD6,0xD6,0x00");
4 #define SECUREEND _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
5 #define SECUREBEGIN_A _asm(".byte 0xEB,0x03,0xD6,0xD6,0x01");
6 #define SECUREEND_A _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
7 #define SECUREBEGIN_B _asm(".byte 0xEB,0x03,0xD6,0xD6,0x02");
8 #define SECUREEND_B _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
9 #define SECUREBEGIN_C _asm(".byte 0xEB,0x03,0xD6,0xD6,0x03");
10 #define SECUREEND_C _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
11 #define SECUREBEGIN_D _asm(".byte 0xEB,0x03,0xD6,0xD6,0x04");
12 #define SECUREEND_D _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
13 #define SECUREBEGIN_E _asm(".byte 0xEB,0x03,0xD6,0xD6,0x05");
14 #define SECUREEND_E _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
15 #define SECUREBEGIN_F _asm(".byte 0xEB,0x03,0xD6,0xD6,0x06");
16 #define SECUREEND_F _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
17 #define SECUREBEGIN_G _asm(".byte 0xEB,0x03,0xD6,0xD6,0x07");
18 #define SECUREEND_G _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
19 #define SECUREBEGIN_H _asm(".byte 0xEB,0x03,0xD6,0xD6,0x08");
20 #define SECUREEND_H _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
21 #define SECUREBEGIN_I _asm(".byte 0xEB,0x03,0xD6,0xD6,0x09");
22 #define SECUREEND_I _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
23 #define SECUREBEGIN_J _asm(".byte 0xEB,0x03,0xD6,0xD6,0x0A");
24 #define SECUREEND_J _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
25 #define SECUREBEGIN_K _asm(".byte 0xEB,0x03,0xD6,0xD6,0x0B");
26 #define SECUREEND_K _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
27 #define NANOBEGIN _asm(".byte 0xEB,0x03,0xD6,0xD7,0x01");
28 #define NANOEND _asm(".byte 0xEB,0x03,0xD6,0xD7,0x00");

用最后兩句做解釋,NANOBEGIN和NANOEND是C語言的CC代碼段標(biāo)記,被這兩個(gè)標(biāo)記包住的代碼段,加密殼才會(huì)對(duì)其進(jìn)行CC保護(hù)處理。NANOBEGIN 用匯編代碼表示為 0xEB,0x03,0xD6,0xD7,0x01 ,他這句是C的16進(jìn)制表示形式,在E里匯編語句是采用10進(jìn)制表示的。也就是我們要翻譯下這句代碼。

0xEB = 235
0x03 = 3
0xD6 = 214
0xD7 = 215
0x01 = 1

那么NANOBEGIN在E語言里表現(xiàn)形式就是 置入代碼({235, 3, 214, 215, 1}) 。

以上是“易語言保護(hù)殼的sdk代碼有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI