-
-
[原创] 代码注入技术对抗学某通PC 流氓强制自启动
-
-
[原创] 代码注入技术对抗学某通PC 流氓强制自启动
最近在使用学习通时候
发现每次进入软件在关闭,它都会把自己加入开机自启动
一 找出真正的 学习通.exe
猜测流程
启动cxstudy.exe
检测是否自启动
写入注册表
正常运行
用x64dbg 调试一下

在RegOpenKey 打上断点,F9 运行发现进程退出,同时学习通UI界面启动

一开始我以为是有反调试,找了半天在意识到
这个东西是调用CreateProcess 启动了真正的 "学习通.exe"
在CreateProcess 上打断点,找真正的学习通

这里直接断下,看来猜测又对了一点
可以看到堆栈里有一个参数
E:\rubbish\cxstudy\1.3.2\cxstudy.exe
这就是真正的学习通了
二 利用hook技术对抗强制自启动
这里用到了Detours库,用来hook ExitProcess 函数
为什么hook 它?
因为ExitProcess 是 学习通主体退出会调用的
我的思路是hook住ExitProcess
点击右下角退出程序时会调用

点击这个退出 就会走到ExitProcess
此时可以删除它的自启动
这里给出hook 的代码

在dll加载的时候可以调用install 函数安装钩子

用于注入的dll写好了
剩下就是注入了
我采用的方法是
1. 自己写一个CreateProcess 启动 学习通,采用挂起方式
2. 传统的远线程dll注入
3. 恢复线程
4. 退出
代码见附件
三 为什么不patch 学习通
一开始我打算找 设置自启动的call
但对我目前来说还是有点难度
于是采此下策
我把我自己写的学习通启动器,替换了快捷方式指向的启动器
对于平时使用还是不错的
cxstudy_fire 学习通启动器
Win32Project1 用于hook的dll
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课