資源共享吧|易語言論壇|逆向破解教程|輔助開發(fā)教程|網(wǎng)絡(luò)安全教程|m.anzei.cn|我的開發(fā)技術(shù)隨記

 找回密碼
 注冊成為正式會員
查看: 1674|回復(fù): 3
打印 上一主題 下一主題

[安卓逆向] frida hook 系統(tǒng)函數(shù)遇到困難

[復(fù)制鏈接]

6

主題

151

帖子

0

精華

終身高級VIP會員

Rank: 7Rank: 7Rank: 7

資源幣
87
積分
160
貢獻(xiàn)
0
在線時(shí)間
31 小時(shí)
注冊時(shí)間
2019-8-17
最后登錄
2021-5-23

終身VIP會員

跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-3-24 23:59:30 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
1資源幣
本帖最后由 qq2625112940 于 2020-3-25 00:04 編輯

遇到問題的情況是這樣的。

我有一個(gè)應(yīng)用,它載入了so褲,但是反編譯看代碼的時(shí)候,看到了有多個(gè)loadLibrary。

此時(shí)就不知如何去Hook這個(gè)類

通過查閱Android源碼可知
class:java.lang.Runtime

method:
private java.lang.String java.lang.Runtime.doLoad(java.lang.String,java.lang.ClassLoader)
private static java.lang.String[] java.lang.Runtime.initLibPaths()
private static native java.lang.String java.lang.Runtime.nativeLoad(java.lang.String,java.lang.ClassLoader,java.lang.String)
private static native void java.lang.Runtime.nativeExit(int)
public boolean java.lang.Runtime.removeShutdownHook(java.lang.Thread)
public int java.lang.Runtime.availableProcessors()
public java.io.InputStream java.lang.Runtime.getLocalizedInputStream(java.io.InputStream)
public java.io.OutputStream java.lang.Runtime.getLocalizedOutputStream(java.io.OutputStream)
public java.lang.Process java.lang.Runtime.exec(java.lang.String) throws java.io.IOException
public java.lang.Process java.lang.Runtime.exec(java.lang.String,java.lang.String[]) throws java.io.IOException
public java.lang.Process java.lang.Runtime.exec(java.lang.String,java.lang.String[],java.io.File) throws java.io.IOException
public java.lang.Process java.lang.Runtime.exec(java.lang.String[]) throws java.io.IOException
public java.lang.Process java.lang.Runtime.exec(java.lang.String[],java.lang.String[]) throws java.io.IOException
public java.lang.Process java.lang.Runtime.exec(java.lang.String[],java.lang.String[],java.io.File) throws java.io.IOException
public native long java.lang.Runtime.freeMemory()
public native long java.lang.Runtime.maxMemory()
public native long java.lang.Runtime.totalMemory()
public native void java.lang.Runtime.gc()
public static java.lang.Runtime java.lang.Runtime.getRuntime()
public static void java.lang.Runtime.runFinalizersOnExit(boolean)
public void java.lang.Runtime.addShutdownHook(java.lang.Thread)
public void java.lang.Runtime.exit(int)
public void java.lang.Runtime.halt(int)
public void java.lang.Runtime.load(java.lang.String)
public void java.lang.Runtime.loadLibrary(java.lang.String)
public void java.lang.Runtime.runFinalization()
public void java.lang.Runtime.traceInstructions(boolean)
public void java.lang.Runtime.traceMethodCalls(boolean)
void java.lang.Runtime.load(java.lang.String,java.lang.ClassLoader)
void java.lang.Runtime.loadLibrary(java.lang.String,java.lang.ClassLoader)

其中我mark為紅色的部分為我想Hook的代碼。 可是不知道到底該如何去Hook,求小肩膀大佬解答解答。(寫了代碼Hook沒效果)

回復(fù)

使用道具 舉報(bào)

6

主題

151

帖子

0

精華

終身高級VIP會員

Rank: 7Rank: 7Rank: 7

資源幣
87
積分
160
貢獻(xiàn)
0
在線時(shí)間
31 小時(shí)
注冊時(shí)間
2019-8-17
最后登錄
2021-5-23

終身VIP會員

沙發(fā)
 樓主| 發(fā)表于 2020-3-25 00:06:00 | 只看該作者
這邊我是想通過Hook loadLibrary來分析各個(gè)so的加載順序
回復(fù)

使用道具 舉報(bào)

6

主題

151

帖子

0

精華

終身高級VIP會員

Rank: 7Rank: 7Rank: 7

資源幣
87
積分
160
貢獻(xiàn)
0
在線時(shí)間
31 小時(shí)
注冊時(shí)間
2019-8-17
最后登錄
2021-5-23

終身VIP會員

板凳
 樓主| 發(fā)表于 2020-3-25 00:08:11 | 只看該作者
或者Hook loadLibrary0


回復(fù)

使用道具 舉報(bào)

1

主題

62

帖子

0

精華

資源共享吧金牌老師

Rank: 6Rank: 6

資源幣
54
積分
64
貢獻(xiàn)
0
在線時(shí)間
9 小時(shí)
注冊時(shí)間
2020-2-28
最后登錄
2022-4-26

論壇管理員超級版主終身VIP會員資源共享吧男神終身成就原創(chuàng)先鋒精華會員

地板
發(fā)表于 2020-3-25 00:42:51 | 只看該作者
分析so加載順序 hook這個(gè)函數(shù)做啥 hook dlopen 和 android_dlopen_ext  只不過這是sohook  后面會說   你那個(gè)java函數(shù)hook  有重載 指定下overload不就行了么
回復(fù)

使用道具 舉報(bào)

 點(diǎn)擊右側(cè)快捷回復(fù)  

本版積分規(guī)則

小黑屋|資源共享吧 ( 瓊ICP備2023000410號-1 )

GMT+8, 2025-1-15 10:08 , Processed in 0.050628 second(s), 13 queries , MemCached On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回復(fù) 返回頂部 返回列表