你好,我正在寻找一种方法来了解任何预安装或需要单独安装的库的Imports的内部工作原理,有什么方法可以做到这一点?
是的,学习库的工作原理的方法是有的,但是,根据库的不同而不同。
许多Java和Python库都是开源的,所以你不需要反编译它们。例如,你可以下载整个源代码的 OpenJDK 并原汁原味地研究它,甚至进行修改,建立自己的版本。
该 CPython 解释器也是开源的,所以不需要反编译。
如果你想研究一个没有源代码的库,你所需要的工具取决于该库是用什么语言编写的。
对于Java,有 很多好的反编译器因为Java在编译的字节码中保留了很多信息。
还有一个 反编译Python的工具 字节码,而解释器本身有一个 内置反汇编器尽管通常Python库都是以源代码的形式出现,即使它们是本体的。
这些工具主要是为了调试的目的。
如果库中有底层的本地组件(通常是用C或C++编写的),反编译就需要另一种工具,而且不会产生高级别的结果。
有一些反汇编工具,但你需要学习相关平台的汇编代码。
最大的工具有 IDA (这是很昂贵的,但有一个有限的免费版本)和 Ghidra - 一个由中情局制作的免费软件反汇编程序。
是的,美国中央情报局不仅制作了一个反汇编软件,他们还免费提供给世界上任何一个人,并附有源代码!这取决于编译器。
这要看编译器的情况。有针对不同编译器的反编译器,但不是每个编译器都有。请注意,这是非法的:)