Java agent资料收集

=Start=

缘由:

最近在网上看到很多关于RASP相关的文章,想了解一下其背后的原理,所以收集整理一下看到的资料,方便以后参考。

正文:

参考解答:

JVM源码分析之javaagent原理完全解读
http://www.infoq.com/cn/articles/javaagent-illustrated
http://docs.oracle.com/javase/7/docs/platform/jvmti/jvmti.html
http://lovestblog.cn/blog/2014/06/18/jvm-attach/

Instrumentation 新功能
https://www.ibm.com/developerworks/cn/java/j-lo-jse61/index.html

java.lang.Instrument 代理Agent使用
http://www.importnew.com/22466.html
https://my.oschina.net/xianggao/blog/362495

javaagent
https://liuzhengyang.github.io/2017/03/15/javaagent/
https://github.com/liuzhengyang/javaagent-example

java.lang.instrument笔记
http://jiangbo.me/blog/2012/02/21/java-lang-instrument/

Java类动态加载(二)——动态加载class文件
http://zheng12tian.iteye.com/blog/1495037
http://zheng12tian.iteye.com/category/263312

https://stackoverflow.com/questions/27851588/what-is-premain-and-how-does-it-get-called
https://docs.oracle.com/javase/6/docs/api/java/lang/instrument/package-summary.html
https://docs.oracle.com/javase/7/docs/api/java/lang/instrument/package-summary.html
https://docs.oracle.com/javase/8/docs/api/java/lang/instrument/package-summary.html

premain和agentmain的优劣比较
https://stackoverflow.com/questions/19786078/what-is-the-use-of-agentmain-method-in-java-instrumentation
https://stackoverflow.com/questions/1277219/starting-a-java-agent-after-program-start
https://github.com/zakgrant/ASM-Examples/blob/master/src/main/java/name/zak/javaagent/JavaAgent.java

JavaSe:-javaagent,-agentlib,-agentpath
http://www.cnblogs.com/f1194361820/p/5059367.html

Java – Instrumentation
http://www.cnblogs.com/kavlez/p/4074660.html

AgentMain与VirtualMachine
http://blog.sina.com.cn/s/blog_605f5b4f01010i3b.html

JVM Attach API Introducation And Practice
https://afoo.me/posts/2010-11-25-jvm_attach_api_introduction_and_practice.html

http://itmyhome.com/java-api/java/lang/instrument/package-summary.html

Java agent笔记
http://www.yangguo.info/2015/07/18/JavaAgent%E7%9A%84%E4%B8%80%E7%82%B9%E6%80%9D%E8%B7%AF/

Java Attach API
http://arganzheng.life/java-attach-api.html

云智慧透视宝Java代码性能监控实现原理
http://server.51cto.com/sManage-493660.htm

参考链接:

如上

=END=

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/3737.html

《Java agent资料收集》上有8条评论

  1. Java agent笔记
    https://www.yangguo.info/2015/07/18/JavaAgent%E7%9A%84%E4%B8%80%E7%82%B9%E6%80%9D%E8%B7%AF/

    1、The Serviceability Agent(SA). Sun私有的一个组件,它可以帮助开发者调试Hotspot。
    2、jvmstat performance counters. HotSpot通过Sun私有的共享内存机制实现的性能计数器,它是公开给外部给外部进程的。它们也称为perfdata。
    3、The Java Virtual Machine Tool Interface (JVM TI). 它是一套标准的C接口,是 JSR 163 - JavaTM Platform Profiling Architecture 参考实现。JVMTI提供了可用于 debug和profiler的接口;同时,在Java 5/6 中,虚拟机接口也增加了监听(Monitoring),线程分析(Thread analysis)以及覆盖率分析(Coverage Analysis)等功能。JVMTI并不一定在所有的Java虚拟机上都有实现,不同的虚拟机的实现也不尽相同。不过在一些主流的虚拟机中,比如 Sun 和 IBM,以及一些开源的如 Apache Harmony DRLVM 中,都提供了标准 JVMTI 实现。
    4、The Monitoring and Management interface. Sun的私有实现,它能够实现对HotSpot的监控和管理。
    5、Dynamic Attach. Sun的私有机制,它允许外部进程在HotSpot中启动一个agent线程,该agent可以将该HotSPot的信息发送给外部进程。
    6、DTrace. 全称Dynamic Tracing,也称为动态跟踪,是由Sun™开发的一个用来在生产和试验性生产系统上找出系统瓶颈的工具,可以对内核(kernel)和用户应用程序(user application)进行动态跟踪并且对系统运行不构成任何危险的技术。在任何情况下它都不是一个调试工具,而是一个实时系统分析寻找出性能及其他问题的工具。DTrace是个特别好的分析工具,带有大量的帮助诊断系统问题的特性。还可以使用预先写好的脚本利用它的功能。用户也可以通过使用 DTrace D语言创建他们自己定制的分析工具,以满足特定的需求。除Solaris系列以外,Dtrace已先后被移植到FreeBSD、NetBSD及Max OS X等操作系统上。
    7、pstack support. pstack是从Solaris发源的实用程序,可以查看core dump文件,调试进程,查看线程运行情况等等。现在,pstack工具也移植到了Linux系统中,比如Red Hat Linux系统、Ubuntu Linux系统等等。HotSpot允许pstack显示Java堆栈帧。

  2. 利用Java反射和类加载机制绕过JSP后门检测
    https://xz.aliyun.com/t/2342

    0x00:前言
    0x01:Java执行系统命令的方法和原理
    0x02:JSP标签
    0x03:用ProcessBuilder绕过检测
    0x04:使用Java反射机制绕过检测
    一. 反射Runtime
    二. 反射ProcessBuilder
    三. 关于反射ProcessImpl

    0x05:使用Java类加载机制绕过检测
    Class对象
    Java自带的三个类加载器

    0x06:获得Class对象的四种方法
    0x07:后记
    参考链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注