**
360對dex的保護是比較好的,直接去dump記憶體會發現activity類都是有問題的,從dex格式而言,其dexclassdef結構體是有問題的,除了classid的所有成員均為0。
那應該怎麼脫呢,當然360對so有加殼,我們可以對其進行脫殼後進行分析;另外,當然也可以修改libdvm來進行脫殼。
但對於一名coder而言,能否從實現角度出發呢?如果我們來實現這個功能,要如何做。
我們知道,通常加殼方案中,需要替換classloader來載入系統元件類(當然也可以用替換mcookie的方法),activity當然也是一種系統元件。那麼,可以大膽猜測,360的加殼方案中,在classloader的loadclass函式上是動了手腳的,來達到先修正activity類,再修錯的目的。
有了這個猜測後,實現就很簡單了,可以hook loadclass,在這個時機點,去dump記憶體,就可以得到正確的dex。
當然,如果在dvm中實現,應該可以在defineclass函式中進行實現。
jvm記憶體快照dump檔案太大,怎麼分析
通常,使用eclipse的mat圖形化工具開啟dump的時候都會記憶體溢位.對於比較小的dump,eclipse可以開啟,但一旦dump檔案太大,eclipse就有點束手無策。這時候怎麼辦呢?可以使用linux下的mat,既memory analyzer tools 手工直接導,pid為程序號 jm...
ext記憶體洩露分析1
記憶體釋放在使用ext開發opoa系統時顯得尤為重要 開始接觸ext開發,中間花了很多時間來解決記憶體洩漏。最開始ext還是3.0版,洩漏得一塌胡塗,也沒什麼處理頭緒,只知道在ondestroy裡加delete語句,用sieve看效果。而ext3.1有了乙個很大的進步,基本上絕大多數元件都沒有洩漏了...
set方法記憶體分析 1
這個之前的記憶體管理分析中,存在一些問題,比如說在多個物件中,要保證乙個物件沒有被系統 之前,不能被銷毀掉,就像下面的這個demo一樣,person有一輛車,但是他覺得這輛車他不喜歡了,他想換一輛車,那我有2個car的物件,該怎麼去處理這個記憶體管理的問題.import import person....