代码自我清除,自我加密,解密的实现
时间:2008-1-29 19:44:24 繁體中文 QQ群:45766462、28630214关 键 词:代码自我清除,自我加密,解密的实现
首先我们要定义几个过程,
procedure EncryptCode(Badress,size,key:cardinal);//Badress为加密起始地址,size为加密大小,key为加密密钥
var
CTemp:cardinal;
begin
Virtulloc(pointer(Badress),Size,Page_readwrite,Ctemp);//函数名级不起来拉。
asm
push eax;
push ebx;
push ecx;
mov eax,badress;
mov ebx,size;
mov ecx,key;
xor dword ptr ds:[eax],ecx;
add eax,4;
dec ebx;
db $75,fc;//这里可能不正确,反正向xor dword ptr ds:[eax],ecx;跳就可以拉
pop ecx;
pop ebx;
pop eax;
end;
end;
加密和解密是同一段代码。
代码清除
procedure CleanCode(Badress,size,key:cardinal);//Badress为加密起始地址,size为加密大小,key为加密密钥
var
CTemp:cardinal;
begin
Virtulloc(pointer(Badress),Size,Page_readwrite,Ctemp);//函数名级不起来拉。
asm
push eax;
push ebx;
push ecx;
mov eax,badress;
mov ebx,size;
mov ecx,key;
xor dword ptr ds:[eax],0;
add eax,1;
dec ebx;
db $75,fc;//这里可能不正确,反正向xor dword ptr ds:[eax],ecx;跳就可以拉
pop ecx;
pop ebx;
pop eax;
end;
end;
现在就可以调用拉。调用方法很简单,但是要注意的是,不能让加密代码加密自己过程内调用到的。当然对于这个badress我们用
call XXXXXXXX;
pop eax;
搞定。
当然还有很多要做的我就不多说拉。相信大家都知道。
没有相关文章 更多内容请看 编程语言教程 > > delphi教程专题
频道图文推荐
【最新知识动态】
| · | 程序人生 一些编程初学者的良言警句 | 03-19 |
| · | 关于网络编程的,cmsghdr的意思? | 01-31 |
| · | VB实现逻辑盘隐藏分区 | 01-30 |
| · | 用vbs来写sql注入等80端口的攻击脚本 | 01-30 |
| · | 代码自我清除,自我加密,解密的实现 | 01-29 |
| · | 谈谈VB程序的破解(5千字) | 01-29 |
| · | Java编程基础 | 09-29 |
| · | JAVA教程 第一讲 Java语言概述 | 09-29 |
| · | JAVA教程 第二讲 Java语言基础知识 | 09-29 |
| · | JAVA教程 第三讲 Java语言中的面向对象特性 | 09-29 |
| · | JAVA教程 第四讲 Java的例外处理和I/O流 | 10-02 |
| · | JAVA教程 第五讲 AWT图形用户界面设计 | 10-02 |
| · | JAVA教程 第六讲 Java的线程和Java Applet | 10-02 |
| · | JAVA教程 第七讲 Swing用户界面设计 | 10-02 |
| · | JAVA教程 第八讲 Java网络编程 | 10-12 |
| · | Java新手入门的30个基本概念 | 11-16 |