各種脫殼總結(生命在於運動,知識在於積累)

2021-07-12 02:51:09 字數 935 閱讀 6596

對於梆梆,可以attach到其binder執行緒上,通過gcore、dd來dump記憶體中的dex。但對於其最新版本,當使用gdb attach到主程序的任一線程上時,要麼permission denied,要麼會退出。現對其實現機理進行一下分析:

1.主程序fork子程序c1,c1 fork子程序c2;

2. c1會ptrace attach到主程序的主線程與gc執行緒(其也會操作memory,所以需要用ptrace方法保護),這樣當試圖ptrace attach時,會有permission denied;

3. 主程序為了能讓c1這個子程序跟蹤,需要呼叫prctl,option為set_dumpable。但這個api比較危險,其效果與androidmanifest檔案中debuggable選項設為true等價。如果不呼叫這個api,子程序是不能trace父程序的;

4. c1也會ptrace到c2程序,來對其進行保護;

5. 這個三個程序間彼此用pipe進行通訊;

6. c1會向主程序記憶體空間注入大約52位元組的資料,應為金鑰;

7. 之後c1進入pipe讀阻塞sleep;

8. c2使用inotify監控主程序的每個clone process的mem與pagemap,於是當gdb、dd試圖dump記憶體時,mem的access事件被觸發,三個程序集體退出,導致記憶體dump不完整;這邊漏了乙個,同時c2會不斷開啟主程序的各個status檔案,看其tracerpid是否為0,非0則被attach,退出;

9. c2並monitor主程序的task目錄,來判斷是否有新的clone process或現有的已消亡,來更新monitor的select loop的fd集合。

愛加密也是使用類似方法來實現其功能。另外,梆梆還hook了write方法,來阻止在程序內部將header為dex的magic code的內容寫入磁碟。

生命在於運動

久坐的危害一 久坐使人的腦供血不足,導致腦供氧和營養物質減少,加重人體乏力 失眠 記憶力減退並增大患老年性痴呆症的可能性。久坐的危害二 久坐不動會引發全身肌肉痠痛 脖子僵硬和頭痛頭暈,加重人的腰椎疾病和頸椎疾病。久坐的危害三 久坐可使直腸附近的靜脈叢長期充血,淤血程度加重,從而使人的痔瘡加重,導致大...

生命在於運動

17 40,和客戶對照完畢反饋的問題文件,同事提議去打一下羽毛球 是的啊,n久沒有運動過了,壓抑了一整體天了,是該放鬆一下了,同去同去 球場裡4個場地,這個球場是mii原來的老食堂改造的,正好還有乙個空場地,上之 上場前3分鐘,精力充沛,力量十足,打了估計一刻鐘,漸感體力下降很快,大汗淋漓,氣喘加速...

生命在於運動

這幾個月我一直在學習linux下c 開發,收穫了很多很多。但我內心還是過於急躁,也許就是這個社會帶來的壓力吧!壓力促進我的學習,但是壓力也讓人變得急功近利,無法潛心修道了。長期枯燥的學習 找工作的不順利 身體上的乏力,真正讓人感到生命中一環扣著的一環,沒有什麼是獨立存在的吧!頭2個月,我堅持鍛鍊了下...