| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 
先上一张图。 
TCP端口扫描工具,编译器用的是masm32,用汇编写代码感觉萌萌哒~~ 
加上注释也才100行左右。。 
- ;超级简单多线程TCP服务器开放端口扫描器
 
 - ;无名侠
 
 - ;2015.5.23
 
 - .386
 
 - .model flat,stdcall
 
 - option casemap:none
 
 - include ws2_32.inc
 
 - include user32.inc
 
 - include kernel32.inc
 
 - include windows.inc
 
 - include masm32.inc
 
 - include msvcrt.inc
 
 - includelib msvcrt.lib
 
 - includelib ws2_32.lib
 
 - includelib user32.lib
 
 - includelib kernel32.lib
 
 - includelib masm32.lib
 
 - ;###############################################
 
 - ;数据段
 
 - ;###############################################
 
 - .data
 
 -         szInitError        db '加载套接字库失败!',0
 
 - ;====================================用户配置区==============================================
 
 - ;设置扫描IP
 
 - szIp                db '127.0.0.1',0
 
 - ;设置扫描范围
 
 - start_port        equ        20
 
 - end_port        equ        2000
 
 - ;=============================================================================================
 
 -         Myinfo        db '-- 超级简单多线程TCP服务器开放端口扫描器 --',0dh,0ah,'made in China.....',0dh,0ah,
 
 -         
 
 -         
 
 -         format1        db '开放TCP端口:%d',0dh,0ah,0
 
 -         ScannerIp        DWORD        ?
 
 - ;###############################################
 
 - ;代码段                A lovely girl named mooncake.
 
 - ;###############################################
 
 - .code
 
 - Thread_scanner        proc _port:dword
 
 -         LOCAL @address:sockaddr_in
 
 -         LOCAL @h_sock:dword
 
 -         invoke RtlZeroMemory,addr @address,sizeof @address
 
 -         invoke socket,AF_INET,SOCK_STREAM,0
 
 -         cmp eax,INVALID_SOCKET
 
 -         je _exit
 
 -         mov @h_sock,eax
 
 -         ;初始化地址信息
 
 -         invoke htons,_port
 
 -         mov @address.sin_port,ax
 
 -         mov @address.sin_family,AF_INET
 
 -         mov eax,ScannerIp
 
 -         mov @address.sin_addr,eax
 
 -         invoke connect,@h_sock,addr @address,sizeof @address
 
 -         .if eax==0
 
 -         invoke crt_printf,addr format1,_port
 
 -                 ;mov esi,offset OpenPortMap
 
 -                 ;mov edi,_port
 
 -                 ;mov byte ptr[esi+edi],1
 
 -         .endif
 
 -         invoke closesocket,@h_sock
 
 - _exit:        
 
 -         ret
 
 - Thread_scanner endp
 
  
- main proc 
 
 -         LOCAL @wsadata:WSADATA
 
 -         ;来点广告信息吧~亲。
 
 -         invoke crt_printf,addr Myinfo
 
 -         ;初始化套接字库
 
 -         invoke RtlZeroMemory,addr @wsadata,sizeof @wsadata
 
 -         invoke WSAStartup,202h,addr @wsadata
 
 -         ;初始化扫描IP
 
 -         invoke inet_addr,addr szIp
 
 -         mov ScannerIp,eax
 
 -         ;启动扫描线程
 
 -         mov ecx,end_port-start_port
 
 - loop1:
 
 -         push ecx
 
 -         invoke        CreateThread,NULL,0,offset Thread_scanner,ecx,0,NULL
 
 -         pop ecx
 
 -         loop loop1
 
 -         invoke crt_getchar
 
 -         ret
 
 - main endp
 
 - start:
 
 - invoke main
 
 - invoke ExitProcess,1
 
 - end start
 
  复制代码 大召唤术:@小甲鱼 @拈花小仙 @kklloo  
 |   
 
评分
- 
查看全部评分
 
 
 
 
 
 |