首页 / 知识
关于反编译:哪些类型的可执行文件可以反编译?
2023-04-14 04:46:00

What types of executables can be decompiled?我认为Java可执行文件(jar文件)对于反编译和获取源代码很简单。 那其他语言呢? .net和所有? 哪些所有语言只能编译为可反编译的代码? 通常,像Java,C#和VB.NET这样的语言相对容易反编译,因为它们被编译为中间语言,而不是纯机器语言。以IL形式,与编译为机器语言的C代码相比,它们保留的元数据更多。 从技术上讲,您并没有获得原始的源代码,而是对源代码进行了一些改动,在编译时会将其返回给您。它与源代码不同,因为注释,注释和编译器指令之类的内容通常不会被带入已编译的代码中。
托管语言可以很容易地反编译,因为可执行文件必须包含很多元数据以支持反射。 .NET非常容易反编译。最好的工具是RedGate最近收购的.NET反射器。 如果将VB6编译为pcode,也可以使用P32Dasm将其反编译为几乎完整的源,还可以使用Flare之类的东西将Flash(或动作脚本)反编译为完整的源 大多数语言都可以反编译,但是某些语言比其他语言更容易反编译。 .Net和Java将有关原始程序的更多信息放在可执行文件中(方法名,变量名等),因此您可以获取更多原始信息。 例如,C ++会将变量和函数等转换为内存地址(是的,我知道这是一个简单的简化),因此反编译器将不知道调用了什么东西。但是,尽管如此,您仍然可以获得程序的一些结构。 |
最新内容
相关内容
linux分隔文件命令?
linux分隔文件命令?,系统,信息,文件,命令,位置,指令,文件夹,目录,前缀,方法,linux系统下大文件的分割/搜索/导出split命令分割文件成每个文件1linux改文件权限命令?
linux改文件权限命令?,系统,工具,档案,权限,文件,信息,命令,目录,选项,用户,在linux系统中修改文件权限使用的命令是在 Linux 中,要更改一个文linux命令交换文件名?
linux命令交换文件名?,命令,文件,数据,名称,工具,地址,软件,系统,基础知识,文件名,linux中用什么命令移修改文件夹名1、linux下使用mv命令来移linux改变文件所有者的命令?
linux改变文件所有者的命令?,系统,工具,文件,命令,信息,名称,用户组,用户,所有者,权限,linux修改文件权限?打开linux系统,在linux的桌面的空白查看linux库类型命令?
查看linux库类型命令?,系统,工作,信息,状态,电脑,命令,工具,代码,地址,发行,如何查看Linux上程序或进程用到的库查看程序依赖的动态库:readelflinux文件夹转移命令?
linux文件夹转移命令?,系统,文件,命令,位置,材料,信息,工具,电脑,目录,源文件,Linux如何移动文件夹(Linux如何移动文件)linux如何移动文件,为您linux转移文件命令?
linux转移文件命令?,文件,命令,密码,电脑,位置,名称,信息,系统,目录,目标,linux怎么将一个文件移动到另一个目录下1、如果目标文件是到某一目linux下替换文件命令?
linux下替换文件命令?,文件,一致,评论,名称,标的,资料,工作,命令,字符串,内容,linux替换原来文件的命令方法1:sed -i s/被替换的内容/要替换成linux文件nl命令?
linux文件nl命令?,地址,工作,信息,系统,情况,标准,实时,对比,百度,命令,linux查看日志命令第一种:查看实时变化的日志(比较吃内存)。最常用的:taillinux寻找文件夹命令?
linux寻找文件夹命令?,名称,命令,文件,位置,工作,标准,目录,子目录,文件名,字符串,linux文件夹查询命令有哪些less命令,less命令的功能几乎和molinux跳到文件尾命令?
linux跳到文件尾命令?,系统,文件,命令,管理,状态,实时,末尾,光标,内容,编辑,linux复制第1,2,3行数据到文件末尾sed -n 4,$p file.txt$匹配文件linux改语言命令行?
linux改语言命令行?,系统,环境,工具,密码,概念,地方,软件,通信,管理,国际,linux命令行下怎样改变语言将内容改为:LANG=zh_CN.UTF-8LANGUAGE=zh_