网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 网络攻防 > 安全文摘 > 千年加密解密代码(delphi)  

千年加密解密代码(delphi)

2005-04-05  作者:BitsCN整理  来源:中国网管联盟  点评 投稿 收藏

代码是从 www.GameRes.com 转载的,作者是bbs的 kissyll,感谢他。

//////////////原文内容 //////////////////
千年加密解密代码(delphi)

千年加密解密代码....虽然看起来挺复杂的.我是对应汇编的.编译后几乎和游戏客户端里的一样...保证了速度..
二次解密代码我还没去搞.不过一次解密足够了.可以制出很多功能外挂.如自动拾取.吃药.等等...二次解密加密主要用于怪物坐标用的.(自动练功需要解析怪物坐标要用)

声明部分
//二种声方法均可
//const gamestr:string[255] = ‘N>TSVUJlwdcBMFjnAKb?qxvyeGzfLP=_ER@Z\\am]ChgoWD;QuX[<tkpr^`iIHOYs.3" (- ‘+chr(13)+‘<;‘+chr(12)+chr(00)+‘=/!,1>#2$‘+chr(39)+‘89%‘+chr(10)+chr(9)+‘*):5&+67?40‘;
const gamestr : array [0..127] of byte =
($4E, $3E, $54, $53, $56, $55, $4A, $6C, $77, $64, $63, $42, $4D, $46, $6A, $6E, $41, $4B, $62, $3F, $71, $78, $76, $79, $65, $47, $7A, $66, $4C, $50, $3D, $5F, $45, $52, $40, $5A, $5C, $61, $6D, $5D, $43, $68, $67, $6F, $57, $44, $3B, $51, $75, $58, $5B, $3C, $74, $6B, $70, $72, $5E, $60, $69, $49, $48, $4F, $59, $73, $2E, $33, $1E, $01, $13, $22, $10, $0B, $28, $2D, $20, $0D, $19, $3C, $3B, $06, $11, $1C, $0C, $00, $3D, $1D, $2F, $21, $03, $02, $05, $04, $2C, $31, $3E, $23, $32, $24, $27, $38, $1F, $39, $25, $12, $0A, $09, $18, $1B, $2A, $29, $3A, $0E, $35, $07, $26, $0F, $2B, $36, $14, $37, $3F, $34, $30, $16, $08, $15, $17, $1A); 网管网www_bitscn_com

代码部分
function decode (inchar:pchar; len:integeroutchar:pchar):integer; //解密
var
a1, d1: byte;
i, count, di, si :integer;
begin
decode := len div 4 * 3//返回解密后数据长度
i := 0;
while i < len do
begin
d1 := byte (inchar[i] );
if ( d1 = $3B ) or (d1 = $7A) then
begin
end;
d1 := d1 and $0FF;
d1 := gamestr [d1 + 05]; //d1 := byte ( gamestr [ 1 + d1 ] );
byte (inchar [i] ) := d1; // 根据不同的gamestr数据定义选用不现的方法
inc (i);
end;

di := 0
si := 0
count := len div 4//循环次数
for i := 1 to count do
begin
a1 := ord ( inchar [di]); //解密数据 (取4个.转化3个)
a1 := a1 shl 2
d1 := ord ( inchar [di + 1]);
d1 := d1 shr 4
a1 := a1 or d1
outchar[si] := chr (a1);

a1 := ord ( inchar [di + 1]);
a1 := a1 shl 4
d1 := ord ( inchar [di + 2]);
d1 := d1 shr 2
a1 := a1 or d1
outchar[si + 1] := chr (a1);

a1 := ord ( inchar [di + 2]);
a1 := a1 shl 6 中国网管论坛bbs.bitsCN.com
d1 := ord ( inchar [di + 3]);
a1 := a1 or d1
outchar[si + 2] := chr (a1);

di := di + 4
si := si + 3
end;
end;

function encode (inchar:pchar; len:integeroutchar:pchar):integer; //加密
var
a1, d1 :byte;
i,count,di,si :integer;

begin
encode := len div 3 * 4//返回加密后数据长度
di := 0
si := 0
count := len div 3; //定义循环次数
for i := 1 to count do
begin
a1 := ord ( inchar [di]); //第一次转换 取3个 输出4个
a1 := a1 shr 2
outchar [si] := chr (a1);

a1 := ord (inchar[di]);
a1 := a1 and 3
a1 := a1 shl 4
d1 := ord (inchar[di +1]);
d1 := d1 shr 4
a1 := a1 or d1
outchar[si +1] := chr (a1)

a1 := ord ( inchar[di + 1])
a1 := a1 and $0F
a1 := a1 shl 2
d1 := ord ( inchar[di + 2])
d1 := d1 shr 6
a1 := a1 or d1
outchar[si + 2] := chr (a1);

a1 := ord ( inchar[di + 2])
a1 := a1 and $3F;
outchar[si + 3] := chr (a1)

//第二次转换 中国网管联盟bitsCN.com
d1 := ord ( outchar [si]); //第 1 个
d1 := gamestr [d1];
outchar [si] := chr (d1);

d1 := ord ( outchar [si + 1]); //第 2 个
d1 := gamestr [d1];
outchar [si + 1] := chr (d1);

d1 := ord ( outchar [si + 2 ]); //第 3 个
d1 := gamestr [d1];
outchar [si + 2] := chr (d1);

d1 := ord ( outchar [si + 3]); //第 4 个
d1 := gamestr [d1];
outchar [si + 3] := chr (d1);

di := di + 3
si := si + 4
end;
end;

TAGs   代码   千年   a1   d1   si   di   chr   ord   outchar   inchar   gamestr      
 上一篇:黑客编程:ASP木马代码   下一篇:以前常用的攻击软件源代码
千年加密解密代码(delphi) 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: