Skip to content

Commit 779f2a5

Browse files
committed
更新JVM TI
1 parent f2290f7 commit 779f2a5

File tree

1 file changed

+25
-5
lines changed

1 file changed

+25
-5
lines changed

java/jvmti/README.md

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -227,24 +227,44 @@ void JNICALL JvmTIAgent::HandleClassFileLoadHook(
227227
```
228228

229229
##JVM TI Example
230-
代码 [github]()
230+
代码 [github](https://github.com/zhuquanbin/note/tree/master/java/jvmti)
231231

232232
__注意__ jvm-tool-cpp 目录下的 makefile 中 **INCLUDE** 参数修改为本地的JDK头文件的所在的目录
233233

234234
> 编译
235235
```bash
236236
cd jvmti && make
237237
```
238-
[![](/image/build.png "编译")][build]
238+
![编译](./image/build.png "编译")
239239

240-
> 对JAR进行反编译
241-
[![](/image/before-encrypt.png "JD-GUI 反编译效果")][before-encrypt]
242-
[![](/image/before-encrypt-01.png "JD-GUI 反编译效果")][before-encrypt-01]
240+
> 使用JD-GUI 对JAR进行反编译
243241
242+
![](./image/before-encrypt.png "JD-GUI 反编译效果")
243+
![](./image/before-encrypt-01.png "JD-GUI 反编译效果")
244+
245+
> 运行JAR包
244246
245247
```bash
246248
java -Djava.library.path=./ -cp jvm-ti.jar com.borey.JvmTITest
249+
```
250+
![](./image/s1.png "JD-GUI 反编译效果")
251+
252+
> 对JAR包进行加密
253+
```bash
247254
java -Djava.library.path=./ -cp jvm-ti.jar com.tool.Encrypt jvm-ti.jar
255+
```
256+
![](./image/e1.png "加密")
257+
![](./image/encrypted-01.png "JD-GUI 反编译效果")
258+
![](./image/encrypted-02.png "JD-GUI 反编译效果")
259+
260+
> 正常运行加密后的JAR包,ClassFormatError错误
261+
```bash
248262
java -Djava.library.path=./ -cp jvm-ti-encrypted.jar com.borey.JvmTITest
263+
```
264+
![](./image/err.png "ClassFormatError错误")
265+
266+
> 运行带Agent加密后的JAR包
267+
```bash
249268
java -Djava.library.path=./ -agentpath:./libagent.so=show -cp jvm-ti-encrypted.jar com.borey.JvmTITest
250269
```
270+
![](./image/success.png "")

0 commit comments

Comments
 (0)