火车采集器软件交流官方论坛

 找回密码
 加入会员
搜索
火车采集器V9版免费下载火车浏览器 - 可视采集,万能群发,全自动脚本工具
查看: 2897|回复: 3

请求懂汇编的朋友看一下这段代码

[复制链接]
发表于 2008-7-11 00:55:57 | 显示全部楼层 |阅读模式
最近要采集一个有很多帖子需要回复的论坛 又找不到自动回贴的程序

刚才搜索到一段代码 有人已经实现过 哪位朋友帮忙编译一下 应该有很多人需要的
管理员 版主 懂汇编的朋友请帮帮忙


经常去一些论坛,看东西,权限小,有些东西看不到,发贴可以升级增加权限,灌水吧,似乎又是体力活,昨天忽然想能否写一个专门回帖灌水的程序,只要上网了,运行后,让他后台自己灌去吧,去百度搜一下,没有找到合适的,看来需要自己动手干了。
     
对socket通讯的程序,还没有用汇编写过,翻一些网上的资料,开始动手写,写完调试,用sniffer抓包分析。用自己的写程序直接发回帖内容不成功,看来需要前面的一个登陆过程包;把登陆包也加入程序中,然后发过去,再发回帖内容包,还是不能成功。用sniffer抓到的回应包,与正常的IE,相比没有看出区别,但再发送回帖内容包,就被服务器复位连接了。检查其他地方也没有发现问题,再用IE回帖抓包,反复分析好几次后,发现登陆包,用的端口号,与回帖包的端口号不一样。于是程序与服务器建立两个连接,一个发登陆包,一个发回帖包,再用IE观察发现,程序发送的回帖,已经成功的记录在论坛上了。终于成功了。
     
总结:这类程序,需要结合sniffer分析包发送内容,再者就是连接帖子,与回帖发送用的不是一个连接。至于为什么俺就不知道。

程序如下:其中zhucemsg  sendmsg   
中数据是用sniffer抓的,每个机器是不一样的,主要是里面的cookee登陆内容。所以这部分的数据需要改动,给出只是大概数据。


;
########################################################################
   
command1  PROTO
   
strcopyl  PROTO :DWORD, :DWORD, :DWORD
;
########################################################################
   
.data
sockinit   db 400
dup(65)
hsocket172s    dd
?
hsocket172r    dd ?
sockdata172   
sockaddr_in<>
zhucemsg  db 'GET /forum/thread-804062-1-1.html
HTTP/1.1',13,10
      db
'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,
application/x-shockwave-flash,
*/*',13,10
      db
'lastdomain=1231321321|werwqreqrwrwrwrrrrrrrrrr==|chinaren.com;
cdb_visitedfid=133; '
      
db 'cdb_passport=qazxswedc73ebdc98852c4; cdb_cookietime=31536000;
'
      db
'cdb_auth=eeg98RbBzdevn9E%2F6v3w9xpx53UfF1i5V%2FHP; cdb_pname=qazwedc;
cdb_sid='
biaozhi0c  db 'adadad; cdb_onlineforum=1;
cdb_fid133='
biaozhi1c  db
'1181310803',13,10,13,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

sendmsg    db 'POST
/forum/post.php?action=reply&fid=133&tid=804062&extra=page%3D1&replysubmit=yes
HTTP/1.1',13,10
      db
'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,
application/x-shockwave-flash,
*/*',13,10
      db
'Content-Length:
50',13,10
      db
'Connection:
Keep-Alive',13,10
      db
'Cache-Control:
no-cache',13,10
      db
'Cookie: SUV=0705111422107158; IPLOC=CN3700; club_chat_ircnick=werwrrrrreeee;
'
      db
'cdb_auth=eeg98RbBzdevn9E%2F6v3w9xpx1i5V%2FHP; cdb_pname=qazxswedc;
cdb_sid='
biaozhi0  db 'qTv6Y7;
'
      db
'cdb_onlineforum=1; cdb_fid133='
biaozhi1  db
'1181375889',13,10,13,10,'formhash=b6675caa&subject=&message='
messages   
db 768 dup (0)
cct        
dd
1181313803
cctd      
db '%d',0
biaozhi    db 12
dup(0)
smsgd      db
'%08x%08x%',0
smsg      
db 'testqaz8123test',0,0,0,0,0,0
ipipip     db '161.15.11.172',0
    .code
;
########################################################################
command1 proc
  invoke WSAStartup,101,addr
sockinit
connnat1:
  invoke
socket,AF_INET,SOCK_STREAM,0
  .if eax !=
INVALID_SOCKET
     mov
hsocket172s,eax
     invoke
socket,AF_INET,SOCK_STREAM,0
     mov
hsocket172r,eax
     
     mov  
sockdata172.sin_family,AF_INET
     invoke
htons,80
     mov  
sockdata172.sin_port,ax
     invoke inet_addr,ADDR
ipipip
     mov  
sockdata172.sin_addr,eax
     mov  
eax,cct
     lea  
ebx,[eax+1234567890]
     ror  
ebx,1
     invoke
wsprintf,addr smsg,addr
smsgd,eax,ebx
     invoke
strcopyl,addr smsg, addr
messages,15        
;生成发送回帖的内容数据
     invoke
connect,hsocket172s,addr sockdata172, sizeof sockdata172   
;用于发送登陆包
     invoke
connect,hsocket172r,addr sockdata172, sizeof sockdata172   
;用于发送回帖包
     .if eax !=
SOCKET_ERROR
        invoke
wsprintf,addr biaozhi,addr
cctd,cct
        invoke
strcopyl,addr biaozhi,addr
biaozhi1c,10
        invoke
lstrlen,addr
zhucemsg
        invoke
send,hsocket172s,addr zhucemsg,eax,0   
;发送登陆包
        invoke
Sleep,2000
        add   
cct,3
        invoke
wsprintf,addr biaozhi,addr
cctd,cct
        invoke
strcopyl,addr biaozhi,addr
biaozhi1,10
        invoke
strcopyl,addr biaozhi0c,addr
biaozhi0,7
        invoke
lstrlen,addr
messages
        add  
eax,3d8h
        invoke
send,hsocket172r,addr sendmsg,eax,0   ;发送回帖包
     .endif
     invoke
Sleep,30000                                 
;延迟30s再发
     invoke
CloseHandle,hsocket172s
     invoke
CloseHandle,hsocket172r
  
    jmp   
connnat1
  .endif
  invoke
WSACleanup
    ret
command1 endp
;
#########################################################################
;
########################################################################
strcopyl
proc
sss:DWORD,ddd:DWORD,lll:DWORD
    push
esi
    push
edi
    push
ecx
    mov  
esi,sss
    mov  
edi,ddd
    mov  
ecx,lll
    rep  
movsb
    pop  
ecx
    pop  
edi
    pop  
esi
    ret
strcopyl
endp
发表于 2008-7-11 09:22:00 | 显示全部楼层
就个就是整理好了给你用,你也用着不方便,这是面向编程人员的.
需要回复可以做一个相应系统的回复模块
 楼主| 发表于 2008-7-11 16:09:00 | 显示全部楼层
原帖由 soarb 于 2008-7-11 09:22 发表
就个就是整理好了给你用,你也用着不方便,这是面向编程人员的.
需要回复可以做一个相应系统的回复模块

做一个专门回复的模块要多少 dz繁体big5编码  460008693
是对所有的帖子进行回复的模块
发表于 2008-7-11 16:20:26 | 显示全部楼层
自动回帖?用Ruby的Watir即可搞定,自动发帖顶帖都可以如此实现。
您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

QQ|手机版|Archiver|火车采集器官方站 ( 皖ICP备06000549 )

GMT+8, 2025-7-20 17:54

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表