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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

ByteBuddy 附加到本地正在運(yùn)行的進(jìn)程

ByteBuddy 附加到本地正在運(yùn)行的進(jìn)程

動(dòng)漫人物 2022-07-20 20:29:04
我正在嘗試使用 ByteBuddy 附加到我的計(jì)算機(jī)上運(yùn)行的正在運(yùn)行的進(jìn)程。我希望在我附加到正在運(yùn)行的程序時(shí),我的代理將導(dǎo)致重新加載加載的類并顯示我的 Transformer 的打印語句。相反,當(dāng)我停止正在附加的正在運(yùn)行的進(jìn)程時(shí),會(huì)發(fā)生一些來自我的 Transformer 的打印語句,用于某些 JDK 類。代碼貼在下面:import net.bytebuddy.ByteBuddy;import net.bytebuddy.agent.ByteBuddyAgent;import net.bytebuddy.dynamic.loading.ClassReloadingStrategy;import net.bytebuddy.implementation.FixedValue;import java.io.*;import static net.bytebuddy.matcher.ElementMatchers.named;public class Thief {    public static void main(String[] args) throws Throwable {        String pid = "86476"; // <-- modify this to attach to any java process running on your computer        System.out.println(new Thief().guessSecurityCode(pid));    }    public String guessSecurityCode(final String pid) throws Throwable {        File jarFile = createAgent();        ByteBuddyAgent.attach(jarFile, pid);        return "0000";    }
查看完整描述

1 回答

?
蝴蝶不菲

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊

僅僅添加一個(gè)轉(zhuǎn)換器不會(huì)導(dǎo)致重新加載已經(jīng)加載的類。默認(rèn)情況下,您的轉(zhuǎn)換器只會(huì)看到新加載的類,因此您在退出時(shí)看到一些類的原因是這些類以前沒有使用過,而是專門為關(guān)閉過程加載的。

要重新轉(zhuǎn)換您首先必須addTransformer(yourTransformer, true)用于注冊(cè)的類,然后使用您要轉(zhuǎn)換retransformClasses的類調(diào)用。注意getAllLoadedClasses的存在和getInitiatedClasses(ClassLoader)

作為附加說明,我強(qiáng)烈反對(duì)將 Java 代理嵌入為源代碼字符串的方法,需要將它們寫入臨時(shí)文件,調(diào)用編譯器并最終創(chuàng)建 jar 文件。您可以輕松地將代理類集成到您的普通源代碼中。然后,要生成僅包含代理類的 jar 文件,您只需將現(xiàn)有.class文件從應(yīng)用程序的代碼庫(kù)復(fù)制到代理 jar。對(duì)于簡(jiǎn)單的情況,您可以同時(shí)使您的應(yīng)用程序 jar 文件成為有效的代理 jar 文件,然后直接使用它,而無需任何額外的復(fù)制步驟。

此外,請(qǐng)記住, aClassFileTransformer應(yīng)該始終返回null它不會(huì)更改的所有類。返回原始類文件字節(jié)在語義上是相同的,但是調(diào)用方需要付出額外的努力才能發(fā)現(xiàn)您沒有更改它。對(duì)于將為每個(gè)加載的類調(diào)用的代碼,但通常只對(duì)少數(shù)感興趣(或者只想打印信息而不更改任何內(nèi)容),這樣的性能問題很重要。


查看完整回答
反對(duì) 回復(fù) 2022-07-20
  • 1 回答
  • 0 關(guān)注
  • 146 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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