各种保护壳易语言的SDK代码

以下内容为程序代码:
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}) 。

页面: 1 2 3 4 5