㈠ 怎么实现动态库文件从windows下移植到linux环境
这个理论拆枣上是可以实现的。但是很复杂,通用性不强。
1、windows上的动态库DLL文件是PE格式,而linux上的可执行文件是ELF格式,这两种格式首先不同。
2、但是,你可以在Linux上模拟实现一个PE加载器,然后加载DLL文件,实际上就耐物是在旅亩拆Linux上实现一个PE Loader。 但是,这是一个相当复杂的事情,因为,微软没有公布PE的完全细节,我们现在所有了解的PE结构,那都是非官方公布的!
㈡ elf文件怎么打开(eln文件怎么打开)
您好,现在我来为大家解答以上的问题。elf文件怎么打开,eln文件怎么打开相信很多小伙伴还不知道,现在让我们一起来看看吧!1、Linux ELF...
您好,现在我来为大家解答以上的问题。elf文件怎么打开,eln文件怎么打开相信很多小伙伴还不知道,现在让我们一起来看看吧!
1、Linux ELF ELF = Executable and Linkable Format,可执行连接格式,是UNIX系统实验室(USL)作为应用程序二进制接口(Application Binary Interface,ABI)而开发和发布的。
2、扩展名为elf。
3、工具接口标准委员会(TIS)选择了正在发展中的ELF标准键郑作为工作在32位INTEL体系上不同操作系统之间可移植的二进制文件格式。
4、假定开发者定义了一个二进制接口集合,ELF标准用它来支持流线型的软件发展。
5、应该减少不同执行接口的数量。
6、因此可以减少重新编程重新编译的代码。
7、编辑本段文件格式Linking View Elf headerProgram header table optionalsection1……section nsection header tableExection View Elf headerProgram header table segment 1section 2……segment header table一个ELF头在文件的开始,保存了路线图(road map),描述了该文件的组织情况。
8、sections保存着object 文件的信息稿薯颂,从连接角度看:包括指令,数据,符号表,重定位信息等等。
9、特别sections的描述会出项在以后的第一部分。
10、第二部分讨论了段和从程序的执行角度看文件。
11、 假如一个程序头表(program header table)存在,那么它告诉系统如何来创建一个进程的内存映象。
12、被用来建立进程映象(执行一个程序手谨)的文件必须要有一个程序头表(program header table);可重定位文件不需要这个头表。
13、一个section头表(section header table)包含了描述文件sections的信息。
14、每个section在这个表中有一个入口;每个入口给出了该section的名字,大小,等等信息。
15、在联接过程中的文件必须有一个section头表;其他object文件可要可不要这个section头表。
16、 注意: 虽然图显示出程序头表立刻出现在一个ELF头后,section头表跟着其他section部分出现,事实是的文件是可以不同的。
17、此外,sections和段(segments)没有特别的顺序。
18、只有ELF头(elf header)是在文件的固定位置。
㈢ linux o 文件不是ELF文件 那个怎么汇编
首先.o文件目标文件,也是ELF,.o就是汇编生成的,但是二进制文件不一定可执行
用.o生成可执行文件不叫汇编,叫链接,.o与运行所需的库进行链接最终生成可执行文件或者库。
操作的话就用gcc就好了,不同的参数执行不同的功能,比如说-o,-shared等,网上资料很多,用好gcc或者g++工具就ok
㈣ Linux下elf文件运行问题
chmod 777 wocao
./wocao
没有执行权限
㈤ linux elf文件添加启动验证
我们采用完全符合PKCS[8]系列标准的签名验证算法,并兼容所有符合X509格式的证书,以RSA[6][7]非对称密钥体制为基础来完成对ELF文件代码的签名验证。
为了便于描述,我们引入以下几个基本概念1.完全摘要值--指对ELF文件的所有数据以及签名相关数据计算出来的摘要值;2.不闷兄搜完全摘要值--指对ELF文件的一部分重要数据(主要是ELF文件头)蚂历以及签名相关数。
对ELF文件的签名是通过签名工具完成的,与操作系统核心无关,同时也尘姿和平台无关。签名过程完全遵循第二节中所描述的标准和原理。
㈥ 如何修改Linux下的ELF文件
linux很少有需要crack的软件,所以最近总是自娱自乐。自己写的软件自己破着玩但是由于都是知道自己的手段,没有什么意思。真的希望有高手们写些crackme for linux 。最近看了看windows的脱壳大致的理解了脱壳的原理,之前没有怎么接触脱壳,通常只是选择没有壳的软件看看。在linux下的壳没有找到几个。只找到了一个upx的壳,在windows下是个弱壳。实际上在linux下面也是弱壳,完全可以使用"upx -d"的命令解决问题。但我总是喜欢自己手动的。呵呵....纯属于自娱自乐。
ok,开始我们的linux的upx的脱壳之旅.........
我在选择工具的时候花了很多时间,忽然发现GDB在upx面前是那么的苍白无力...也终于知道为什么有人说GDB不适合做逆向了...虽然软件在调试器里可以正常于运行,正常下断。但是根本无法查看反汇编的代码.......。
无奈无奈....使用传说中最好的工具 IDA 为此我特地简单的学习了一下IDC脚本的使用方法...
没有什么资料可以参考,是一件很不愉快的事情,因为不知道能不能成功。不管了,一步一步来吧...
我用“upx -d“ 脱出了原来的文件,发现文件是全的,没有任何部分丢失,所以我相信这些文件会出现在进程空间的某个时间的某个角落,这个很大的坚定了我手动脱壳的信心(但是实际上到这篇文章的结尾我也没有能够在找到完整的程序文件,但我相信理论上内存空间中应该会出现完整的文件的...)。
我的加壳软件是我上次文章中用到做外挂的mines(扫雷游戏)。先找到了upx-3.03-i386_linux 软件 附件中我会给出的免的度这篇文章的人去寻找了。
对我们目标软件加壳,命令如下,的确是个好用的压缩壳软件,直接有54%的压缩律。
㈦ 打开一个乱码文件,开头字母是elf三个字母,应该是linux下的elf文件格式,谁能帮我分析下,谢谢。
elf ?
Linux 的可执行文件……
请问你是那种计算机硬件或者操作系统?
人类的话,应该是看不懂二进制程序的。
Linux 下面有 file 命令,可以帮你识别文件。
㈧ Linux系统中用什么方式可以搜索到ELF格式的文件
find . -type f -name *.elf
其中,点号.表示当前目录;-type f 表示查找的为文件。
同样,find /home -type f -name *.elf
表示在home中搜索 ,包版括子目录。
希望可权以帮助到你!
㈨ linux下运行elf的可执行文件,都调用了哪些系统调用
ELF(Executable and Linking Format)是一种对象文件的格式,用于定义不同类型的对象文件(Object files)中都放了什么东西、以及都以什么样的格式去放这些东西。它自最早在 System V 系统上出现后,被 xNIX 世界所广泛接受,作为缺省的二进制文件格式来使用。可以说,ELF是构成众多xNIX系统的基础之一,所以作为嵌入式Linux系统乃至内核驱动程序开发人员,你最好熟悉并掌握它。
其实,关于ELF这个主题,网络上已经有相当多的文章存在,但是其介绍的内容比较分散,使得初学者不太容易从中得到一个系统性的认识。为了帮助大家学习,我这里打算写一系列连贯的文章来介绍ELF以及相关的应用。这是这个系列中的第一篇文章,主要是通过不同工具的使用来熟悉ELF文件的内部结构以及相关的基本概念。后面的文章,我们会介绍很多高级的概念和应用,比方动态链接和加载,动态库的开发,C语言Main函数是被谁以及如何被调用的,ELF格式在内核中的支持,Linux内核中对ELF section的扩展使用等等。
好的,开始我们的第一篇文章。在详细进入正题之前,先给大家介绍一点ELF文件格式的参考资料。在ELF格式出来之后,TISC(Tool Interface Standard Committee)委员会定义了一套ELF标准。你可以从这里(http://refspecs.freestandards.org/elf/)找到详细的标准文档。TISC委员会前后出了两个版本,v1.1和v1.2。两个版本内容上差不多,但就可读性上来讲,我还是推荐你读 v1.2的。因为在v1.2版本中,TISC重新组织原本在v1.1版本中的内容,将它们分成为三个部分(books):
a) Book I
介绍了通用的适用于所有32位架构处理器的ELF相关内容
b) Book II
介绍了处理器特定的ELF相关内容,这里是以Intel x86 架构处理器作为例子介绍
c) Book III
介绍了操作系统特定的ELF相关内容,这里是以运行在x86上面的 UNIX System V.4 作为例子介绍
值得一说的是,虽然TISC是以x86为例子介绍ELF规范的,但是如果你是想知道非x86下面的ELF实现情况,那也可以在http://refspecs.freestandards.org/elf/中找到特定处理器相关的Supplment文档。比方ARM相关的,或者MIPS相关的等等。另外,相比较UNIX系统的另外一个分支BSD Unix,Linux系统更靠近 System V 系统。所以关于操作系统特定的ELF内容,你可以直接参考v1.2标准中的内容。
这里多说些废话:别忘了 Linus 在实现Linux的第一个版本的时候,就是看了介绍Unix内部细节的书:《The of the Unix Operating System》,得到很多启发。这本书对应的操作系统是System V 的第二个Release。这本书介绍了操作系统的很多设计观念,并且行文简单易懂。所以虽然现在的Linux也吸取了其他很多Unix变种的设计理念,但是如果你想研究学习Linux内核,那还是以看这本书作为开始为好。这本书也是我在接触Linux内核之前所看的第一本介绍操作系统的书,所以我极力向大家推荐。(在学校虽然学过操作系统原理,但学的也是很糟糕最后导致期末考试才四十来分,记忆仿佛还在昨天:))
好了,还是回来开始我们第一篇ELF主题相关的文章吧。这篇文章主要是通过使用不同的工具来分析对象文件,来使你掌握ELF文件的基本格式,以及了解相关的基本概念。你在读这篇文章的时候,希望你在电脑上已经打开了那个 v1.2 版本的ELF规范,并对照着文章内容看规范里的文字。