Java(ala ollydbg / softice for Assembler)是否有拆卸器 +调试器?
-
23-09-2019 - |
题
有没有类似于Java的Ollydbg / Softice的实用程序? IE执行类(从JAR /带有类路径),并且在没有源代码的情况下,显示具有逐步 /逐步 /逐步 /搜索的中间代码的拆卸 /编辑内存中的特定特定中间代码 /应用于文件。 。
如果没有,是否可以写这样的东西(假设我们愿意在调试持续时间内没有热点的情况下生活)?
编辑:我不是在谈论JAD,JD或CAVAJ。这些是很好的分解器,但由于几个原因,我不希望一个分解器,最值得注意的是它们的输出不正确(充其量是有时只是错误的)。我不是在寻找一个神奇的“编译字节到Java代码” - 我想查看即将执行的实际字节。另外,我希望能够更改这些字节(就像在汇编调试器中一样),并希望将更改的零件写回类文件。
EDIT2:我知道Javap存在 - 但它只能采取一种方法(没有任何类型的分析)。示例(从VMSPEC文档中获取的代码):从Java代码,我们使用“ Javac”来编译以下内容:
void setIt(int value) {
i = value;
}
int getIt() {
return i;
}
到Java .class文件。使用Javap -c我可以获取此输出:
Method void setIt(int)
0 aload_0
1 iload_1
2 putfield #4
5 return
Method int getIt()
0 aload_0
1 getfield #4
4 ireturn
对于拆卸部分来说,这是可以的(如果没有分析,就不是很好 - “ field#4是示例.i”),但是我找不到其他两个“工具”:
- 一个调试器本身(带有堆栈,内存转储等),使我可以检查实际的代码和环境。
- 一种扭转过程的方法 - 编辑分解的代码并重新创建.class文件(带有编辑的代码)。
解决方案
尝试使用scriptlink
<sharepoint:scriptlink defer="false " id="SPScriptLink " localizable="false " name="jquery-x.x.x.js " runat="server"></sharepoint:scriptlink>
.
或
<SharePoint:Scriptlink runat="server" Name="~sitecollection/Style Library/[YOUR SITE]/js/jquery.js" Language="javascript" />
.
ScriptLink控件可确保仅脚本仅加载一次 还将确保首先加载了其他依赖项
其他提示
看一眼 Jad Decomplier 用于分解Java代码。然后,您可以使用生产来源运行IDE的内置调试器。 IDE可以是Intellij,Eclipse或Netbeans。这种方法不是完全自动的,但应该可以完成工作。
不隶属于 StackOverflow