Java逆向基礎之Byteman的擴充Helper類

來源:互聯網
上載者:User

標籤:java   逆向   byteman   

上一篇文章提到我們可以在規則檔案中調用自己寫的擴充Helper類

看一個例子

建立目標項目和擴充Helper類項目,結構如下

其中目標項目使用上一篇部落格的第二個例子的代碼

擴充Helper類項目需要用到第三方jar,在C:\byteman-download-4.0.2\lib找到byteman.jar複製過來

TraceHelper.java代碼如下

package com.vvvtimes;import org.jboss.byteman.rule.Rule;import org.jboss.byteman.rule.helper.Helper;public class TraceHelper extends Helper {protected TraceHelper(Rule rule) {super(rule);}public boolean myprint(String message) {return super.traceln("!!! IMPORTANT EVENT !!!" + message);}}

將這個項目匯出為BytemanHelperDemo.jar

目標項目裡的規則檔案tracing.btm內容如下,其中HELPER項指定自訂了Helper類名

RULE trace return value1CLASS com.vvvtimes.MainMETHOD add(int,int)HELPER com.vvvtimes.TraceHelperAT EXITIF trueDO myprint("Return value: " +$!)ENDRULE

編譯

javac com/vvvtimes/Main.java

運行

java com.vvvtimes.Main

加helper類的規則檔案檢查,注意多了個-cp BytemanHelperDemo.jar

bmcheck -cp . -cp BytemanHelperDemo.jar  -v scripts/tracing.btm

byteman運行

java -cp ".;BytemanHelperDemo.jar;%CLASSPATH%" -javaagent:%BYTEMAN_HOME%\lib\byteman.jar=script:scripts/tracing.btm com.vvvtimes.Main

運行結果如下


如果我們將上面的目標項目打包成jar,則命令可以改成如下形式

目標項目打包成的jar名為BytemanDemo2.jar

運行

java -cp "BytemanDemo2.jar;%CLASSPATH%" com.vvvtimes.Main

加helper類的規則檔案檢查

bmcheck -cp BytemanDemo2.jar -cp BytemanHelperDemo.jar  -v scripts/tracing.btm

byteman運行

java -cp "BytemanDemo2.jar;BytemanHelperDemo.jar;%CLASSPATH%" -javaagent:%BYTEMAN_HOME%\lib\byteman.jar=script:scripts/tracing.btm com.vvvtimes.Main

運行結果




Java逆向基礎之Byteman的擴充Helper類

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.