今儿个,咱来聊聊反汇编工具这玩意儿。作为一个没事就爱瞎琢磨的博主,这回我又手痒,想看看那些软件葫芦里到底卖的啥药。于是我就踏上反汇编的“不归路”。
我跟个无头苍蝇似的,到处乱撞。网上那些资料,看得我头昏眼花。什么IDA Pro、OllyDBG,还有什么W32dasm,名字一个比一个唬人。我心想这都啥跟啥,有没有简单点儿的?
先试试水
我先找个叫W32dasm黄金中文版的软件。听这名字,感觉挺接地气的,应该不会太难。下载安装,打开一个exe文件,界面还真有中文!虽然有些地方翻译得怪怪的,但起码能看懂个大概。
我对着那一堆代码,左看右看,上看下看,愣是没看出个所以然。这玩意儿,就像天书一样,每个字都认识,但连起来就不知道啥意思。我试着点几个按钮,什么“转到代码头”、“转到程序入口”,结果还是一头雾水。
不过这软件有个功能挺有意思,能显示中文。我记得以前用过的一些反汇编工具,中文都是乱码,看着就头疼。这个功能,对我这种英文不太好的人来说,简直是福音。
再换个工具
W32dasm虽然能显示中文,但功能还是有点弱。我又找个叫OllyDBG的工具,据说这玩意儿很强大,还能调试程序。我心想这下总能看出点门道。
安装好OllyDBG,打开一看,界面比W32dasm复杂多。各种窗口、按钮,看得我眼花缭乱。我试着打开一个程序,这回倒是能看到一些汇编代码,但还是看不懂。我试着下几个断点,单步执行,感觉自己像个间谍,偷偷摸摸地窥探程序的秘密。
OllyDBG有个功能很酷,可以显示程序的运行状态,比如寄存器的值、内存的数据等等。我看着那些不断变化的数字,感觉自己像个黑客,掌控着程序的命运。我只是瞎玩玩,没干啥坏事。
安卓也来凑热闹
玩会儿电脑上的反汇编工具,我又想试试手机上的。听说有个叫Apktool M的软件,可以反编译安卓应用。我赶紧下载一个,想看看那些App是怎么做出来的。
Apktool M用起来比较简单,图形化界面,操作也方便。我随便找个App,反编译一下,得到一个文件夹,里面有各种资源文件、配置文件,还有smali代码。这smali代码,看起来比汇编代码还难懂,我直接放弃。
不过看看那些资源文件也挺有意思的。比如图片、音频、视频等等,都能直接提取出来。我甚至还发现一些隐藏的彩蛋,感觉自己像个寻宝猎人,发现新大陆。
小结一下
折腾一天,我对反汇编工具有点初步的解。虽然还是看不懂那些代码,但起码知道这些工具能干以后遇到啥问题,说不定还能用上。
反汇编工具就像一把双刃剑,用好可以帮助我们分析程序、解决问题,用不好也可能被坏人利用,干些违法的事情。大家还是小心使用,别玩火自焚。
这回的实践就分享到这儿,希望对大家有所帮助。下次有机会,我再跟大家分享其他好玩的东西。