大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
那个不是汇编。。。是反编译工具无法识别的字节码(bytecodes,java中间代码),因为无法识别,自然只能直接把字节码打出来给你看了。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、网站空间、营销软件、网站建设、蓬江网站维护、网站推广。
你多试几种反编译工具,并不是所有的都会出的,也不是所有的都在同一个地方出。这个取决于反编译工具的作者对字节码的理解。
您好, 提问者:
可以考虑使用JD-GUI工具进行反编译
但是汇编语言肯定还要自己写的,直接反编译不行的。
JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。
因为最底层的硬件只能与汇编语言打交道,所以任何语言的运行都市直接或间接运行汇编语言的。
java不会被编译成汇编语言,只是被编译成能被java运行环境识别的字节码,虽然不是编译成直接汇编语言,但是也通过java运行环境和汇编语言打交道
理论上说计算机运行的程序都可以被反汇编的。但java这类程序就不一样了~~~java程序运行在java虚拟机(jvm)里由java虚拟机和操作系统进行交互操作。java源文件在编译成*.class时,java源代码被编译成类似计算机汇编代码的java汇编代码(也就是 Java字节码),这时java虚拟机就像cpu一样可以“运行java汇编代码”所以java的类并不是计算机是机器指令而是由jvm解译成机器指令运行的。
流程:
Java词法分析
最开始的时候,高级语言编写的程序对编译器来说只是一连串的单个字符组成的字符串。为了让编译器识别这一连串的字符串,需要逐个字符的读取源程序,然后将其切分成有意义的单词,这些被切分后的单词在编译器眼里是以
标识,语义值对的形式存在。
为了从源程序字符串中依次找出单词,编译器需要具有扫描功能,通常这种扫描器可以用一组有限状态机来实现。为了说明有限状态机是怎么一回事,下面给出一个实例。
下图为一个识别数字的有限状态机,数字由整数部分和可选的小数部分组成。因此,根据这个有限状态机,250和3.14159都能被识别成一个有效的数字。
Java语法分析
完成了“词法分析”后,接下来就是激动人心的“语法分析”阶段。通过语法分析得到语法树。
Java翻译语法树
首先,寻找最小表达式,接下来,将最小表达式与其周边的表达式合并。最后,将所有的表达式有序的进行合并,得到最终的汇编语言描述。
至此,我们便将高级语言翻译成了汇编语言。