另类思路用C#写自删除程序

Quasar RAT客户端逆向分析实战:从.NET恶意软件拆解到威胁狩猎 远程访问木马(RAT)是一种能够实现远程控制的恶意软件,其核心原理是通过网络连接建立命令与控制(C2)通道,实现对受害者主机的持久化访问与操控。这类恶意软件的技术价值在于其模块化设计与功能完整性,常被攻击者用于窃取敏感信息、实施监控或作为后续攻击的跳板。在应用场景上,RAT不仅出现在定向攻击中,也常被捆绑在钓鱼软件或漏洞利用包里进行传播。本文以开源的Quasar RAT客户端为分析对象,深入剖析其执行流程、持久化机制与网络通信协议,并结合逆向工程实践,演示如何通过静态分析与动态调试技术,提取关键配置信息与行 阅读详情

    经常发现一些病毒木马,运行后就自删除了,你还没发现呢,已经中马了,防不胜防啊。
    我就在想,这些东东都是用什么编写的呢,可以自己删除自己?后来听说VB比较适合做这个,还有Delphi也可以,可咱学的是C#呀(VB,Delphi接触比较少),能不能做一个类似的“自删除程序”呢?想……,好像不能实现,程序自己没有退出,不可能删除掉,就是说没法实现咯;忽然想到一个问题,哈,可以解决问题咯,o(∩_∩)o...
思路如下:
    用本程序启动DOS命令,然后通过DOS命令来删除程序本身。OK,开始动工:
1.将程序不在任务栏显示(ShowInTaskbar=false),没有最大化,最小化,透明度设为0,就是完全透明了,窗体只剩个标题栏,运行时完全看不到(这样才像个木马嘛,嘿嘿);
2.通过代码修改注册表,将Exe文件的图标更改为熊猫图标(图标在资源文件中)。
3.创建一个批处理文件,删除程序自身。


    本程序运行后会将Exe文件图标全部变为熊猫了,而且运行后自删除(像熊猫烧香,有点壮观哈~),自删除实现了o(∩_∩)o...

运行后结果:


     如果不小心运行了,想还原图标,将如下代码保存为 还原.reg 文件,双击导入注册表即可。
Windows Registry Editor Version 5.00

 

[HKEY_CLASSES_ROOT/exefile/DefaultIcon]
@="%1"
 本例只提供个思路,遇到问题可变通来想,也许问题迎刃而解。
本例在VS2005 + .NetFramwork2.0 + WinXPSP2环境下运行通过。
需要Demo,留言即可。

深入解析Windows PE文件:从结构原理到逆向分析实战 可执行文件(EXE)是软件在操作系统上运行的最终形态,理解其内部结构是软件工程与安全分析的基础。其核心在于解析特定的文件格式规范,例如Windows平台广泛采用的PE(Portable Executable)格式。该格式定义了文件头、节表、代码与数据节等标准结构,并涉及虚拟地址与文件偏移转换等关键原理。掌握这些原理对于软件调试、性能分析、兼容性排查及安全漏洞挖掘具有重要价值。在逆向工程与恶意软件分析等应用场景中,通过使用dumpbin、Ghidra等工具进行静态分析,或结合x64dbg进行动态调试,可以有效 阅读详情

相关推荐

C#实现删除自身程序(附完整源码)

C#实现删除自身程序(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 449

C#开发的自删除软件及脚本

C#开发的自删除软件,能够删除本身

C#删除自身程序效果

运行程序删除自身exe程序。使用C#实现

C#实现删除自身程序

因为课程需要,需要实现程序运行时删除自身的效果,但是程序运行时是受到系统保护的,所以只能想别的方法 。   思路是:在本程序未关闭时调用其他程序,使被调用的程序在源程序关闭后删除程序本身。   使用C#删除自身的exe程序,共有两种方法。    方法一:使用bat文件删除程序+自身,但其有临时bat文件生成。 方法二:利用某些dos命令的延时效果,在程序退出之后自动删除程序自身思路非常巧妙。也

重口味码农 8236

C#删除程序自身【总结】

  偶然看到一个可以自删除程序,于是了解下如何实现。然后整理如下:   思路:   在.NET程序中,因为运行中的程序是受系统保护的,不能自己删除自身的,所以自删除思路:   在关闭本程序之前启动新的进程打开另一个程序,调用这个程序来删除原程序。然后再完成外部进程的销毁。   操作: 方法一:程序中打开新的进程,删掉程序后,再销毁进程本身   流程:首先生成一个B...

weixin_30612769的博客 232

C#程序自杀 程序删除自己

主要是使用bat批处理命令,话不多说,代码说事         private void DeleteUnInstallself()         {             string batDelFile = Path.GetDirectoryName(Application.ExecutablePath) + "\\delself.bat";             using

u010007460的博客 1525

c#如何一个自杀程序

<br />删除自己的exe文件,彻底删除不进回收站。DOS?<br />ls的基础上。修改为循环判断程序是否可以被删除。用<br />del exefile然后判断if errorlevel 1 then ...<br />的方式循环判断直到删除后再删除自己比较合理。延时效果不好。要么时间太长,要么时间太短,无法控制。<br />以前实现过,好像是用bat实现的,具体不太清楚。<br />很简单,分为四部<br />1、主程序执行的时候,调用fileStream 在磁盘上出一个新的执行文件,这个执行文件

cl52155的专栏 1285

WPF 程序自删除自毁)|卸载程序删除

一般是在MainWindow_Closed 事件中调用批处理命令删除。 在借鉴别人的想法的基础上的算是改进。 自删除步骤: 1.删除文件 2.删除存放文件夹。 实现代码: 1 private static void DeleteItselfByCMD() 2 { 3 string baseDirectory = S...

weixin_30905981的博客 598

实战渗透测试中的免杀技术:从原理到Shellcode加载器实现

在网络安全领域,恶意软件检测与防御是攻防对抗的核心环节。现代杀毒软件通过静态特征码扫描、启发式分析、动态沙箱行为监控以及云查杀与机器学习模型等多层机制,构建了立体化的防御体系。为了应对这些检测手段,免杀技术应运而生,其核心价值在于确保恶意载荷在投递与执行阶段能够规避安全产品的识别,从而保障渗透测试与安全评估的连续性。从技术原理上看,免杀主要围绕规避静态特征、欺骗启发式分析、对抗动态沙箱以及规避内存扫描等维度展开。在工程实践中,Shellcode加载器与分离技术成为当前有效的解决方案之一,它通过将恶意代码与加

weixin_30654583的博客 607

C# 应用程序自删除

应用程序自删除

暂无内容 1741

c#程序自删除

再分享一个小技巧,实现c#版本exe自删除功能。 代码如下: Process process = new Process(); Thread.CurrentThread.Priority = ThreadPriority.Highest; Process.GetCurrentProcess().PriorityClass = Pro...

weixin_30247159的博客 297

C#自己删除自己

 需要引用 using System.Runtime.InteropServices;[DllImport("kernel32.dll")]public static extern uint WinExec(string lpCmdLine, uint uCmdShow);private void button1_Click(object sender, EventArgs e){  

I'm a hack---- 929

c#自杀程序的关键方法

# public static void TestForKillMyself() # { # string bat = @"@echo off # :tryagain # del %1 # if exist %1 got

catchdream的专栏 852

如何执行一个程序命令删除自己代码(比如自毁程序

昨天晚上突然有的一个想法,现在拿出来试试。 #include &lt;stdio.h&gt; #include &lt;unistd.h&gt; #include &lt;sys/types.h&gt; #include &lt;sys/stat.h&gt; #include &lt;fcntl.h&gt; #include &lt;stdlib.h&gt; #include &lt;errn...

m0_38036750的博客 8563

IDispose和Finalize的区别和联系

IDispose和Finalize的区别和联系  ----------------------------------以下是CSDN上一位高手的总结---------------------------------------------- 1、Finalize方法(C#中是析构函数,以下称析构函数)是用于释放非托管资源的,而托管资源会由GC自动回收。所以,我们也可以这样来区分

zh_geo的专栏 967
上一篇: Unicode字符集批量转码为汉字(互转)
下一篇: C#实现程序的版本升级更新
whowhen21
博客等级 码龄18年 128粉丝 9原创
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值