V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hahiru
V2EX  ›  程序员

请问如何阻止某程序联网或者禁止启动?

  •  
  •   hahiru · 2016-07-14 13:29:09 +08:00 · 11001 次点击
    这是一个创建于 3089 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我想禁止某大型多人 moba 联网或者运行,请教各位程序猿有没有比较优雅的方式,我想到的以下都有缺陷而且容易反制。

    1 :系统防火墙禁止很容易被取消掉。

    2 :网上的脚本或者监视程序一目了然,而且需要开机启动。

    3 : hosts 劫持貌似 tgp 已经可以自动修复。

    4 :映像劫持只要修改名称就能运行,而且容易误伤。

    5 :组策略阻止程序运行会有警告提示,百度一下肯定有反制教程。

    我现在暂时是用 ip 安全策略,阻止所有访问游戏服务器的请求,貌似比较隐蔽,但是我只找到阻止特定 ip 的设置,假如 ip 有变就失效了。请问怎么匹配域名?或者请问各位有没有更好的办法? 或者有大神愿意共享出驱动或者 lsp 劫持的程序吗?先谢谢了。

    第 1 条附言  ·  2016-07-16 13:22:46 +08:00
    感谢各位回复,我找到了一个比较好的方法,在组策略-计算机配置-Windows 设置-域名解析策略里添加一条 规则,选择后缀 lol.qq.com 然后添加常规 DNS,启用 DNS 设置,添加一个虚假的例如 1.1.1.1 的 DNS,然后创建并应用.这样 lol 可以运行可以登录可以选择服务器,但是无法进入,提示网络错误.而且我想腾讯无论怎么更新也不会改 lol.qq.com 这个域名吧=_=.
    59 条回复    2020-09-25 10:11:33 +08:00
    Ellison
        1
    Ellison  
       2016-07-14 13:36:10 +08:00
    为什么要在本机呢,路由上弄不是更好
    hahiru
        2
    hahiru  
    OP
       2016-07-14 13:44:48 +08:00
    @Ellison 因为没有路由器。。。。
    czkwg8
        3
    czkwg8  
       2016-07-14 13:46:55 +08:00
    tgp 启动的时候请求了管理员权限,在本机上的屏蔽大部分都会被修正吧
    wevsty
        4
    wevsty  
       2016-07-14 13:50:27 +08:00
    本地装个 DNS 服务器,然后把 DNS 设置成 127.0.0.1 就可以过滤域名了。比如 DnsSpeeder 不想访问的直接设置域名指向 127.0.0.1
    不过直接访问 IP 的还是得靠防火墙
    hahiru
        5
    hahiru  
    OP
       2016-07-14 13:50:54 +08:00
    @czkwg8 对啊,所以才想问问有没有更好的方法。。。不过组策略应该不会修正。
    hahiru
        6
    hahiru  
    OP
       2016-07-14 13:52:13 +08:00
    @wevsty 这个方法可能有点臃肿了。。。而且这样容易被发现呀
    ndd200
        7
    ndd200  
       2016-07-14 13:55:24 +08:00
    ip 安全策略限制端口比较方便,一般游戏连接的是固定的几个端口。
    hahiru
        8
    hahiru  
    OP
       2016-07-14 14:03:51 +08:00
    @ndd200 这个封端口的话程序应该会重新选择其他的端口,总不能大范围端口封禁吧这样更容易误伤。。。。
    ooTwToo
        9
    ooTwToo  
       2016-07-14 16:15:01 +08:00
    就冲你这头像,我点进来了
    yalanaika
        10
    yalanaika  
       2016-07-14 16:22:21 +08:00   ❤️ 1
    我觉着与其禁止,不如随机掉线,这个杀伤力比禁止厉害多了
    7654
        11
    7654  
       2016-07-14 16:27:48 +08:00
    先修改 TGP 或 LOL 快捷方式,指向你的监控程式,监控程式开启时游戏一并开启
    当检测到游戏主窗口运行时, 5-7 秒内自动结束进程,然后假模假样的运行报错上传程式
    不会有开机启动困扰,并且不易发现,而且 100%触发
    SmiteChow
        12
    SmiteChow  
       2016-07-14 17:10:05 +08:00
    @7654 有一死
    hahiru
        13
    hahiru  
    OP
       2016-07-14 17:27:05 +08:00 via Android
    @yalanaika 额这样坑队友不太好。。。
    hahiru
        14
    hahiru  
    OP
       2016-07-14 17:27:37 +08:00 via Android
    @7654 这样重装游戏就没用啦
    bdbai
        15
    bdbai  
       2016-07-14 17:29:00 +08:00 via Android
    @hahiru 改组策略相当于改注册表,有管理员权限当然能修正咯。
    DejaVud
        16
    DejaVud  
       2016-07-14 17:34:54 +08:00
    DLL 劫持 伪造一个 ws2_32.dll 啥的 PROCESS_ATTACH 时判断加载的进程名 然后跳转到真实 dll 处 之类之类的
    gefranks
        17
    gefranks  
       2016-07-14 17:41:50 +08:00 via iPhone
    如果是 windows 的话可以用高级防火墙设置把程序连网封掉
    7654
        18
    7654  
       2016-07-14 17:52:35 +08:00
    r#14 @hahiru 这样就会有一个错觉,电脑没问题,网络没问题,游戏有问题,时不时要重装一下
    而不会想到其他地方去
    mytsing520
        19
    mytsing520  
       2016-07-14 17:55:05 +08:00
    公司里的话,弄个出口路由设定,然后强行设置一波 DNS 来源,指定只允许公司内置的 DNS 服务器才能获取解析,试图连接其他 DNS 的将被切断连接
    wysnylc
        20
    wysnylc  
       2016-07-14 17:57:16 +08:00
    写个程序后台轮询关闭游戏,注册成服务自动启动。
    zpole
        21
    zpole  
       2016-07-14 18:00:01 +08:00 via iPhone
    只有我想问楼主这样做目的是什么吗。。。好好商量不行吗?
    honeycomb
        22
    honeycomb  
       2016-07-14 18:55:15 +08:00 via Android
    这个需要 hips 软件了
    Pepsigold
        23
    Pepsigold  
       2016-07-14 19:19:33 +08:00 via iPhone
    一招可以缓解这个情况,那就是,写代码~

    先利用 TXT 写以下代码另存为 VBS 格式,代码如下:

    do
    set bag=getobject("winmgmts:.rootcimv2")
    set pipe=bag.execquery("select * from win32_process where name='League of Legends.exe'")
    for each i in pipe
    i.terminate()
    next
    wscript.sleep 1000
    loop

    代码的大概意思是:系统每 1000 毫秒检测一次是否运行了 League of Legends.exe 这样一个程序,如果运行了,就会自动后台关闭程序,但对别的运行软件是没有任何影响的,绝对毫无痕迹!

    1000 毫秒和 League of Legends.exe 可以改成你需要的任何时间(比如 2 分钟检查一次就填写 120000 )和任何你需要结束的进程~

    这样,
    从别人看来的效果就是

    “英雄联盟怎么老是在我刚进去时闪退啊啊啊啊!重新进还是闪退,好气啊兄弟,不玩了!”

    把建立的 VBS 存放在这个文件夹 C:ProgramDataMicrosoftWindowsStart MenuProgramsStartUp
    开机自动就可以启动啦 。

    如果自己要玩,提前进入资源管理器找到 VBS 进程结束运行就可以的哈
    其他游戏也请自行改进程名称^_^
    akagi
        24
    akagi  
       2016-07-14 19:24:22 +08:00
    @Pepsigold 意义不大,不如映像劫持
    akagi
        25
    akagi  
       2016-07-14 19:25:29 +08:00
    @Pepsigold 不过也支持下~
    rekulas
        26
    rekulas  
       2016-07-14 20:10:27 +08:00
    proxifier 强制代理到本地假代理可以禁止联网

    不过禁止启动很难么,删除核心文件不就禁止了
    ovear
        27
    ovear  
       2016-07-14 20:15:25 +08:00
    为啥不用 taskkill 。。之前不是出了个熊孩子助手么。。虽然我也没找到。。 lz 找到了请务必告诉我声_(:з」∠)_
    hx1997
        28
    hx1997  
       2016-07-14 21:26:41 +08:00 via Android
    创个标准用户给他用,你用管理员,设置密码,打开 UAC ,再用组策略和系统防火墙
    Luzifer
        29
    Luzifer  
       2016-07-14 21:49:16 +08:00
    补#22 @honeycomb COMODO
    EchoWhale
        30
    EchoWhale  
       2016-07-15 08:57:21 +08:00 via Android
    这是要搞舍友电脑吧😂😂
    hahiru
        31
    hahiru  
    OP
       2016-07-15 09:15:51 +08:00
    @yalanaika 不用恶心他,只要让他知道不许玩就对了。
    hahiru
        32
    hahiru  
    OP
       2016-07-15 09:16:32 +08:00
    @bdbai 组策略 tgp 应该没这个修复功能吧,不然我要报警了。
    hahiru
        33
    hahiru  
    OP
       2016-07-15 09:17:29 +08:00
    @DejaVud =_=!这个重装就没了,而且我没有这种软件。。。
    hahiru
        34
    hahiru  
    OP
       2016-07-15 09:18:06 +08:00
    @gefranks 嗯防火墙可以同时加上,不过不知道 tgp 会不会修复防火墙。。。。
    hahiru
        35
    hahiru  
    OP
       2016-07-15 09:19:22 +08:00
    @7654 不用这么隐蔽,主要是明确是不许他玩游戏而且不那么容易找到解决办法就行了。
    hahiru
        36
    hahiru  
    OP
       2016-07-15 09:20:27 +08:00
    @mytsing520 不是公司,家里的路由器没这么高端,我到时候看看有没有屏蔽网址的功能。。。。
    hahiru
        37
    hahiru  
    OP
       2016-07-15 09:22:23 +08:00
    @zpole 同事老公每天不管她天天打游戏,恨透了 lol 然后让我帮她搞定这破游戏。我找谁商量去╮(╯_╰)╭
    bdbai
        38
    bdbai  
       2016-07-15 09:23:09 +08:00 via Android
    @hahiru 改改注册表这个当然可以的...
    7654
        39
    7654  
       2016-07-15 10:02:49 +08:00
    r#35 @hahiru 那这样就很简单了,用 AHK 或 autoit 绘制一个全屏窗口,只响应鼠标事件,随游戏运行,只有两个按钮,老婆我要申请玩游戏,我不玩了
    ooTwToo
        40
    ooTwToo  
       2016-07-15 10:19:07 +08:00
    我能跟楼主要一份头像大图吗 (*/ω\*)
    vmebeh
        41
    vmebeh  
       2016-07-15 10:27:27 +08:00
    用底层键盘钩子,游戏窗口激活时随机打乱快捷键, A 改成 M 就是 ATM 了
    hahiru
        42
    hahiru  
    OP
       2016-07-15 10:35:32 +08:00
    hahiru
        43
    hahiru  
    OP
       2016-07-15 10:36:27 +08:00
    @7654 =_=这个。。。不会弄啊。。
    hahiru
        44
    hahiru  
    OP
       2016-07-15 10:37:34 +08:00
    @vmebeh T_T 我没有这种软件呀。。。
    gefranks
        45
    gefranks  
       2016-07-15 10:42:09 +08:00
    这个完全看使用电脑的人的技术水平了...如果是高手的话你在电脑上无论怎么弄都会被破掉.但是成天 LOL 的.....
    可以装个 Mcafee HIPS.限制联网的程序...没有密码很难关掉
    Hanxv
        46
    Hanxv  
       2016-07-15 10:50:30 +08:00 via Android
    设置路由规则, UDP 转发限制。这样游戏肯定是各种秀逗各种卡着不动,过一会儿就又好了,然后刚走一步又卡了。
    其他的不是游戏的程序,限制 UDP 基本上没多大问题。
    horsley
        47
    horsley  
       2016-07-15 11:03:11 +08:00
    偷偷装个外挂 被封号就没得玩了
    ooTwToo
        48
    ooTwToo  
       2016-07-15 11:44:18 +08:00
    @hahiru 蟹蟹
    xchange
        49
    xchange  
       2016-07-15 12:06:54 +08:00
    重装成 Linux 就没得玩了
    zpole
        50
    zpole  
       2016-07-15 12:37:51 +08:00
    @hahiru 家务事还是要两个人自己解决啊,这样搞只会计划矛盾。
    顺带,楼上的所有办法不是设置在在路由器上的都挡不住重装系统大法~
    zpole
        51
    zpole  
       2016-07-15 12:38:02 +08:00
    @zpole 激化。。
    zpole
        52
    zpole  
       2016-07-15 12:42:03 +08:00
    @zpole 说错了,哪怕是路由器重置一下也 over ,这技术难度可比你费尽心思禁止 lol 简单多了吧
    hahiru
        53
    hahiru  
    OP
       2016-07-15 13:12:42 +08:00 via Android
    @zpole 哈哈,那倒没事,重装系统就准备跪搓衣板吧…
    sdvdxl
        54
    sdvdxl  
       2016-07-15 17:20:00 +08:00
    装个 comodo 防火墙(或者杀毒套件) http://www.comodo.cn/ ,配置防火墙,阻止想要禁网的程序即可
    Bryan0Z
        55
    Bryan0Z  
       2016-07-15 23:37:13 +08:00 via Android
    楼上方法都烦了,搜索一个常用外挂的进程名,然后随便用 vb/c/c++/甚至易语言建一个没有窗口的程序,程序什么都不用干,进程名和外挂程序一样,拖进开始菜单 启动文件夹,名字就起 微软设备健康助手,这样一开游戏腾讯的反外挂引擎就触发了
    ragnaroks
        56
    ragnaroks  
       2016-07-16 13:14:29 +08:00
    55 楼的方法可以,不过太坑人了
    我的方法是自己写个模块注入 lsp,读远程指令就好,可以 3 天更新一次.
    不过可能那些 xx 网游加速器,xx 代理之类的会严重冲突.
    hahiru
        57
    hahiru  
    OP
       2016-07-16 13:21:50 +08:00
    感谢各位回复,我找到了一个比较好的方法,在组策略-计算机配置-Windows 设置-域名解析策略里添加一条 规则,选择后缀 lol.qq.com 然后添加常规 DNS,启用 DNS 设置,添加一个虚假的例如 1.1.1.1 的 DNS,然后创建并应用.这样 lol 可以运行可以登录可以选择服务器,但是无法进入,提示网络错误.而且我想腾讯无论怎么更新也不会改 lol.qq.com 这个域名吧=_=.
    binghe
        58
    binghe  
       2016-07-16 19:26:35 +08:00
    是不是这样就可以了?

    necodba
        59
    necodba  
       2020-09-25 10:11:33 +08:00
    先改成 4G 路由器,然后随便改 dns 还是 host 都随意
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2854 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 13:26 · PVG 21:26 · LAX 05:26 · JFK 08:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.