- 帖子
- 270
- 积分
- 733
- 威望
- 1168
- 金钱
- 874
- 在线时间
- 2 小时
|
[讨论]为什么生成器生成的exe是空的?大家有什么办法?
[讨论]为什么生成器生成的exe是空的?大家有什么办法?
议题作者:Asm
信息来源:邪恶八进制信息安全团队
这几天请教了mika,对木马生成器有些了解,逐渐用汇编语言写了一个,用VC++资源编辑器载入客户端后,接着查看二进制的资源如下:
1.jpg (17 KB)
2006-12-24 03:29
2.jpg (70 KB)
2006-12-24 03:29
3.jpg (59 KB)
2006-12-24 03:29
现在我要替换掉内存地址是000800H的内容,按照一般的写法,主要代码如下:
复制内容到剪贴板
代码:
invoke FindResource,NULL,ASM,RT_RCDATA ;查找资源
mov hRsrc,eax
invoke SizeofResource,NULL,hRsrc ;获取资源长度
mov dwSize,eax
invoke LoadResource,NULL,hRsrc ;装载资源
mov hResData,eax
invoke GlobalAlloc,GPTR,dwSize ;分配内存
mov lpData,eax
invoke LockResource,hResData ;锁定它
mov lpRes,eax
invoke lstrcpyn,lpData,lpRes,dwSize ;按照mika的ms06041网马的写法
invoke lstrlen,addr szBuffer
lea esi,szBuffer
mov edi,lpData
add edi,800h ;要替换的内容的内存地址
mov ecx,eax
cld
rep movsb
invoke CreateFile,offset szName,GENERIC_WRITE,FILE_SHARE_READ,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL
.if eax != NULL
mov hFile,eax
invoke WriteFile,hFile,lpData,dwSize,addr dwSizeWritten,NULL
写完后正常生成一个asm.exe,但是用VC++资源编辑器打开看二进制代码,打开发现就除了一个PE头MZ和我填写的URL,其他的PE资源就没有了,不过却能够把URL输入到000800H这个位置:
1.jpg (63 KB)
2006-12-24 03:29
2.jpg (64 KB)
2006-12-24 03:29
所以我猜想生成exe和htm的方法不一样!为了证实这个猜想,我用我编写的程序中的字符串"asm.exe"换成mika的"mika.htm",正常生成一个"mika.htm",并且能把URL写入正确的位置...
在主程序中,二进制的资源是正确的了,为什么生成的时候exe却是空的捏?
给出完整代码大家帮我看一下:
复制内容到剪贴板
代码:
.386
.model flat, stdcall
option casemap :none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 文件定义
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Equ 等值定义
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ICO_MAIN equ 1000h ;图标
DLG_MAIN equ 1
IDC_URL equ 1001
ASM equ 1002
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 数据段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.data?
hInstance dd ?
.data
szUrl db 156 dup(0)
szName db 'asm.exe',0
szText db '成功生成',0
szCaption db '恭喜',0
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 代码段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.code
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_ProcDlgMain proc uses ebx edi esi hWnd,wMsg,wParam,lParam
LOCAL hRsrc,hResData,hFile,dwSize,dwSizeWritten,lpData,lpRes
LOCAL szBuffer[100h]:byte
mov eax,wMsg
.if eax == WM_CLOSE
invoke EndDialog,hWnd,NULL
.elseif eax == WM_INITDIALOG
invoke LoadIcon,hInstance,ICO_MAIN
invoke SendMessage,hWnd,WM_SETICON,ICON_BIG,eax
.elseif eax == WM_COMMAND
mov eax,wParam
.if ax == IDOK
invoke GetDlgItemText,hWnd,IDC_URL,addr szBuffer,sizeof szBuffer
invoke FindResource,NULL,ASM,RT_RCDATA
mov hRsrc,eax
invoke SizeofResource,NULL,hRsrc
mov dwSize,eax
invoke LoadResource,NULL,hRsrc
mov hResData,eax
invoke GlobalAlloc,GPTR,dwSize
mov lpData,eax
invoke LockResource,hResData
mov lpRes,eax
invoke lstrcpyn,lpData,lpRes,dwSize
invoke lstrlen,addr szBuffer
lea esi,szBuffer
mov edi,lpData
add edi,800h
mov ecx,eax
cld
rep movsb
invoke CreateFile,offset szName,GENERIC_WRITE,FILE_SHARE_READ,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL
.if eax != NULL
mov hFile,eax
invoke WriteFile,hFile,lpData,dwSize,addr dwSizeWritten,NULL
invoke MessageBox,hWnd,offset szText,offset szCaption,MB_OK
invoke CloseHandle,hRsrc
invoke CloseHandle,hResData
invoke CloseHandle,hFile
invoke GlobalFree,lpData
.endif
.endif
.else
mov eax,FALSE
ret
.endif
mov eax,TRUE
ret
_ProcDlgMain endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
start:
invoke GetModuleHandle,NULL
mov hInstance,eax
invoke DialogBoxParam,hInstance,DLG_MAIN,NULL,offset _ProcDlgMain,NULL
invoke ExitProcess,NULL
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
end start
复制内容到剪贴板
代码:
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#include <resource.h>
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#define ICO_MAIN 0x1000 //图标
#define DLG_MAIN 1
#define IDC_URL 1001
#define ASM 1002
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ICO_MAIN ICON "Main.ico"
ASM RCDATA DISCARDABLE "asm.exe"
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
DLG_MAIN DIALOG 50, 50, 263, 51
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "木马服务端生成测试"
FONT 9, "宋体"
{
LTEXT "正文:", -1,14,16,26,14
EDITTEXT IDC_URL,43,16,148,14,ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP
PUSHBUTTON "生成exe",IDOK,200,17,44,14
}
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>游戏吧 http://www.game8.cc/MyBlog http://www.asm32.cn
帖子1604 精华30 积分8760 阅读权限150 性别男 在线时间954 小时 注册时间2006-9-21 最后登录2008-7-24 查看详细资料TOP 良辰择日,预测咨询,公司改名,权威易经
ybjh
荣誉会员
|
|