热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

上海展盟网络科技有限公司的gamebox组件注入进程导致软件崩溃

在某些用户的设备上,会发现自己的软件会在启动之后过一段时间就崩溃了,一个可能的原因是自己的软件被其他广告软件注入了,如上海展盟网络科技有限

在某些用户的设备上,会发现自己的软件会在启动之后过一段时间就崩溃了,一个可能的原因是自己的软件被其他广告软件注入了,如 上海展盟网络科技有限公司的 gamebox 组件

一个已知问题是海展盟网络科技有限公司的 gamebox 组件将会进行进程注入,在一些软件的进程上,会因为 gamebox_shell.dll 访问了不可访问的内存后,引发 C0000005 错误被系统强行结束

因此如果软件崩溃了,可以尝试拿到 dump 文件,看是否有 gamebox_shell.dll 的存在,如果有,那么也许就是此问题了。调试方法如下

先下载微软极品工具箱 ProcDump 

然后使用以下命令启动 procdump 程序


procdump -ma -a 进程PID

上面的 进程PID 可在软件启动后拼手速快速输入

拿到完整的几百兆的 DUMP 文件后,下载到开发人员计算机上“使用本机调试”

此时也许可以发现异常堆栈出在 gamebox_shell.dll 中,如下图

或者尝试在用户的电脑上尝试找到 %appdata%\Heinote\gamebox 文件夹是否存在,如果存在,也许就是 小黑记事本 带了 上海展盟网络科技有限公司的 gamebox_shell.dll 组件,此时尝试删除此软件和对应的文件。如果软件能正常,那么证明是此问题

以下是确定会带上海展盟网络科技有限公司的 gamebox 组件,同时会影响其他软件的软件:


  • 小黑记事本
  • 快压

可能还有更多软件会有此问题,因为他们贴了个合作方链接

以下是可能未确定是否会导致问题的软件列表:


  • 蓝光护眼大师 (卸载之后,需要手动删除 %appdata%\Heinote\gamebox 文件夹,是其中的 迷你新闻 带入 )

以上这几个软件也许会让自己的软件在运行过程中没有处理好的情况下崩溃,本质来说和以上这些软件没有很大的关系,是自己的软件没有处理好。但是自己的软件要处理好,还是有一些难度的



细节

以下是给开发者看的内容


  1. gamebox_shell.dll 是小黑记事本官方组件;
  2. gamebox_shell.dll 不是使用 dll 注入技术完成的注入,而是 Shell 的 Icon Overlay 扩展,任何应用程序试图获取图标/缩略图时会自动将其加载到应用程序进程中;(目前尚不清楚其作为 Icon Overlay 的作用/目的)
  3. gamebox_shell.dll 加载到程序中的崩溃代码不在获取图标/缩略图中,而是在额外执行的后台线程中;(目前尚不清楚其在后台线程执行的操作)
  4. 目前仅在 .NET Framework + WPF 的组合下才会崩溃,其他组合(.NET Core + WPF,.NET Core + 控制台,.NET Framework + 控制台,C++)都不会崩溃

通过 ShellExView 工具可以了解到 gamebox_shell.dll 使用 Shell 的 Icon Overlay 扩展进行注入,如图

默认从官网下载的 小黑记事本 软件不会带上 gamebox_shell.dll 组件,只有在触发了 小黑记事本 的自动更新之后,通过它下载的 Heinoteupdate_gw_001.exe 才带上了 gamebox_shell.dll 组件。通过下载的文件的软件签名可以了解到这两个包都是存在官方签名的

在桌面上留至少一个文件夹,然后使用 .NET Framework + WPF 的应用程序,尝试获取桌面图标,此时将会被注入,然后应用程序闪退。最简 demo 放在 github 欢迎小伙伴下载

和展盟网络科技的小伙伴沟通之后,了解到这是旧版本的问题,将会在 3.2.2.1 新版本解决



解决方法

以下方法任选一项


  • 尝试更新快压到 3.2.2.1 新版本

  • 删除和卸载 gamebox_shell.dll 相关软件

  • 使用 ShellExView 工具删除 gamebox_shell.dll 组件

  • 使用跨进程方式获取桌面图标

我搭建了自己的博客 林德熙 欢迎大家访问,里面有很多新的博客。只有在我看到博客写成熟之后才会放在csdn或博客园,但是一旦发布了就不再更新

如果在博客看到有任何不懂的,欢迎交流,我搭建了 dotnet 职业技术学院 欢迎大家加入

如有不方便在博客评论的问题,可以加我 QQ 2844808902 交流

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:lindexi_lindexi_gd_CSDN博客 ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。


推荐阅读
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • 本文介绍了三种方法来实现在Win7系统中显示桌面的快捷方式,包括使用任务栏快速启动栏、运行命令和自己创建快捷方式的方法。具体操作步骤详细说明,并提供了保存图标的路径,方便以后使用。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 分享2款网站程序源码/主题等后门检测工具
    本文介绍了2款用于检测网站程序源码和主题中是否存在后门的工具,分别是WebShellkiller和D盾_Web查杀。WebShellkiller是一款支持webshell和暗链扫描的工具,采用多重检测引擎和智能检测模型,能够更精准地检测出已知和未知的后门文件。D盾_Web查杀则使用自行研发的代码分析引擎,能够分析更为隐藏的WebShell后门行为。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了win7系统休眠功能无法启动和关闭的解决方法,包括在控制面板中启用休眠功能、设置系统休眠的时间、通过命令行定时休眠、手动进入休眠状态等方法。 ... [详细]
  • 如何用JNI技术调用Java接口以及提高Java性能的详解
    本文介绍了如何使用JNI技术调用Java接口,并详细解析了如何通过JNI技术提高Java的性能。同时还讨论了JNI调用Java的private方法、Java开发中使用JNI技术的情况以及使用Java的JNI技术调用C++时的运行效率问题。文章还介绍了JNIEnv类型的使用方法,包括创建Java对象、调用Java对象的方法、获取Java对象的属性等操作。 ... [详细]
  • 全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件
    本文旨在全面介绍Windows内存管理机制及C++内存分配实例中的内存映射文件。通过对内存映射文件的使用场合和与虚拟内存的区别进行解析,帮助读者更好地理解操作系统的内存管理机制。同时,本文还提供了相关章节的链接,方便读者深入学习Windows内存管理及C++内存分配实例的其他内容。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
author-avatar
低調浮華
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有