【问题标题】:Frida Java windows弗里达 Java 窗口
【发布时间】:2018-09-22 14:05:30
【问题描述】:

是否可以在 Windows 上使用 Frida 来跟踪 Java 应用程序中的方法?

我已经用它在 Android 上使用 Javascript 调试 APK,但我不能在 Windows 上的 Java 应用程序中做同样的事情。

更具体的问题:我需要挂钩一些混淆函数并获取参数值和返回值。

【问题讨论】:

  • 也许 JVisualVM 可能就足够了,具体取决于您的用例。它随 JDK 一起提供。
  • VisualVM 做了一种不同的工作。我想调试一个混淆的 java 应用程序。
  • 请添加示例

标签: java reverse-engineering frida


【解决方案1】:

是的。

你可以通过地址+基数来hook方法。

https://www.frida.re/docs/examples/windows/

Interceptor.attach(Module.findExportByName(null, "dlopen"), {
            onEnter: function(args) {
                this.lib = Memory.readUtf8String(args[0]);
                console.log("[*] dlopen called with: " + this.lib);
            },
            onLeave: function(retval) {
                if (this.lib.endsWith(moduleName)) {
                    Interceptor.attach(Module.findBaseAddress(moduleName).add(nativeFuncAddr_AKA_offset), {
                        onEnter: function(args) {
                            console.log("[*] hook invoked");
                        }
                    });
                }
            }
        });

【讨论】:

  • 我挂钩 JVM.dll 而不是 java 可执行文件。不一样。
  • 你找到符号地址,你添加base并用Interceptor附加,我会添加一个sn-p
  • 我需要挂钩一些函数来获取一些混淆函数的参数值和返回值。
  • 展开主要问题
猜你喜欢
  • 2020-08-26
  • 1970-01-01
  • 1970-01-01
  • 2011-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-23
  • 1970-01-01
相关资源
最近更新 更多