首页
社区
课程
招聘
[旧帖] 请教大牛:请问用什么方法反汇编写自启动最简单啊? 0.00雪花
发表于: 2012-6-14 11:27 4968

[旧帖] 请教大牛:请问用什么方法反汇编写自启动最简单啊? 0.00雪花

2012-6-14 11:27
4968
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 351
活跃值: (384)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
copyfile 拷贝自身到启动目录不就是了
2012-6-14 16:02
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
winexec('reg -add hklm\xxx\run ')
2012-8-17 12:34
0
雪    币: 185
活跃值: (70)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
对于WinXP下自启动,一般有几个方法:
1.对于文件自启动一般有下面两个目录,
C:\Documents and Settings\All Users\「开始」菜单\程序\启动
C:\Documents and Settings\当前用户名\「开始」菜单\程序\启动
把Loader拷贝到这两个目录下就行了

2.对于服务自启动,用相关API把Loader设为服务程序就可以了。

3.对于注册表自启动,注册表中有很多的自启动目录,在其中一个目录下新建一个子键,指向自己的Loader就行了。

4.利用windows的自动播放功能实现自启动。在C盘,D盘等任一盘符根目录下新建一个autorun.inf,通过自动播放实现自启动

5.感染系统文件加载Loader实现自启动。比如常见的感染winlogon.exe explorer.exe svchost.exe等。这种技术比较难,目前我不会。

6.修改硬盘主引导区BIOS实现自启动。超级复杂的技术,一旦会了则无视还原精灵等安全软件,立马晋升为驱动大牛。这个我也不会。

由于版面和时间关系,我只贴一段服务创建Loader代码,纯手工编写,如有错误之处请指教
;服务自启动添加程序示例
.386
.model flat,stdcall
option casemap:none

include windows.inc
include user32.inc
include kernel32.inc

includelib user32.lib
includelib kernel32.lib

.data
    lpServiceName  db 'ExampleServer',0                                  ;服务名
    lpServiceInfo  db 'a example service program',0                      ;服务说明
    lpServicePath  db 'C:\Example.exe',0                                 ;服务程序(Loader)路径

    ts             db '提示',0
    Create_Success db '服务创建成功!',0
    Create_False   db '服务创建失败',0

.data?
    scMgr dd ?
    service dd ?

.code
start:
    invoke OpenSCManager,NULL,NULL,SC_MANAGER_CREATE_SERVICE             ;打开SCM服务管理器
    .if eax                                                              ;如果调用成功
        mov dword ptr scMgr, eax                                         ;保存句柄
        invoke CreateService, scMgr,\                                    ;创建服务
                              lpServiceName,\
                              lpServiceInfo,\
                              SERVICE_ALL_ACCESS,\
                              SERVICE_WIN32_OWN_PROCESS,\
                              SERVICE_AUTO_START,\
                              SERVICE_ERROR_NORMAL,\
                              lpServicePath,0,0,0,0,0
        .if eax                                                          ;如果创建成功
            mov dword ptr service, eax                                   ;保存句柄
            invoke MessageBox, NULL, addr Create_Success, addr ts, MB_OK
            invoke CloseServiceHandle, service                           ;销毁句柄
        .else                                                            ;创建服务失败
            invoke MessageBox, NULL, addr Create_False, addr ts, MB_OK
        .endif
        invoke CloseServiceHandle, scMgr                                 ;销毁句柄
    .else                                                                ;创建服务失败
        invoke MessageBox, NULL, addr Create_False, addr ts, MB_OK
    .endif
    invoke ExitProcess, 0

end start
2012-8-19 18:50
0
雪    币: 185
活跃值: (70)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6
这个在NTFS系统上貌似还需要system权限,,Administrator权限都不行,,刚才写掉了
2012-8-19 18:57
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
拷贝自身到启动目录不就是了
2012-8-23 16:53
0
游客
登录 | 注册 方可回帖
返回
//