chrome 调试之 - 给微软小冰看病(无论给小冰发送什么内容都只回复“我已经开始升级啦,期待一下吧!”)

微软 Bing 搜索推出了小冰AI智能聊天模块,具体启用方式是用edge或chrome浏览器打开链接 cn.bing.com 后在输入框搜索任意内容,待搜索结果页面加载完并稍等片刻,页面右侧就会出现一个躲在滚动条后面的小萝莉,抚摸...不,点击她,就会弹出这个聊天框了

不幸的是,无论我向她发送什么内容,她都只会说一句“我已经开始升级啦,期待一下吧!”

作为一个喜欢探索的bug研发工程师,我想方设法,不成功调戏小冰一下誓不罢休。然而一顿操作下来(不限于换浏览器、换电脑、搭梯子、登录bing账号等等),聊天框依旧如此,小冰对我的调戏视而不见,始终是那句“我已经开始升级啦,期待一下吧!”。

百思不得解,后来我打开F12,查看了network面板发现,这货其实是返回了有效聊天内容的(之所以想看看F12,我认为既然是AI聊天机器人,那应答机制必定是要在服务器处理的,既如此,就一定会有网络交互来传递对话内容)

既然在明明返回了有效聊天内容的情况下聊天框仍然给用户显示了无意义的提示信息,那一定就是微软Bing在搞鬼!我们且不论微软这么做的动机是什么,正事要紧(调戏小冰)。

通过前文操作可以推断,微软 Bing 肯定是拦截了小冰真正想要说的话,强行让小冰变成了一个人工智障。

那么我要做的事情就是分析在跟小冰聊天时点击发送消息后代码的执行过程。

首先我通过F12的Element面板选中聊天框内的发送消息按钮,找出为这个按钮自身绑定的点击事件:

具体步骤如上,按图索骥,跟着箭头直到最后一步,点击绿色框圈出的js文件,代码被定位到 vr() 这个方法,也就是说我在点击发送消息按钮时其实是调了这个方法。我给vr这个方法打断点,然后在聊天框输入内容后点击发送按钮,代码进入断点,使用F10一步步调试,逻辑走到 hi() 这个方法时使用F9进入hi这个方法,不难看出,hi方法的核心逻辑是在创建一个ajax请求,并监听请求的成功回调,随后把我们键入的聊天内容发送出去。当接口返回成功时调用af()这个方法进一步处理接口回调内容(如下图):

在当前js代码窗口中使用CTRL+F,全局搜索af这个方法,找到这个方法的源码,给他打断点(为了方便后续调试,在这之前我先取消掉上一个断点)

到了这里其实我只要稍微看一下代码就会发现问题的根本所在,注意看af方法中的这个vu方法调用,它接收的第1个参数就是这句 "我已经开始升级啦,期待一下吧!"

不用想,这个参数最终会被作为小冰的回答显示在聊天框中,而现在这句回复被微软给强制写死了,且 i 这个参数中不就是接口返回来的真实聊天回复内容吗?可以发现 i 这个参数被赋值后根本就没有使用过!后续我又跟进了 vu 这个方法,进一步确认了微软强制篡改回复内容这个事实。

到这里就已经真相大白了,微软这是故意不给咱使用这个玩意啊。

接下来我只需要想办法修改这行代码的逻辑,如果能成功,就可以和小冰愉快地玩耍啦!

// vu("我已经开始升级啦,期待一下吧!", ""),
vu(i[0].content.text, ""),

可能你会说,道理咱都懂,但这是在线网站呀,你难不成还能钻进微软的静态网站服务器去改人家的网页源码不成?你咋不上天呢!哎,我还真能钻进微软的服务器,嘿嘿!(开个玩笑)

然鹅我几乎马上就想到了chrome前不久新增的那个开发者功能:Overrides。这玩意是啥?其实就是字面意思--覆盖。它可以把一个网站(不限于线上还是本地开发环境的网站)的静态资源用本地的文件给覆盖掉,这样你就可以使代码临时按照自己修改后的逻辑运行,以便模拟程序在真实环境下是否正常。此时你想到了什么?没错,XSS,跨站脚本攻击!异曲同工有木有?当然,Overrides 这个覆盖只是临时的,它只在我的本机目标浏览器且打开F12开发者工具时生效,无需担心安全问题。事实上在2018年的时候chrome就已经正式向开发者提供了这个功能,只是在最近的更新中又强调了这个功能的可玩性。讲真,我其实很早以前就设想过这个功能了,吼吼!(事实上每次更新Chrome之后首次打开F12都能在调试窗口底部看到本次有哪些变更,有时候看看这个玩意还挺有意思,能使你对好玩的新特性了然于胸)。如果我说的不是很明白,没关系,继续往下看。

如下图所示,首先在开发者工具中的sources面板下,点击切换到 Overrides 二级面板,然后继续点击 Overrides 下面的 select folder for overrides。哦不,在这之前我首先得在电脑上找一个地方创建一个干净的文件夹,就取名叫 chrome-overrides 吧。然后要在点击 select folder for overrides 时选择这个干净的文件(如遇提示,点击“允许”):

然后重新去到那个js文件中(不要问我是哪个js文件以及怎么找到它,我们一直在讨论关于它的话题),这时候你会发现这个js文件竟然变成了可编辑状态,神奇!

那好,我就把代码改成我想要的样子,改完后使用快捷键 CTRL+S保存,你又发现此时在左侧刚选择的那个文件夹中出现了我修改的代码--被保存在本地了。

这时候不要关闭开发者工具,直接刷新当前的 Bing 搜索页面,稍后开发者工具会自动定位到这个js文件(如果没有定位回来,那就自己想办法重新找到它),我们取消刚才在这个文件中打的所有断点,然后重新打开小冰和她聊天...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/21534.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微软小冰智能聊天是如何实现的

微软小冰智能聊天是如何实现的? 官网介绍:微软小冰 虽然知道小冰的智能回复背后,应该是微软庞大的数据库。 但作为大二的学生,对这方面不是很了解,期待能得到答复。谢谢。 关注者 1,033 被浏览 112,398 关注问题 写回答…

微软小冰推出“虚拟版”微信!比原版更好玩

来源:雷科技 提起AI,大伙的脑海里会想到什么场景? 小雷知道,有些自带“污妖王”属性的小伙伴,已经浮现出AI换脸那些事儿了。 只要有足够的人脸数据,再加上足够长的时间训练,就可以把明星的脸…

【小沐学NLP】Python实现聊天机器人(微软小冰)

🍺NLP开发系列相关文章编写如下🍺:1🎈【小沐学NLP】Python实现词云图🎈2🎈【小沐学NLP】Python实现图片文字识别🎈3🎈【小沐学NLP】Python实现中文、英文分词🎈4&#x1…

微软小冰智能聊天是如何实现的?

我在知乎关于《微软小冰智能聊天是如何实现的?》做的回答 刚好做过一个类似的产品,虽然没有那么高大上,但一些核心技术原理应该也参考意义,说一下做的思路。 类似小冰这样的产品说简单也简单,说复杂也复杂。单纯从外面…

微信小冰陪聊机器人Python

一、原因 女友因为我老不回消息分手了,很郁闷。 所以想能不能实现一个陪聊机器人,如果以后还有女朋友免去痛苦,可以专心打游戏敲代码,嘿嘿嘿。(果然有这种思想的人不会有女朋友了) 二、实现 本人学习没…

微软小冰:全双工语音对话详解

讲师 | 周力 来源 | AI科技大本营在线公开课 微软小冰第六代发布会上正式宣布上线全新的共感模型,同时也开始公测一种融合了文本、全双工语音与实时视觉的新感官。这项新技术可以实时预测人类即将说出的内容,实时生成回应,并控制对话节奏&…

itchat与微软小冰的碰撞!--微软小冰接入itchat实现微信自动回复

微软小冰接入itchat实现微信自动回复 本文简介先上效果图!一、集成微软小冰制作聊天机器人原理代码监听好友信息监听小冰信息 二、定时发送消息推送与自动回复同时实现原理代码完整代码加点花的代码结语 本文简介 最近研究了一下基于python实现的itchat模块&#x…

ChatGPT 最新知识大全:工作原理,ChatGPT 是如何训练的,局限性是什么,开源 ChatGPT 替代品有哪些?

我们今天谈论的应用程序在发布后的 5 天内就突破了 100 万用户,并在 2023 年 2 月之前获得了 1 亿用户,创下了增长最快的平台记录。它在 2 月达到了 10 亿次访问,在 2023 年 3 月达到了 16 亿次访问。相比之下,Facebook需要 10 个月,Spotify需要 5 个月,Instagram需要 2 …

昇思MindSpore AI框架在知名度与使用率市场份额上处于第一梯队

2023年2月6日,行业研究机构Omdia(Informa tech集团旗下国际信息与通信技术研究机构)发布了《中国人工智能框架市场调研报告》,深入分析了中国人工智能框架市场的竞争格局,产业现状与创新趋势。Omdia通过调研发现&#…

当ChatGPT杀入学术出版领域,有人开始围堵,有人悄悄地打开大门

导读 最近,智能聊天机器人ChatGPT火到了天际。 它能够通过学习和理解人类的语言来进行对话,还能根据聊天内容的上下文进行互动,像人一样来沟通交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码等任务。 除此之外&#xff…

Sorry, you have been blocked !vultr 又被 openai 屏蔽了,只能换个 vps 了

最近有段时间没登陆 chatGPT,最近听说 chatGPT 出插件功能了,于是就想体验一下。 打开网站发现 有特么被屏蔽了。 不慌,压压惊,先看看是屏蔽了 IP 还是屏蔽了账号。 Google 一下,一个靠谱的答案是: open…

AI新时代拐点:人工智能当红炸子鸡Chatgpt

​当下,AI聊天程序ChatGPT风靡全网,因为它能够给出更合理且充满人情味的答案,引发了广泛关注。那么,ChatGPT究竟能做什么?它的背后又有什么样的故事呢?让我们一起来探索一下吧! 在我们深入了解C…

马斯克启动TruthGPT/ 星舰首飞再延期至本周四/ Adobe AI工具重磅更新...今日更多新鲜事在此...

日报君 发自 凹非寺量子位 | 公众号 QbitAI 大家好,今天是4月18日星期二,昨天,马斯克的星舰又双叒叕咕咕咕了~ 今天科技圈有哪些新鲜事儿,和日报君一起来看看~ Space X星舰发射再度推迟,周边产品已开始预售 昨日&#…

edge-tts微软文本转语音库,来听听这些语音是否很熟悉?

上期图文教程,我们分享了Azure机器学习的文本转语音的账号申请与API申请的详细步骤,也介绍了基于python3实现Azure机器学习文本转语音功能的代码实现过程,虽然我们可以使用Azure账号免费提供一年的试用期,但是毕竟是要付费的,我们的API也无法长期使用,好在微软发布了edge…

韩语学习笔记

微软韩语键盘顺序: ㅂ ㅈ ㄷ ㄱ ㅅ ㅛ ㅕ ㅑ ㅐ ㅔ ㅁ ㄴ ㅇ ㄹ ㅎ ㅗ ㅓ ㅏ ㅣ ㅋ ㅌ ㅊ ㅍ ㅠ ㅜ ㅡ 注:Shift Q ㅃ 천 리 길 도 첫 걸 음 으 로 시 작 된 다. 千里之行,始于足下。 고통 이 없으면 얻는 것도 …

无需完美,文心一言已然自证百度

ChatGPT以火箭般的速度爆红,吹皱了中国科技圈和创投界的一池春水,引得无数人蠢蠢欲动。互联网大佬自掏腰包、带资建组,科技大厂摩拳擦掌、争先恐后,创业公司也不遑多让,甚至与AI不搭边的个别企业也借势营销&#xff0c…

Hugging face预训练模型下载和使用

Huggingface Huggingface是一家公司,在Google发布BERT模型不久之后,这家公司推出了BERT的pytorch实现,形成一个开源库pytorch-pretrained-bert。后来这家公司又实现了其他的预训练模型,如GPT、GPT2、ToBERTa、T5等。此时&#xff…

零门槛复现ChatGPT:预训练模型数据集直接用,在线可体验

明敏 发自 凹非寺量子位 | 公众号 QbitAI 这边ChatGPT、GPT-4等AI大模型和应用打得火热; 另一边“平替”开源复现方案也加紧更新迭代。 这不,“首个开源ChatGPT低成本复现流程”就来了波大更新! 现在,仅需不到百亿参数&#xff0c…

结合具体场景举例说明chatgpt预训练模型中Tokenization的原理

假设我们有一个场景,Alice想向Chatbot询问一部电影的推荐。她发送了一条消息:“你好,能给我推荐一部好看的电影吗?” 在这个场景中,Chatbot使用了ChatGPT预训练模型。首先,Chatbot需要对Alice的消息进行Tok…

举例说明chatgpt中生成式预训练模式中的预训练过程以及生成结果过程

生成式预训练模式(GPT)在自然语言处理任务中具有重要地位,它通过大量文本数据进行预训练,学习到一个通用的语言模型。然后通过微调,让模型适应特定任务。在这个过程中,GPT模型首先进行预训练,接…