構建Android的控制流程圖有沒有解析smali代碼直接構建CFG的工具?我知道Androguard做了類似的事情,但是它似乎在apk文件上使用了反編譯功能,如果apk使用混淆技術,它可能會變得不可靠。從smali代碼
從smali代碼
回答
看一看https://androguard.blogspot.co.il/2011/02/android-apps-visualization.html。
關於你對Androguard的關注。
似乎對apk文件
你的意思是 「拆卸」 使用反編譯?那麼,一個工具需要了解字節碼才能構建調用圖。如果你的意思是「反編譯爲Java」,我敢肯定這不會發生。
的情況下,不可靠的,如果APK使用混淆技術
有各種混淆技術。大多數與通話圖無關。例如。名稱修改將類名稱org.apache.http.client.HttpClient
替換爲a.b.c
之類的無意義內容。你仍然可以在CFG中看到這個類和它的功能。
我發現這個文件https://github.com/vivainio/androguard第6672行的/blob/master/androguard/core/bytecodes/dvm.py負責將字節碼轉換爲有用的信息。我是否正確地說這是反彙編而不是反編譯? –
這整個模塊負責將二進制dex格式解析爲實際的操作碼及其部分 - 就像smali。對於機器字節碼來說,它更像是反彙編程序。無論如何,這部分對於查看哪些方法互相調用確實非常重要,但是(大部分)與混淆無關。 –
- 1. 什麼是Smali代碼Android
- 2. 「.line」在smali代碼語法中的含義是什麼? (Android的Smali碼)
- 3. Smali代碼vs Java源代碼當逆向工程Android應用程序
- 4. DalvikVM如何處理切換和嘗試smali代碼
- 5. 「smali」語法specfication | smali日誌注入
- 6. Smali .local format
- 7. 如何設置smali
- 8. 修改.smali文件
- 9. 法定標籤名稱smali
- 10. 沒有java進口smali?
- 11. 爲eclipse添加smali支持
- 12. 打印Smali值到logcat
- 13. Smali multidex「已被拘留」
- 14. 學習如何編碼在Smali通過轉換java2smali
- 15. PHPExcel - 從代碼
- 16. 從代碼
- 17. 從代碼
- 18. 從代碼
- 19. 從代碼
- 20. 從代碼
- 21. 從代碼
- 22. 從代碼
- 23. iTunes從代碼
- 24. WPF - 從代碼
- 25. 從代碼
- 26. 從代碼
- 27. 從代碼
- 28. Silverlight:從代碼
- 29. 從代碼
- 30. 從代碼
可能重複 - https://gackoverflow.com/questions/13739815/how-to-generate-call-graph-from-android-apk –