第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

您好,請問xposed可以hook所有的java函數(shù)嗎?為什么?

您好,請問xposed可以hook所有的java函數(shù)嗎?為什么?

藍山帝景 2022-01-20 11:30:42
最近在研究關(guān)于短信安全的東西,用的是xposed框架。有個問題就是,xposed可以hook任意的java函數(shù)么
查看完整描述

2 回答

?
繁花不似錦

TA貢獻1851條經(jīng)驗 獲得超4個贊

Cydia Substrate是一個代碼修改平臺。它可以修改任何主進程的代碼,不管是用Java還是C/C++(native代碼)編寫的。而Xposed只支持 HOOK app_process中的java函數(shù),因此Cydia Substrate是一款強大而實用的HOOK工具。

Substrate幾個重要API介紹

MS.hookClassLoad

函數(shù)原型:void hookClassLoad(String name, MS.ClassLoadHook hook);

該方法實現(xiàn)在指定的類被加載的時候發(fā)出通知。因為一個類可以在任何時候被加載,所以Substrate提供了一個方法用來檢測用戶感興趣的類何時被加載。



查看完整回答
反對 回復(fù) 2022-01-23
?
陪伴而非守候

TA貢獻1757條經(jīng)驗 獲得超8個贊

 首先解釋下dalvik虛擬機中的Method結(jié)構(gòu)體,Method結(jié)構(gòu)體聲明在源碼目錄樹下的dalvik/vm/oo/Object.h文件內(nèi),在dalvik的世界中,每一個java方法都有一個對應(yīng)的Method對象,
  dalvik虛擬機在執(zhí)行java方法時,就會通過該方法的Method對象調(diào)用到方法的具體實現(xiàn)代碼,Method結(jié)構(gòu)體內(nèi)有個成員,名位insns,該字段保存著java方法具體的實現(xiàn)代碼。那么我今天提供的這個dalvik hook的實現(xiàn)原理就是通過修改Method對象中的insns字段的值來達到hook java的目的。

  這里簡短的用文字的形式描述下Hook的實現(xiàn)過程。

  現(xiàn)在有一個返回字符串的函數(shù)原型聲明為:
  public String truth()
  {
  return "hello from truth";
  }
  另外聲明一個方法為:
  public String fake()
  {
  return "fake string";
  }
  之后,該類被加載后,分別獲得truth和fake方法的Method對象,并將fake方法的實現(xiàn)代碼賦值給truth的Method對象,之后,應(yīng)用程序調(diào)用truth方法時,獲得的字符串為"fake string"。


查看完整回答
反對 回復(fù) 2022-01-23
  • 2 回答
  • 0 關(guān)注
  • 413 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號