技术帝!通过按键音还原周鸿祎的手机号码

jopen 12年前
   <p>        这年头,人们的隐私会从各种渠道被泄露出去,有些甚至你完全想不到,可以说防不胜防,比如说,你想过单从按键声音就分析出你的手机号码么?竟然还真有人做到了!网友“<a href="/misc/goto?guid=4958523228520921284" target="_blank">清华南都</a>”就根据一段视频中的按键音,还原出了 360 总裁周鸿祎的手机号,并验证无误,还引来了周鸿祎本人的关注,甚至得到了李开复抛来的创业橄榄枝。</p>    <p>        事情起源于这几天的 360、百度搜索大战。优酷的报道中出现了这么一段视频:</p>    <p style="text-align:center;"> <object data="http://player.youku.com/player.php/sid/XNDQ0NjExNjYw/v.swf" width="600" height="450" type="application/x-shockwave-flash"></object></p>    <p>        在从视频的第 33-43秒,我们可以清晰地听到优酷记者给周鸿祎拨号的整个过程。的确,用人耳听似乎觉得每个音都差不多(下面会解释原因),但是将它们转化成图形以后,就可以很清楚地看到差别了。</p>    <p>        先用 FFmpeg 或者任何工具将这段声音截出来,<strong>转成 PCM Signed 24 位的单声道 WAV 文件</strong>,然后用 Adobe Soundbooth 打开:</p>    <p align="center"><a target="_blank"><img alt="技术帝!通过按键音还原周鸿祎的手机号码" src="https://simg.open-open.com/show/8d5c8693820e811d7ccf1bf82fb0d654.jpg" width="550" height="247" /></a></p>    <p></p>    <p>        绿色那部分是波形图(Waveform),绿线和横轴交点的密度代表频率(音调),一个周期内最高点和最低点的距离代表振幅(响度),但是这种图丢失了很多信息,我们用不上。</p>    <p>        <strong>下半图是加上时间后的频谱图(sound spectrum)</strong>,这是整个问题的关键所在。事实上,<strong>我们听到的声音里,每一小段都是由很多个不同强度和不同频率的声音(note)组成的。下半图很好地展现了这些信息,其中横坐标代表了时间,纵坐标代表频率,颜色代表强度(深色弱浅色强),图中的一个点都表示在某个时间点上某个频率的声音的强度。</strong></p>    <p>        从图中我们可以很清晰地看到 11 根由黄色和红色组成的“柱子”。相信你也猜到了,就是按那 11 个数字的时候产生的按键音。</p>    <p>        接下来介绍<strong>DTMF (Dual-Tone Multifrequency)</strong>,也就是<strong>双音多频</strong>。我们平常所用的电话是通过 DTMF 信号来向交换机传递命令的,每按下电话键盘上的一个键,就会同时发出两个不同频率的声音,转化成电流在对面解析。也就是说,每个按键音实际上是由两个纯粹的音(tone)构成的。<strong>通过下表可以看到每个数字由哪两个频率的声音构成的。</strong></p>    <p align="center"><strong><img alt="技术帝!通过按键音还原周鸿祎的手机号码" src="https://simg.open-open.com/show/079d9266200cbc603661d41d1062733d.jpg" width="317" height="174" /></strong></p>    <p>        接下来就好办了。我们将 400Hz 到 1700Hz 以内的频谱图放大,然后找出浅色(强度高)的频率段:</p>    <p align="center"><a target="_blank"><img alt="技术帝!通过按键音还原周鸿祎的手机号码" src="https://simg.open-open.com/show/32939ceee761037b88893471de3d14c8.jpg" width="550" height="309" /></a></p>    <p></p>    <p>        结论出来了,周总的手机号是:1370**9**98。</p>    <p>        1、因为只是个试验,而且为了保护隐私,就不把号码全公布出来了,某些数字的频谱区域打了马赛克,对应数字则标记为“*”。</p>    <p>        2、因为音频的质量,开头的数字 1 无法从频谱图中得出,但是地球人都知道中国大陆手机号开头是1。</p>    <p>        3、最后的“8”,因为必须由一个高音构成,虽然不明显,但是相比 1477Hz 和 1209Hz,1366Hz 最强。</p>    <p>        4、下面的一片黄色是环境音和座机按键的机械声音造成的。发出某个频率的声音时,黄色会散布在频率线的两侧,故中间的数字“9”的低音,选择的是 852Hz 而不是 941Hz。</p>    <p>        怎么验证结果正不正确呢?那就更简单了:</p>    <p>        1、<strong>查询号码归属地</strong>,的确是北京的。</p>    <p align="center"><a target="_blank"><img alt="技术帝!通过按键音还原周鸿祎的手机号码" src="https://simg.open-open.com/show/2b1265d5919c71f62093e0dd719dd726.jpg" width="550" height="148" /></a></p>    <p></p>    <p>        2、<strong>在手机上按了一遍号码,并把它录下来了</strong>,结果完全一样。</p>    <p style="text-align:center;"> <object data="http://player.youku.com/player.php/sid/XNDQ1MDM4MzYw/v.swf" width="600" height="450" type="application/x-shockwave-flash"></object></p>    <p>        3、晚上十点,打了个电话给周总。</p>    <p>        我:“喂,您好,请问是周先生吗?”</p>    <p>        他:“我在开会,你有事吗?”</p>    <p>        (作者自称当时很紧张,完全不知道怎么说)</p>    <p>        我:“抱歉我打错了。”</p>    <p>        然后就把电话挂了。作者还调侃说,当时好纠结没有问“请问您是 360 的周先生吗?”</p>    <p>        4、关键的证据:<strong>Google 一下电话号码</strong>。为了防止里面的信息被用来作为关键字再 Google 出号码,所以打了很多马赛克。</p>    <p align="center"><a target="_blank"><img alt="技术帝!通过按键音还原周鸿祎的手机号码" src="https://simg.open-open.com/show/f9198ec5e77c0eb5846a342ccb0c2773.jpg" width="550" height="317" /></a></p>    <p></p>    <p>        5、作为补充,又录了一段工商银行“95588”的拨号音。因为是触摸屏按的,没有机械声音,很纯正。 </p>    <p align="center"><a target="_blank"><img alt="技术帝!通过按键音还原周鸿祎的手机号码" src="https://simg.open-open.com/show/cf6f45debc6fd73d294a57ff6c42dc37.jpg" width="550" height="254" /></a></p>    <p></p>    <p>        <a href="/misc/goto?guid=4958523228619265530">其实最最关键的证据来自周总本人,今天早晨他亲自回复了“清华南都”发的微博:“这位同学确实能干,各位就不用验证了,也请大家别在晚上十一点后打电话,谁也不希望刚睡着就被突然的电话铃声惊醒吧。”</a></p>    <p>        这就等于承认了:)</p>    <p>        这位技术帝专业而精准的分析<strong>也引来了李开复的注意,邀请其加盟创新工厂,有合适的项目供其考虑,并希望两周后与其亲自见面。</strong></p>    <p>        同学们看见没?谁说技术宅没有前途啊?!</p>    <p align="center"><a target="_blank"><img alt="技术帝!通过按键音还原周鸿祎的手机号码" src="https://simg.open-open.com/show/9648046bbd9a828e0bec8c880e4d2249.jpg" width="550" height="654" /></a></p>    <p></p>    <p>        <strong>最后是几个友善的提醒:</strong></p>    <p>        1、技术再好也要用在合适的场合,不要用来做坏事,大家不是 Google 但也尽量不要作恶。</p>    <p>        2、我们平常用手机拨号,或者在门禁处或者一些机器上输入密码的时候,不妨注意身旁有没有人录音。通过上面的分析大家也看出来了,除非有人在现场唱美声,否则整个输入过程是可以通过声音还原出来的。</p>    <p>        3、电视和网络媒体要注意了,在拨号给其他人的时候,最好不要把拨号过程也放出来,有人起了歹心的话这可是很危险的。</p>    <div id="come_from">    来自:     <a id="link_source2" href="/misc/goto?guid=4958523228698312515" target="_blank">驱动之家</a>    </div>    <div class="clear"></div>    <div id="article_A4area">    <span id="shareA4" class="fl"><a href="/misc/goto?guid=4958194775331586995" target="_blank"></a></span>   </div>