为什么当我使用javapclassname时私有(private)方法不存在编译该java文件后的控制台?classA{privatevoidone(){}publicvoidtwo(){}protectedvoidthree(){}} 最佳答案 私有(private)方法默认不显示,需要使用:javap-privateA 关于java-当我们执行javapclassname时私有(private)方法不存在,我们在StackOverflow上找到一个类似的问题:
关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion我很好奇,考虑不要晚上用Java编写某些代码,因为它很容易反编译。有没有一种方法可以让我用Java编写而不必担心反编译器?我知道只要有足够的时间,任何都可以进行逆向工程,所以我要问的是:Java类混淆器是否足够有效以阻止反编译?
许多IDE的调试器匹配物理行号。我正在寻找在反编译代码中保存实际行号的Java反编译器。http://java.decompiler.free.fr/不是一个。 最佳答案 我已经为JDEclipse发布了一个配套插件,它修复了行号问题,并且可以更轻松地在真实源代码和反编译源代码之间切换:http://mchr3k-coding.blogspot.co.uk/2012/07/realignment-for-jd-eclipse.html 关于在实际物理位置保存行号的java反编译器,我们在
我为一家政府承包商工作,他们对在他们的机器上安装什么软件非常挑剔(美国政府法律)。作为逆向工程工作的一部分,我需要弄清楚一组特定的.class文件的作用。反编译器会很有帮助,但我似乎找不到符合此处设定标准的反编译器。基本上,我需要找到一个在美国开发的反编译器。有人知道吗?免费是首选,但商业也行。仅供引用,JAD和JD已经淘汰,因为它们不是在美国开发的。 最佳答案 我会通知您的雇主,对软件的来源设置先决条件并不能保护他们,也不会让他们得到他们想要的东西。美国在全局经济和全局互联网中竞争。他们认为不安装有效的软件就能获得任何优势或安全,
我四处挖掘并找到了大约8年前我用VisualC++6.0编写的东西的可执行文件。我从不备份源代码,但我想我总是在Debug模式下编译所有内容。我还依稀记得在某个地方听到过“除非你有编译器的调试符号或其他东西,否则你不能将可执行文件反编译为源代码”。该代码具有情感值(value),但我检索它并不是关键任务。这是背景;以下是问题:如何检查可执行文件是否在Debug模式下编译?如果是,Debug模式可执行文件附带哪些信息?我可以检索完整的源代码吗?如果做不到这一点,与发布版本相比,我在反编译时可以获得任何实质性改进吗?如果是,怎么做?谢谢,--迈克尔·伯格 最佳答
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我以前认为Java可以反编译,因为它编译成字节代码而不是目标代码。这是错误的,因为隐含的假设字节代码比目标代码“更易于阅读”。为什么用Java写的程序可以这么容易被反编译,甚至有相同的标识符(变量名)?听说C/C++只能反汇编成汇编,不能反编译成源码,为什么?
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion有没有办法反汇编Pro*C/C++可执行文件?
我知道将dll逆向为C++代码是不可能的,所以我想从中收集尽可能多的细节。这不是我的dll,所以我当然没有源代码。我应该使用哪个程序? 最佳答案 好吧,如果你技术娴熟,你可以反汇编DLL并了解它的所有功能。这会花费大量时间,但如果您这样做了,您可以手动将其还原回源。否则,您可以先使用DependencyWalker之类的工具来获取它所依赖的DLL和函数,以及它导出的函数。从那里您可以找到您感兴趣的函数,并使用像IDA这样的反汇编程序来查看它们的作用。 关于c++-如何将DLL反转为C++
我正试图从iOS应用程序内部找到一个常量(类似于secrettoken),以便使用未记录的WebAPI构建应用程序(顺便说一句,我没有从事非法事件)。到目前为止,我的Mac上有解密的应用程序可执行文件(越狱+SSH+将解密的可执行文件转储为文件)。我可以使用strings命令获取可读的字符串列表,我可以使用类转储工具(http://stevenygard.com/projects/class-dump/)获取类的接口(interface)定义(标题)列表。虽然这让我了解了该应用程序的内部工作原理,但我仍然找不到我正在搜索的内容:我正在寻找的常量。strings命令转储中确实有数千个字符
我们在IOS项目上使用C++,在ARM架构上使用Applellvm3编译器。我注意到IDA可以打开ARMexe文件,并且在导出选项卡中我发现了很多C++代码的虚拟表构造函数(类似于‘BaseClass-in-OtherClass00AB6AC5’的构造vtable,其中BaseClass和OtherClass是实际的C++类)从那里您可以找到其他子例程的地址。我不熟悉IDA,但我认为您可以从那里找到敏感的子例程并更改它们以用于其他目的。我想知道所有符号名称是如何进入发布版本的(我们缺少编译器开关?),以及这些东西是否确实可以用来轻松追踪处理敏感信息的例程。有没有办法从构建中删除所有名称