标题:庆祝论坛正常 发个刷流量软件的最新版 HTTPProxySend v 0.3 (win32汇编)
取消只看楼主
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
结帖率:100%
 问题点数:0 回复次数:2 
庆祝论坛正常 发个刷流量软件的最新版 HTTPProxySend v 0.3 (win32汇编)
这东西其实要配合抓包器才能用的~~~~

前几版都发了 这个修改过的再发罢

先代码

程序代码:

;MASMPlus 代码模板 - 以对话框做为主窗口的程序

;*****************************************************************************************************************
;作者:zklhp  
;Email:zklhp@时间:2009.12.19
;版权所有    转载请保持完整
;*****************************************************************************************************************

.386
.Model Flat, StdCall
Option Casemap :None

Include windows.inc
Include user32.inc
Include kernel32.inc
Include gdi32.inc
include shell32.inc
include USkin.inc
Include WSock32.inc
include shlwapi.inc
include libc.inc

includelib gdi32.lib
IncludeLib user32.lib
IncludeLib kernel32.lib
includelib shell32.lib
includelib USkin.lib
Includelib WSock32.Lib
includelib shlwapi.lib
includelib msvcrt.lib


include macro.asm

    ;懒得自己写代码了 用了C的运行时库~
    fgets proto C lpBuf_OUT:DWORD,size_IN:DWORD,hFile_IN:DWORD
    fopen PROTO C lpszFileName_IN:DWORD,lpszMode_IN:DWORD
    fclose PROTO C hFile_IN:DWORD



include rsrc.inc

_stPROXY    struct
    _dwIP        dd ?
    _dwPort    dd ?
_stPROXY    ends

    DlgProc PROTO :DWORD,:DWORD,:DWORD,:DWORD
    fgets proto C :DWORD,:DWORD,:DWORD
    ID_WINS            equ 10
    ID_WINH            equ 11
    F_STOP            equ 0FFFFFFFH
    MAX_PROXY        equ 512


.data
    szAbout    db 'HTTP代理发送器 v0.3',0dh,0ah,'By zklhp  Email:zklhp@',0dh,0ah,'版权所有    转载请保持完整',0
    
    x        FLOAT        210.0f
    y        FLOAT        1.0f
    
    szSend    db 'GET http://www2.ouc. HTTP/1.1',0dh,0ah
                db 'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*',0dh,0ah
                db 'Accept-Language: zh-cn',0dh,0ah
                db 'Accept-Encoding: gzip, deflate',0dh,0ah
                db 'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)',0dh,0ah
                db 'Host: www2.ouc.',0dh,0ah,0dh,0ah,0
    


.data?
    hInstance    dd ?
    hWin            dd ?
    stProxy        _stPROXY MAX_PROXY dup(<>)
    stWSA            WSADATA <?>
    dwStop        dd ?
    dwTimeOut    dd ?
    szSendBuf    db 8192 dup(?)
    dwThreadID    dd ?

.CODE

_SendProc    proc uses ebx edi esi _Param:DWORD
    
    local @szBuf[2048]:BYTE
    local @stSin:sockaddr_in
    local    @hSocket:DWORD
    
    assume esi:ptr _stPROXY
    mov @stSin.sin_family,AF_INET
    
    invoke Sleep,_Param    ;这样把各个线程的发送错开 防止同一时间有很多链接
    
    ;每次循环检测停止标志位 若为F_STOP则线程停止
    .while dwStop != F_STOP
        lea esi,stProxy
        
        .while [esi]._dwIP
            @Begin:
            mov eax,[esi]._dwPort
            mov @stSin.sin_port,ax
            mov eax,[esi]._dwIP
            mov @stSin.sin_addr,eax
            invoke socket,AF_INET,SOCK_STREAM,0
            .if eax == INVALID_SOCKET
                invoke WSAGetLastError
                invoke wsprintf,addr @szBuf,CTXT('DeBug:socket fail  WSAGetLastError:%x',0dh,0ah),eax
                invoke SendDlgItemMessage,hWin,IDC_EDT3,EM_REPLACESEL,0,addr @szBuf
                jmp @Next
            .endif
            mov @hSocket,eax
            invoke connect,@hSocket,addr @stSin,sizeof @stSin
            .if eax == SOCKET_ERROR
                invoke WSAGetLastError
                invoke wsprintf,addr @szBuf,CTXT('DeBug:connect fail WSAGetLastError:%x',0dh,0ah),eax
                invoke SendDlgItemMessage,hWin,IDC_EDT3,EM_REPLACESEL,0,addr @szBuf
                invoke closesocket,@hSocket
                jmp @Next
            .endif
            invoke lstrlen,offset szSendBuf
            invoke send,@hSocket,offset szSendBuf,eax,0
            invoke closesocket,@hSocket
            invoke Sleep,dwTimeOut
            ;若出错 一般是代理服务器被关了 这样其实是连接超时 所以再睡没意义 应减少无效链接占用的时间
            @Next:
            add esi,sizeof _stPROXY
            
        .endw
    .endw
    assume esi:NOTHING
    
@ExitThread:
    xor eax,eax
    ret
    
_SendProc endp

START:

    invoke USkinInit,NULL,NULL,CTXT("DiyGreen.msstyles")    ;初使化USkin
    invoke USkinApplyColorTheme,x,y
    invoke GetModuleHandle,NULL
    mov hInstance,eax
    invoke DialogBoxParam,hInstance,IDD_DLG1,0,offset DlgProc,0
    invoke USkinExit        ;退出USkin
    invoke ExitProcess,0

DlgProc proc hWnd,uMsg,wParam,lParam
    
    local @hFile:DWORD
    local @szBuf[256]:BYTE
    
    .if uMsg==WM_INITDIALOG
        invoke LoadIcon,hInstance,ICON_168
        invoke SendMessage,hWnd,WM_SETICON,ICON_SMALL,eax
        
        ;限制文字个数
        invoke SendDlgItemMessage,hWnd,IDC_EDT1,EM_LIMITTEXT,5,0
        invoke SendDlgItemMessage,hWnd,IDC_EDT6,EM_LIMITTEXT,sizeof szSendBuf,0
        
        ;注册热键
        invoke RegisterHotKey,hWnd,ID_WINS,MOD_WIN,VK_S
        invoke RegisterHotKey,hWnd,ID_WINH,MOD_WIN,VK_H
        push hWnd
        pop hWin
        
        ;输出信息
        invoke SendDlgItemMessage,hWnd,IDC_EDT3,EM_REPLACESEL,0,CTXT('欢迎使用HTTP代理发送程序 请先阅读说明文件 注意程序的要求 否则出错~',0dh,0ah)
        invoke SendDlgItemMessage,hWin,IDC_EDT6,EM_REPLACESEL,0,offset szSend
        
        invoke WSAStartup,0202h,offset stWSA
        
        ;初始化地址列表
        assume esi:ptr _stPROXY
        lea esi,stProxy
        mov [esi]._dwIP,0
        assume esi:NOTHING
        
    .elseif uMsg==WM_COMMAND
        mov eax,wParam
        and eax,0ffffh
        .if eax==IDOK
            invoke SendMessage,hWnd,WM_COMMAND,IDC_BTN1,0
        .elseif eax==IDCANCEL
            invoke SendMessage,hWnd,WM_CLOSE,0,0    ;按ESC退出
        .elseif    eax==IDC_CHK1
                invoke IsDlgButtonChecked,hWnd,IDC_CHK1    ;看是否直接发送
                .if eax == BST_CHECKED
                    ;直接发送
                    invoke GetDlgItem,hWnd,IDC_EDT4
                    invoke EnableWindow,eax,TRUE
                    invoke GetDlgItem,hWnd,IDC_EDT7
                    invoke EnableWindow,eax,TRUE
                    assume esi:ptr _stPROXY
                    lea esi,stProxy
                    invoke GetDlgItemText,hWnd,IDC_EDT4,addr @szBuf,sizeof @szBuf
                    .if eax
                        invoke inet_addr,addr @szBuf
                        mov [esi]._dwIP,eax
                        invoke GetDlgItemInt,hWnd,IDC_EDT7,FALSE,FALSE
                        invoke htons,eax
                        mov [esi]._dwPort,eax
                        add esi,sizeof _stPROXY
                        mov [esi]._dwIP,0
                    .else
                        mov [esi]._dwIP,0
                    .endif
                    assume esi:NOTHING
                .else
                    ;使用代理列表
                    invoke GetDlgItem,hWnd,IDC_EDT4
                    invoke EnableWindow,eax,FALSE
                    invoke GetDlgItem,hWnd,IDC_EDT7
                    invoke EnableWindow,eax,FALSE
                    invoke SetDlgItemText,hWnd,IDC_EDT5,0    ;清空
                    ;用了C函数
                    invoke fopen,CTXT('PROXY.txt'),CTXT('r')
                    .if eax == INVALID_HANDLE_VALUE
                        invoke SendDlgItemMessage,hWnd,IDC_EDT3,EM_REPLACESEL,0,CTXT('fail to open PROXY.txt',0dh,0ah)
                        jmp @F
                    .endif
                    mov @hFile,eax
                    assume esi:ptr _stPROXY
                    lea esi,stProxy
                    .while TRUE
                        invoke fgets,addr @szBuf,sizeof @szBuf,@hFile
                        .break .if eax < 2    ;若按照要求的格式最后有一个空行 则最后一次此处得到的长度为0
                        invoke lstrlen,eax
                        dec eax
                        lea ecx,@szBuf
                        add ecx,eax
                        mov BYTE ptr [ecx],0
                        invoke SendDlgItemMessage,hWin,IDC_EDT5,EM_REPLACESEL,0,addr @szBuf
                        invoke SendDlgItemMessage,hWin,IDC_EDT5,EM_REPLACESEL,0,CTXT(0dh,0ah)
                        xor eax,eax
                        mov al,':'
                        invoke strchr,addr @szBuf,eax
                        mov edi,eax
                        mov BYTE ptr [edi],0
                        invoke inet_addr,addr @szBuf
                        mov [esi]._dwIP,eax
                        inc edi
                        invoke atoi,edi
                        invoke htons,eax
                        mov [esi]._dwPort,eax
                        add esi,sizeof _stPROXY
                    .endw
                    
                    mov [esi]._dwIP,0
                @@:
                    invoke fclose,@hFile
                    assume esi:NOTHING
                .endif
        .elseif eax==IDC_BTN1
            ;发送
            invoke GetDlgItemText,hWnd,IDC_EDT6,offset szSendBuf,sizeof szSendBuf
            
            invoke GetDlgItemInt,hWnd,IDC_EDT2,FALSE,FALSE
            .if eax
                mov dwTimeOut,eax
                invoke GetDlgItemInt,hWnd,IDC_EDT1,FALSE,FALSE
                .if eax
                    mov dwStop,0
                    mov edi,eax
                    xor ebx,ebx
                    .while ebx < edi
                        mov eax,ebx
                        imul dwTimeOut
                        ;这样把Sleep()放在线程函数开头比较好 避免界面没响应的现象
                        invoke CreateThread,0,0,offset _SendProc,eax,0,offset dwThreadID    ;启动线程
                        invoke CloseHandle,eax
                        ;invoke Sleep,dwTimeOut
                        ;这样多个线程时可以把发送错开 防止同一时间内访问过多
                        ;但又造成了创建线程时界面没响应 是个问题
                        
                        inc ebx
                    .endw
                .endif
            .endif
            @@:
            assume esi:NOTHING
        .elseif eax==IDC_BTN2    ;取消
            mov dwStop,F_STOP        ;置标志位即可 线程会自动退出
        .elseif eax==IDC_BTN3
            invoke MessageBox,hWnd,offset szAbout,CTXT('关于'),0
        .elseif eax==IDC_BTN4
            invoke SendMessage,hWnd,WM_CLOSE,0,0
        .endif
    .elseif uMsg==WM_HOTKEY
        .if wParam==ID_WINS
            invoke ShowWindow,hWnd,SW_SHOW
        .elseif wParam==ID_WINH
            invoke AnimateWindow,hWnd,1000,AW_BLEND or AW_HIDE        ;渐变退出
            invoke ShowWindow,hWnd,SW_HIDE
        .endif
    .elseif uMsg==WM_CLOSE
        invoke AnimateWindow,hWnd,1000,AW_BLEND or AW_HIDE        ;渐变退出
        ;取消热键
        invoke UnregisterHotKey,hWnd,ID_WINS
        invoke UnregisterHotKey,hWnd,ID_WINH
        invoke EndDialog,hWnd,wParam
        invoke WSACleanup
    .else
        mov eax,FALSE
        ret
    .endif
    mov eax,TRUE
    ret
DlgProc endp

END START





程序+代码

HTTPProxySend.rar (332.85 KB)



搜索更多相关主题的帖子: 流量 庆祝 软件 汇编 
2009-12-19 22:46
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:0 
以下是引用玩出来的代码在2009-12-19 23:14:26的发言:

很好,貌似也很好玩的,也想学汇编可惜没那么多的时间。

只要想学 什么时候都可以开始~
2009-12-19 23:20
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:0 
以下是引用az9841682在2009-12-20 15:46:11的发言:

悄悄的问下
什么叫 刷流量


比如我这个帖 看的人少 我用这个一刷 哇 几千的点击量~ 就这效果


其实功能很多 这个刷流量只是一个通俗的叫法~~~~~~~
2009-12-20 17:41



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-293911-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027953 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved