首页
社区
课程
招聘
[原创]通用版本EXE自删除代码..TASM代码..学习使用堆践存储数据
发表于: 2006-4-3 15:35 11429

[原创]通用版本EXE自删除代码..TASM代码..学习使用堆践存储数据

2006-4-3 15:35
11429

第一次用堆践存放数据..学了一点花招..
比如如何不用声明压入一个字符串
push 000434550h
push 0534d4f43h
mov eax,esp
这里是压入一个
ASCII "COMSPEC"


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 7
支持
分享
最新回复 (15)
雪    币: 159
活跃值: (339)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
呵呵,原来原理是这样!C:\WINDOWS\system32\cmd.exe /c del "E:\CODE_T~1\asm\del_self.exe"
测试成功,谢谢
2006-4-3 17:32
0
雪    币: 217
活跃值: (99)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
我认为还是这样的代码看起来方便:
#include <windows.h>
void main()
{
    char cmd[1024];
    GetEnvironmentVariable("ComSpec",cmd,1024);
    GetModuleFileName(GetModuleHandle(0),cmd+lstrlen(lstrcat(cmd," /c del \"")),512);
    WinExec(cmd,0);
}
2006-4-4 09:05
0
雪    币: 159
活跃值: (339)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
最初由 dwing 发布
我认为还是这样的代码看起来方便:
[CODE]
#include <windows.h>
void main()
{
........

原来可以少写一个引号的
2006-4-4 12:39
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
值得收藏,好帖
2006-4-4 12:49
0
雪    币: 217
活跃值: (99)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
这个程序必须在执行WinExec之后马上退出,否则就会删除失败.
2006-4-5 10:43
0
雪    币: 1272
活跃值: (746)
能力值: ( LV13,RANK:810 )
在线值:
发帖
回帖
粉丝
7
写个过程扔在程序最后面~没办法暂时没有找到程序还在运行.他就可以删除的方法~~
2006-4-7 11:59
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
让程序放出批处理来删除不是更方便

2006-4-7 19:00
0
雪    币: 159
活跃值: (339)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
9
最初由 xinix 发布
让程序放出批处理来删除不是更方便


批处理,不是有个console吗...这样不是很好看...
2006-4-8 15:07
0
雪    币: 1852
活跃值: (504)
能力值: (RANK:1010 )
在线值:
发帖
回帖
粉丝
10
最初由 dwing 发布
我认为还是这样的代码看起来方便:
[CODE]
#include <windows.h>
void main()
{
........


简洁、清晰的代码!
值得学习,收藏
2006-4-17 14:25
0
雪    币: 179
活跃值: (131)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
11
再来个更简单的:
#include <windows.h>

void main()
{
        char str[1024];
        wsprintfA(str, "cmd /c del %s", _pgmptr);
        WinExec(str, 0);
}
2006-4-17 16:55
0
雪    币: 1272
活跃值: (746)
能力值: ( LV13,RANK:810 )
在线值:
发帖
回帖
粉丝
12
这也算??
那我还有更简单的..
begin
  WinExec(Pchar('cmd /c del ' + GetCommandLine),0);
end;
2006-4-17 17:20
0
雪    币: 179
活跃值: (131)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
13
这什么语言?
2006-4-17 17:28
0
雪    币: 291
活跃值: (213)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
14
Delphi
2006-4-18 14:38
0
雪    币: 217
活跃值: (99)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
15
我也来个一行的:
#include<windows.h>
#include<string>
void main()
{
    WinExec((std::string("cmd /c del ")+_pgmptr).c_str(),0);
}
2006-4-20 09:03
0
雪    币: 217
活跃值: (99)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
16
最初由 Anskya 发布
WinExec(Pchar('cmd /c del ' + GetCommandLine),0);

小心如果其它文件名作参数会连那个文件一起删除.
如果有其它非文件名作参数,删除可能失败.

最初由 WAKU 发布
wsprintfA(str, "cmd /c del %s", _pgmptr);

自定义入口的程序不能外部变量_pgmptr.
2006-4-20 09:16
0
游客
登录 | 注册 方可回帖
返回
//