j***a改成c语言,j***a转换成c语言
kodinid
12
大家好,今天小编关注到一个比较有意思的话题,就是关于java改成c语言的问题,于是小编就整理了2个相关介绍Java改成c语言的解答,让我们一起看看吧。
- 用c++编写的exe文件如何反编译成c?
- Java能不能像C语言不通过JVM虚拟机直接编译成二进制机器码,让计算机直接运行?
反编译的研究非常广泛也很深入,比较不错的系统有商用的ida 反编译系统的插件hexray,开源的boomerang。但由于通常release的程序,会使用编译器优化编译能力,会把一部分函数内联,以及循环进行循环展开,并且调整部分计算过程的顺序。这会导致反编译回来的代码阅读略显困难。此外,反编译后,没有了变量名称信息,也会让代码阅读比较困难,但基本上,这些系统也已经做到极限了。
另外,逆向工程如果以学习研究为目的,是受我国法律保护的。上面有些回答是不正确的。
这个的话目前只能反汇编了,反汇编软件有ollydbg,Win32Da***等,把exe反向转成汇编语言了。
目前除了.net和j***a等语言写的程序可以反编译成原代码外,c、c++写的程序是无法反成原代码的。
你好,
如何反编译exe文件反编译exe文件基本上是不可能的,因为反编译过程由很多因素会干扰,反编译过程: 检测程序时候加壳.如何反编译一个exe文件,并修改里面一句代码只能反汇编,这种软件有很多的,如ollydbg,Win32Da***等,可以把exe反向转成汇编代码,如何将.exe的可执行程序反编译成为C语言代码程序,有个EXE2C的软件可以 不过反编译出来的代码基本可读性很差, 如果能有那么好的软件能把软件完美的 ,
谢谢邀请,
J***a能不能像C语言不通过JVM虚拟机直接编译成二进制机器码,让计算机直接运行?
C语言的编译过程如下:

C源程序-->预编译处理(.c)-->编译、优化程序(.s、.a***)-->汇编程序(.obj、.o、.a、.ko)-->链接程序(.exe、.elf、.axf等),如图1所示。其实编译里面还包括词法分析、语法分析、语义分析,就不展开说了。
而J***a的执行可以分为两大步骤,如图2所示,第一是编译,这一过程就是调用的j***ac命令,编译成对应的.class文件。第二是解释执行,这一过程是调用的j***a命令,其实我理解的是调用了J***a里的jvm,即j***a虚拟机。JVM其实计算机把高级语言解析成机器码都会存在一个类似这样的中间件。在c#中,我知道先编译成CIL托管代码,然后Jit编译器在CLR(公共语言运行时)这样一个库下把托管代码解释成可执行文件.exe或者dll。现在我就把JVM看作是JIT编译器。把要执行的代码翻译给计算机听,然后机器执行,大致也就是这么个道理。当然了J***a程序还是通过解释器进行解释执行时,当JVM发现某个方法或代码块运行特别频繁的时候,就会认为这是“热点代码”(Hot Spot Code)。然后JIT会把部分“热点代码”翻译成本地机器相关的机器码,并进行优化,然后再把翻译后的机器码缓存起来,以备下次使用。总的来说还是需要JVM。
如果你想把J***a编译成二进制机器码,那要重新开发一个编译器,将J***a源代码通过编译(包括词法分析、语法分析、语义分析,中间代码,优化等)生成汇编语言,然后再转化成机器码。这样以来,每个平台(X86,ARM,MIPS,PowerPC等)都需要重新编译生成相应平台的机器码,而且如果没有JVM,就没有GC(垃圾自动回收)功能了。
到此,以上就是小编对于j***a改成c语言的问题就介绍到这了,希望介绍关于j***a改成c语言的2点解答对大家有用。
标签: 编译
机器码
代码
版权声明:本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。