当前位置:首页 » 编程软件 » 二进制上游编译的文件

二进制上游编译的文件

发布时间: 2022-05-02 06:40:30

Ⅰ 如何编译android 可执行的二进制文件

Android由于其代码是放在dalvik虚拟机上的托管代码,所以能够很容易的将其反编译为我们可以识别的代码。 之前我写过一篇文章反编译Android的apk包到smali文件 然后再重新编译签名后打包实现篡改apk的功能。 最近又有一种新的方法来实现直接从Android apk包里的classes.dex文件,把dex码反编译到java的.class二进制码,然后从.class二进制码反编译到java源码想必就不用我来多说了吧。 首先我们需要的工具是dex2jar和jd-gui 其中第一个工具dex2jar是用来把classex.dex文件也就是dex二进制码转化为java的标准.class二进制码,然后jd-gui是把标准的.class二进制码再反编译为java源码。 首先从apk包里面提取出classes.dex 放到dex2jar目录下 然后在命令行下执行 dex2jar.bat classes.dex 这时执行成功后会生成一个classes.dex.dex2jar.jar文件 这个文件再用jd-gui打开,如下图 几乎跟我自己写的这个程序的源码一样 提供这个反编译方法主要用于大家学习与研究,有问题可以与我邮件讨论。 希望大家不要用这个方法从事恶意的活动,毕竟,别人辛辛苦苦写程序也不容易,用这个方法可以大致的学习到别人写的程序的逻辑,架构,希望对大家有所帮助。 Android 逆向apk程序的心得 本文主要介绍如何逆向一个Android的APK应用程序,本文提供的方法仅供研究学习之用。 本文需要用到的工具有 jdk 这个用于搭建java运行环境 AXMLPrinter2.jar 这个用于逆向.xml文件 baksmali.jar 这个用于逆向classex.dex文件 由于Android的.apk文件实际上就是一个zip文件 可以直接用winrar打开

python的程序可以编译成二进制可执行文件么

python下编译py成pyc和pyo
其实很简单,

python -m py_compile file.py
python -m py_compile /root/src/{file1,file2}.py
编译成pyc文件。
也可以写份脚本来做这事:
Code:

import py_compile
py_compile.compile('path') //path是包括.py文件名的路径


python -O -m py_compile file.py
编译成pyo文件。
1.其中的 -m 相当于脚本中的import,这里的-m py_compile 相当于上面的 import py_compile
2.-O 如果改成 -OO 则是删除相应的 pyo文件,具体帮助可以在控制台输入 python -h 查看
========================
from:http://blogold.chinaunix.net/u3/93255/showart_1944929.html
什么是pyc文件
pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的虚拟机来执行的,这个是类似于JAVA或者.NET的虚拟机的概念。pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的,2.5编译的pyc文件,2.4版本的 python是无法执行的。
什么是pyo文件
pyo是优化编译后的程序 python -O 源文件即可将源程序编译为pyo文件

什么是pyd文件
pyd是python的动态链接库。

为什么需要pyc文件
这个需求太明显了,因为py文件是可以直接看到源码的,如果你是开发商业软件的话,不可能把源码也泄漏出去吧?所以就需要编译为pyc后,再发布出去。当然,pyc文件也是可以反编译的,不同版本编译后的pyc文件是不同的,根据python源码中提供的opcode,可以根据pyc文件反编译出 py文件源码,网上可以找到一个反编译python2.3版本的pyc文件的工具,不过该工具从python2.4开始就要收费了,如果需要反编译出新版本的pyc文件的话,就需要自己动手了(俺暂时还没这能力^--^),不过你可以自己修改python的源代码中的opcode文件,重新编译 python,从而防止不法分子的破解。
生成单个pyc文件
python就是个好东西,它提供了内置的类库来实现把py文件编译为pyc文件,这个模块就是 py_compile 模块。
使用方法非常简单,如下所示,直接在idle中,就可以把一个py文件编译为pyc文件了。(假设在windows环境下)
import py_compile
py_compile.compile(r'H:\game\test.py')
compile函数原型:
compile(file[, cfile[, dfile[, doraise]]])
file 表示需要编译的py文件的路径
cfile 表示编译后的pyc文件名称和路径,默认为直接在file文件名后加c 或者 o,o表示优化的字节码

from:http://www.cnblogs.com/dkblog/archive/2009/04/16/1980757.html

Ⅲ 二进制文件和程序源代码的关系和区别

二进制文件是源代码经过编译器编译之后的产物,二进制内容能比cpu直接读取和使用,源代码不行

Ⅳ 程序都是二进制的吗,比如apk,exe这些都是编译好的二进制文件吗。

亲,只要是电子产品都是2进制的,岛国科学家想找到16进制的做替换可惜从计算机开始一直到今天都没成功!

Ⅳ C/C++语言编译生产可执行的二进制文件的过程求大神详尽解释,

  1. 预编译。编译器将你的.c、.cpp源代码,通过解释其中的预编译指令,将源代码转换成相应的没有任何预编译指令的代码。

  2. 编译、优化。将上一步的代码编译成汇编指令,并作一定优化,形成对应的.s汇编代码

  3. 汇编。将.s文件汇编成机器码,形成对应的.o目标文件,此时是不可执行的二进制文件。生成对应的清单文件。为了连接需要,还会生成未定向符号表、导出符号表、地址重定向表等等。

  4. 连接。先根据对应的清单文件、连接文件及之间的调用关系,决定所有的目标文件及引用的库文件在最后可执行文件中的位置;然后做一些其他事情,比如根据符号表等将目标文件中的符号地址补全等等;最终得到可执行文件。

这只是我个人的简单理解,更详尽的解答都可以写成好几本书了=_=望采纳~

c语言是如何编译成二进制

计算机专业有门课程叫做《编译原理》,详细讲述了怎么把高级语言翻译成汇编语言活着机器能看懂的二进制代码。

简单的说,C语言是通过编译器翻译成二进制代码的(就像英译汉的软件把英文翻译成汉语一样。把高级语言翻译成机器语言过程很复杂,学了编译原理就懂了)。还有编译器可以用各种语言编写,C语言可以被用C语言写的编译器来编译。

Ⅶ 求问大神 既然硬盘上储存程序代码已经是二进制的,为什么不能直接执行,还需要再编译一下呢

我的理解是:计算机能够执行的是机器指令。程序本身虽然是以二进制文件的形式存储在磁盘中,但是这里存储的只是程序中字面量转换成二进制的形式存储。所以需要通过程序对应的编译器将其编译成对应的机器指令文件。而执行就是执行机器指令文件了。
#就拿Java语言来说:
源文件是以**.java的文件形式存储在磁盘中的。但是这样的文件相当于只是将其中的文本转换成了二进制。计算机根本不知道该如何执行。
通过Java的编译器将其转换成**.class文件后,class文件虽然也是二进制存储,但是有自己的结构:魔数,副版本号,主版本号,常量池计数器,常量池,访问标志位,类索引,父类索引等等。但是这个东西计算机不能直接执行的,需要通过Java虚拟机去执行。而Java虚拟机相当于是模拟计算机,也有个程序计数器啥的。我个人认为应该是将.class文件中的字节码通过jvm中的执行引擎转换成对应的虚拟机指令。然后才能执行。而在真正执行的时候虚拟机中对应的虚拟机指令也是要转换成对应的机器指令才能执行

Ⅷ C源程序经编译形成的二进制代码可以直接运行吗

不可以直接运行,源程序是程序员写给人看的,电脑执行的都是.EXE程序或者是二进制可执行代码,所以得将源程序进行编译连接然后才能生成可执行的程序也就是二进制的代码。

源代码(也称源程序)是指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令。

在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。

计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。

(8)二进制上游编译的文件扩展阅读:

如果按照源代码类型区分软件,通常被分为两类:自由软件和非自由软件。自由软件一般是不仅可以免费得到,而且公开源代码;相对应地,非自由软件则是不公开源代码。所有一切通过非正常手段获得非自由软件源代码的行为都将被视为非法。

对于计算机而言,并不存在真正意义上的“好”的源代码;然而作为一个人,好的书写习惯将决定源代码的好坏。源代码是否具有可读性,成为好坏的重要标准。软件文档则是表明可读性的关键。

对软件进行说明,即对软件的编写进行说明。为数不少的初学者,甚至少数有经验的程序员都忽视软件说明的编写,因为这部分不会在生成的程序中直接显示,也不参与编译。

但是注释代码对软件的学习、分享、维护和软件复用都有巨大的好处。因此,书写软件说明在业界被认为是能创造优秀程序的良好习惯,一些公司也硬性规定必须书写。

网络-源代码 (一系列人类可读的计算机语言指令)

Ⅸ python如何编译生成二进制文件

1、可以
2、当你编辑运行py文件后,就会生成对应文件名的pyc文件。
3、pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的虚拟机来执行的,这个是类似于JAVA或者.NET的虚拟机的概念。pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的。
总之,是可以的

Ⅹ 怎么把二进制文件反编译

下载个反汇编的小软件:C51fby.exe ,就可以反编译成汇编程序了。不过,出来的文件会让你看得头大。

热点内容
优酷怎么给视频加密 发布:2025-05-14 19:31:34 浏览:633
梦三国2副本脚本 发布:2025-05-14 19:29:58 浏览:859
phpxmlhttp 发布:2025-05-14 19:29:58 浏览:432
Pua脚本 发布:2025-05-14 19:24:56 浏览:448
苹果像素低为什么比安卓好 发布:2025-05-14 19:13:23 浏览:460
安卓机微信怎么设置红包提醒 发布:2025-05-14 19:00:15 浏览:271
androidsystem权限设置 发布:2025-05-14 18:56:02 浏览:970
mq脚本 发布:2025-05-14 18:45:37 浏览:25
仙境传说ro解压失败 发布:2025-05-14 18:45:01 浏览:868
betweenand的用法sql 发布:2025-05-14 18:39:25 浏览:250