多读书多实践,勤思考善领悟

Java逆向基础之二十一.AspectJ

Java逆向基础之二十一.AspectJ

AspectJ是一个面向切面编程的框架,它扩展了Java语言。AspectJ定义了AOP语法所以它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件。 AspectJ目前支持以下三种编织的方式 编译时编织:把aspe...

Java逆向基础之十八.JDB动态调试

Java逆向基础之十八.JDB动态调试

JDB在有源代码的时候可以实现调试远程机器上的java程序,但是在逆向中源码很难分析出来,不过还是能够调试得到一部分信息的 本文主要获取两个信息 1.动态调用混淆类中的方法,因为实践过程中我们去手动补全相关代码比较难 2.打印调用栈 ...

Java逆向基础之十四.动态生成类

Java逆向基础之十四.动态生成类

为什么有这个东西,一方面时AOP框架的需要,另一方面是增加软件逆向的难度 动态生成类的技术目前大体上分为两类,一类是通过操作字节码框架如cglib/Javassist去实现,另一类就是JNI方式,调用dll/so库...

字节码操纵技术探秘

字节码操纵技术探秘

大家可能已经非常熟悉下面的处理流程:将一个“.java”文件输入到Java编译器中(可能会使用javac,也可能像ANT、Maven或Gradle这样的构建工具),编译器对其进行分析,最终生成一个或多个“.class”文件。 ![im...