麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > 易語言 > 正文

易語言保護殼的sdk代碼

2024-07-21 02:55:38
字體:
來源:轉載
供稿:網友

ZProtect

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

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

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

//Code_Elimination 是代碼清除標記,允許您選擇一部分代碼在運行后從內存中刪除;使用此標記的目的是為了防止破解者從內存中轉儲出完整的程序代碼。

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

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

//Decode_onExec 是動態解碼標記,允許您選擇一部分只在執行時才解密的代碼段;這部分代碼僅在需要執行時才解碼,執行前和執行后均處于加密狀態

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

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

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

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

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

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

//Zprotect_VM 是虛擬機加密標記,允許您選擇一部分代碼放到虛擬機中運行;虛擬機的指令系統是完全不同于現有的 x86 指令,可以有效阻止代碼還原及分析

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

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

適用于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保護開始標志

'關鍵代碼

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

Enigma加密易語言的SDK

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

'關鍵代碼

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

NoobyProtect加密易語言的SDK

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

'關鍵代碼

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

穿山甲調用功能型加密易語言SDK的DEMO

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

'關鍵代碼

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

ASP加密易語言SDK

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

'關鍵代碼

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

Shielden 2.0.1.0

置入代碼 ({ 235, 7, 83, 69, 66, 69, 71, 78, 0 }) ' SE_PROTECT_START
' 關鍵代碼
置入代碼 ({ 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
關鍵代碼
置入代碼 ({ 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
關鍵代碼
置入代碼 ({ 235, 7, 83, 69, 69, 78, 68, 80, 0 }) ' SE_PROTECT_END

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

易語言SDK轉換方法↓

隨著E5.0靜態編譯對標準PE格式的支持,在E程序中引入加密殼SDK提升軟件保護質量已經成為現實。

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

一、功能性SDK。

功能性SDK用來處理序列號驗證、授權時間驗證等功能性操作。這類SDK有直接應用的各種函數在殼里提供,如WL;也有需要引入外部DLL的,如穿山甲。

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

對于有輸出表的DLL,使用E的DLL命令進行調用就OK了。

已經會調用DLL的朋友,對功能性SDK的操作可以說是輕松駕馭的啦,看一下殼具體的API手冊就OK。

二、加密型SDK

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

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

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

以下內容為程序代碼:

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代碼段標記,被這兩個標記包住的代碼段,加密殼才會對其進行CC保護處理。NANOBEGIN 用匯編代碼表示為 0xEB,0x03,0xD6,0xD7,0x01 ,他這句是C的16進制表示形式,在E里匯編語句是采用10進制表示的。也就是我們要翻譯下這句代碼。

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

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


注:相關教程知識閱讀請移步到易語言教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产羞羞视频在线免费观看 | 中国女人内谢8xxxxxx在 | 久久老司机 | 亚洲网站免费观看 | 91一区二区在线观看 | 香蕉成人在线视频 | 亚洲一区二区三区在线免费观看 | 中文字幕免费看 | 久久性生活免费视频 | 青草久久网 | 91懂色| 蜜桃网站在线观看 | 香蕉久久久久久 | 亚洲成人久久精品 | 国产亚洲在线 | 久久久久久久久久久av | 老司机一级毛片 | 电影av在线 | 欧美成人性生活片 | 99视频网址 | 欧美一级免费在线观看 | 一区二区三区日本在线观看 | 操碰视频在线观看 | 午夜视频国产 | 精品久久久久久久久久久αⅴ | 国产在线1区 | 国产 日韩 亚洲 欧美 | 免费黄色大片网站 | 免费人成在线观看网站 | 久久中文字幕在线观看 | 国产精品性夜天天视频 | 成人在线免费观看网址 | 1024亚洲天堂 | 中文字幕一区在线观看视频 | 久久精品一区二区三区四区五区 | 在线免费黄色网 | 亚洲日韩精品欧美一区二区 | 视频一区二区三区在线观看 | 国产一级αv片免费观看 | 欧美a级在线免费观看 | 黄色一级片免费在线观看 |