本文內容爲:ASM插樁的學習路線以及注意點android
能幹什麼,取決於你的想象力,可是不是說學了ASM你就能開發這些,ASM僅僅是個工具git
字節碼無疑是ASM插樁中最爲重要的知識點,有人看了其餘教程可能以爲有插件幫助咱們生成字節碼,就能夠不那麼注重字節碼,並非如此,不瞭解字節碼,你看別人的源碼就不知道他插樁到底幹了什麼,並且不少狀況下插件所提供的功能並無想象中那麼好github
我在youtube上發現了一個較爲不錯的教程,我下載了過來,在此作一個分享,相信你看完視頻後,對字節碼會很是熟悉 www.bilibili.com/video/av569… 你能夠經過bilibili直接觀看視頻安全
在我以前的博客 字節碼結構對照表 中提供了兩個工具,以及對照表,當你學習字節碼的時候能夠經過對照表對字節碼文件進行分析,必定要本身對着二進制一步一步分析一次,分析一次,受益一輩子性能優化
另外,你能夠在學習階段使用命令行去查看字節碼,後續學習及開發階段我推薦插件來分析,as中的插件效果好像不是很理想,因此這裏我推薦使用intellij中的 jclasslib Bytecode Viewer 插件,很是細緻ide
這部分跟着官網學是最好的,同時我也搬運了一份中文版的 ASM4使用手冊,ASM中主要有兩種開發方式,一種是核心API,一種是樹形API,各有好處,能夠在手冊中具體看到,兩種API的使用,都應該要掌握工具
稍微看幾篇博客,主要是看看本身有沒有什麼疏漏點,具體博客內容也不作推薦了,由於大部分都是相似的,搜索 android 插樁 就行性能
若是你鍾愛於核心API,能夠參考 github.com/Leaking/Hun… 去學習如何編寫代碼,若是你喜歡用樹形API,能夠參考我寫的兩個demo github.com/MikaelZero/… ,主要包含兩部分,一個字符串加密,一個簡單的時間埋點,我寫的Nova是基於didi開源的 booster ,booster是一個很是有參考價值的開源庫,能夠好好研究學習