本帖最后由 JuncoJet 于 2020-2-20 13:38 编辑
最近在论坛发现了这么一个有意思的工具 据说可以防止熊孩在上网课的时候打开别的程序干别的事情
帖子地址:https://www.52pojie.cn/thread-1105777-1-1.html
然后呢,有人说CMD可以结束,taskkill命令。
教熊孩子怎么破解父母给他们设置的重重关卡
https://www.52pojie.cn/thread-1110187-1-1.html
(出处: 吾爱破解论坛)
按照我的理解,原作者的软件,很明显的使用了PID白名单机制。创建的新的进程,只要不在这些PID中,就会被结束掉。
然后我就怼了,再然后,我实测了下确实可以被结束,猜测原软件作者应该用了Timer,并且间隔的时间设置的比较长。
这就给了反操控软件可乘之机,机智(嫑捻)的我举一反三了下。
使用一句话AHK,结束进程。(已编译32位EXE,详见附件)
当然手速足够快的话,任务管理器也是可以结束的。除了进程的话,窗口攻击也是OK的
[C] 纯文本查看 复制代码 #include <windows.h>
void start(){
HWND h=FindWindow("WindowsForms10.Window.8.app.0.141b42a_r11_ad1",NULL);
for(int i=0;i<655535;i++)
PostMessage(h,i,0,0);
}
升级杀窗口代码,主要原因发现系统中的.NET版本不同,窗口类名会不同。
[C++] 纯文本查看 复制代码 #include <iostream>
#include <sstream>
#include <windows.h>
using namespace std;
int main(){
//WindowsForms10.Window.8.app.0.141b42a_r12_ad1
//WindowsForms10.Window.8.app.0.141b42a_r11_ad1
stringstream ss;
for(int i=0;i<100;i++){
ss.str("");
ss<<"WindowsForms10.Window.8.app.0.141b42a_r"<<i<<"_ad1";
HWND h=FindWindow(ss.str().c_str(),NULL);
if(!h)
continue;
for(int i=0;i<655535;i++)
PostMessage(h,i,0,0);
}
}
程序的话也做了少许的逆向,比如前面我的猜测用Timer,是错误的。实际使用的是线程+Sleep(500)。
并且有一些特殊的进程名,做了排除。大家可以尝试利用这些进程名来绕过程序。
例如,可以在D盘创建这样的目录
或者,用下面这种方法
另外,可以进PE,挂载注册表Software Hive文件删除启动项,或者删除/重命名文件,嘘,小声
HKEY_LOCAL_MACHINE\(挂载节点)\Microsoft\Windows\CurrentVersion\Run
WIN7 F8/WIN10可以重启3次,然后安全模式或者开启还原模式……
如果 BitLocker 加密的话,大不了重装系统。
注:自2月3日,本文作者也升级成为了熊孩子的爹了,以后孩子长大怎么培养还不知道。
但个人认为,培养孩子的兴趣,让孩子掌握独立思考和解决问题的动手能力未尝不是好事,
作为父母,自然是希望孩子有一天能够超越父母!做的更大更强 |