因为自己要用,所以就有了以下代码,没做优化大家就将就着看吧!
把纯真IP数据库中的IP地址复制到文件中(注意要点右键全选复制)
.586
.model flat, stdcall
option casemap :none
;----------------------------------------------------------------
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
include comdlg32.inc
includelib comdlg32.lib
include wsock32.inc
includelib wsock32.lib
ICO_MAIN equ 1000
DLG_MAIN equ 100
.data
hInstance dd ?
szSeaveFile db 'Ipaddr.log',0
szFileName db MAX_PATH dup (?)
@stOF OPENFILENAME >
hFile dd ?
@hFile dd ?
@dwFileSize dd ?
@hMapFile dd ?
@lpFileMemory dd ?
@lpMemory dd ?
NumberIp2 dd ?
lpSize dd ?
Number2 dd ?
lpNumber dd ? ;写文件时返回的实际写入值
szBuffer db 51200 dup (?) ;50KB
szIp2 db 16 dup (?)
szIp3 db 16 dup (?)
szError01 db "创建线程失败",0
.code
_Thread proc uses ebx esi edi lParam
pushad
invoke RtlZeroMemory,addr @stOF,sizeof @stOF
mov @stOF.lStructSize,sizeof @stOF
mov @stOF.lpstrFile,offset szFileName
mov @stOF.nMaxFile,MAX_PATH
mov @stOF.Flags,OFN_EXPLORER+OFN_FILEMUSTEXIST+OFN_PATHMUSTEXIST
invoke GetOpenFileName,addr @stOF
;----------------------------------------------------------------------------------------------------------------------
invoke CreateFile,addr szFileName,GENERIC_READ,FILE_SHARE_READ or \
FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_ARCHIVE,\
NULL ;打开文件
mov @hFile,eax
invoke GetFileSize,eax,NULL ;获取文件大小
mov @dwFileSize,eax
invoke CreateFileMapping,@hFile,NULL,PAGE_READONLY,0,0,NULL
mov @hMapFile,eax
invoke MapViewOfFile,eax,FILE_MAP_READ,0,0,0
mov @lpFileMemory,eax ;内存文件视图
mov eax,@dwFileSize
invoke GlobalAlloc,GPTR,eax
mov @lpMemory,eax
;--------------------------------------------------------------------------------------------------------------------------------------
;处理数据
mov edi,eax
mov esi,@lpFileMemory
@04:
cmp byte ptr [esi],0dh
jz _Quit
mov al,byte ptr [esi]
cmp al,20h
jz @01
mov byte ptr [edi],al
inc esi
inc edi
jmp @04
@01:
mov byte ptr [edi],0
inc edi
@03:
inc esi
@05:
cmp byte ptr [esi],20h
jz @03
mov al,byte ptr [esi]
mov byte ptr [edi],al
inc esi
inc edi
cmp byte ptr [esi],20h
jz @06
jmp @05
@06:
mov word ptr [edi],0
add edi,2
@07:
inc esi
cmp byte ptr [esi],0ah
jnz @07
inc esi
jmp @04
[注意]看雪招聘,专注安全领域的专业人才平台!