据说熊猫烧香病毒是Delphi写的 ( 积分: 50 )

  • 主题发起人 主题发起人 .net之旅
  • 开始时间 开始时间
其实,从技术上来说,编熊猫没什么,只不过弄出个无孔不入(指扩散感染的途径前无古人,是否后无来者拭目以待)的东西还是令人钦佩的。
 
(转)大多数病毒是杀毒公司开发的

因为做IT撰稿人的身份,常和编辑们、软件厂商们合作。我一个很好的哥们是电脑报的资深编辑,他曾经就告诉我他绝大多数病毒都是杀毒软件公司本身开发的,而且“他们有更聪明的手段”。编辑没有说这种手段是什么。我估计是这个意思:雇用网上闲散的病毒作者,杀毒软件公司间共享病毒源代码。

早些有人怀疑,很多高品质的病毒,并不是一个人能做的如此精致,从其版本控制,分工代码风格不同等,像是团队开发出来的。

后来有一次我给光华反病毒软件公司写一个枪稿,是光华手机版,我没有手机病毒样本,就向光华技术人员要,技术人员说这是公司机密不能给我。后来他透露给我说,这一百多种手机病毒,除了流行的几种是世界性的广为人知的手机病毒,其余人们没听说过的全部都是光华内部自己研发的。只有他们的杀毒软件能干掉。

整个行业的默认的行规。不是他们一家。就像湘西赶尸。

没办法!互联网就是那样的!只有自己加强点意识就行了!不然能怎么样?说了还不是白说!不过也指不定哪天又是哪个自已说自己就出事了!唉!中国的现状是那样的!没办法!该执法力度的不加!不加的却又要备案!

用脚毛想想都可以判定:60%以上的病毒都是杀毒厂商自己弄的,有的只是有个名称,有的却是拥有实质!反正我们消费者不懂病毒,就像病人不知道自己病在哪里一样,医生说啥就是啥!
 
靠,我一天在线不小于10小时,一次都没中过。。。郁闷[:D][:D][:D]
 
都是牛人啊
 
难忘的熊猫烧香。。。

忘不了的它啊。。。。。
 
天上的牛为什么在飞啊 原来是gohoo在大富翁拼命的吹阿
你上面的贴的是W32.Japussy.Worm.A病毒源代码吧 N年前就有了
 
熊猫烧香病毒案告破 八名犯罪嫌疑人被抓获
http://tech.china.com/zh_cn/news/safe/895/20070212/13938208.html
新华社武汉2月12日电(记者方政军)湖北省公安厅12日宣布,根据统一部署,湖北网监在浙江、山东、广西、天津、广东、四川、江西、云南、新疆、河南等地公安机关的配合下,一举侦破了制作传播“熊猫烧香”病毒案,抓获李俊(男,25岁,武汉新洲区人)、雷磊(男,25岁,武汉新洲区人)等8名犯罪嫌疑人。这是我国破获的国内首例制作计算机病毒的大案。

据介绍,2006年底,我国互联网上大规模爆发“熊猫烧香”病毒及其变种,该病毒通过多种方式进行传播,并将感染的所有程序文件改成熊猫举着三根香的模样,同时该病毒还具有盗取用户游戏账号等功能。该病毒传播速度快,危害范围广,截至案发为止,已有上百万个人用户、网吧及企业局域网用户遭受感染和破坏,引起社会各界高度关注。《瑞星2006安全报告》将其列为十大病毒之首,在《2006年度中国大陆地区电脑病毒疫情和互联网安全报告》的十大病毒排行中一举成为“毒王”。

今年1月中旬,湖北省网监部门根据公安部公共信息网络安全监察局的部署,对“熊猫烧香”病毒的制作者开展调查。经查,熊猫烧香病毒的制作者为湖北省武汉市李俊,据李俊交代,其于2006年10月16日编写了“熊猫烧香”病毒并在网上广泛传播,并且还以自己出售和由他人代卖的方式,在网络上将该病毒销售给120余人,非法获利10万余元。经病毒购买者进一步传播,导致该病毒的各种变种在网上大面积传播,对互联网用户计算机安全造成了严重破坏。李俊还于2003年编写了“武汉男生”病毒、2005年编写了“武汉男生2005”病毒。另外,本案另有几个重要犯罪嫌疑人雷磊(男,25岁,武汉新洲区人)、王磊(男,22岁,山东威海人)、叶培新(男,21岁,浙江温州人)、张顺(男,23岁,浙江丽水人)、王哲(男,24岁,湖北仙桃人)通过改写、传播“熊猫烧香”等病毒,构建“僵尸网络”,通过盗窃各种游戏账号等方式非法牟利。

目前,李俊、雷磊等8名犯罪嫌疑人已被刑事拘留。
 
昨天才公布的,好利害的人呀,看来Delphi 还有点儿作为!!!不管怎样说,代码 是用delphi写的
 
是啊,这个病毒开源代码在2年前就看过,而且是在某网站上公开发布的,主要针对日文操作系统,并号召大家补全程序各功能模块。
 
插入远程线程大体代码
unit RemoteThread;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, TlHelp32;

type
TForm1 = class(TForm)
lbProcList: TListBox;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
edtDllName: TEdit;
Button3: TButton;
fd: TOpenDialog;
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure lbProcListDblClick(Sender: TObject);
private
{ Private declarations }
ArrId : array[0..99] of Cardinal;
procedure InsertRemoteThread;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button3Click(Sender: TObject);
begin
if fd.Execute then
edtDllName.Text := fd.FileName;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
hSnap : Cardinal;
procinfo : TProcessEntry32;
bResult : Boolean;
i : Integer;
begin
lbProcList.Clear;

hSnap := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hSnap <> -1) then
begin
// 初始化进程信息结构
procinfo.dwSize := sizeof(procinfo);
//初始化进程id数组
FillChar(ArrId, 100, 0);
bResult := Process32First(hSnap, procinfo);
i := 0;
while bResult <> false do
begin
lbProcList.Items.Add(procinfo.szExeFile);
ArrId := procinfo.th32ProcessID;
Inc(i);
bResult:= Process32Next(hSnap, procinfo);
end;
// 释放句柄对象资源
CloseHandle(hSnap);
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if ((edtDllName.Text <> '') and (lbProcList.ItemIndex >= 0)) then
//执行插入
InsertRemoteThread
else
ShowMessage('请选择被插入进程或dll名');
end;

procedure TForm1.InsertRemoteThread;
var
hProcess : Cardinal;
nLen : Integer;
ptRemoteDllName : Pointer;
tmp : DWORD;
bResult : Boolean;
begin
// 打开进程 返回进程句柄
hProcess := OpenProcess(PROCESS_CREATE_THREAD OR PROCESS_VM_WRITE OR PROCESS_VM_OPERATION, false, ArrId[lbProcList.ItemIndex]);
// ansi 版本的参数调用
nLen := strlen(PAnsiChar(edtDllName.Text)) + 1;
ptRemoteDllName := nil;
ptRemoteDllName := VirtualAllocEx(hProcess, nil, nLen, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
if Assigned(ptRemoteDllName) then else begin showmessage('远程分配虚拟内存失败'); exit; end;
bResult := WriteProcessMemory(hProcess, ptRemoteDllName, PAnsiChar(edtDllName.Text) ,nLen, tmp);
if bResult then
begin
CreateRemoteThread(hProcess, nil, 0, GetProcAddress(GetModuleHandle('kernel32.dll'), 'LoadLibraryA'), ptRemoteDllName, 0, tmp);
end
else
ShowMessage('写内存出错啦');
CloseHandle(hProcess);

end;

procedure TForm1.lbProcListDblClick(Sender: TObject);
var
hproc : Cardinal;
begin
if IDCANCEL = MessageBox(Handle, '您要结束该进程么?', '询问', MB_OKCANCEL)then exit;
hproc := OpenProcess(PROCESS_ALL_ACCESS, false, ArrId[lbProcList.ItemIndex]);
if TerminateProcess(hproc, 0) = true then showmessage('成功结束进程');
end;

end.
 

Similar threads

D
回复
0
查看
944
DelphiTeacher的专栏
D
D
回复
0
查看
882
DelphiTeacher的专栏
D
D
回复
0
查看
959
DelphiTeacher的专栏
D
后退
顶部