如何反编译IMG(内核)文件?

作者&投稿:乜炎 (若有异议请与网页底部的电邮联系)
如何反编译IMG(内核)文件?~

IDA pro,不要用默认的加载方法,手动分析。

这几乎是不可能的。IMG文件是?通常这么底层的编译语言都没有很好的反编译工具,因为太灵活了。

先介绍一下编译核心的选项,希望能对大家消除对内核的神秘感有所帮助。 1.代码成熟等级 2..处理器类型和特色 3.对模块的支持 4.基本的选择 5.即插即用支持 6.块设备支持 7.网络选项 8.电话支持 9.SCSI设备的支持 10.I2O接口适配器 11.网络设备支持 12.配置业余无线广播 13.红外支持 14.ISDN的文件系统 15.旧型的光驱类型(非IDE界面的光驱) 16.字符设备 17.USB支持 18.文件系统 19.控制台驱动 20.声卡驱动 21.Kernel hacking 第二节 内核版本 由于Linux的源程序是完全公开的,任何人只要遵循GPL,就可以对内核加以修改并发布 给他人使用。Linux的开发采用的是集市模型(bazaar,与cathedral--教堂模型--对应 ),为了确保这些无序的开发过程能够有序地进行,Linux采用了双树系统。一个树是稳 定树(stable tree),另一个树是非稳定树(unstable tree)或者开发树(developm ent tree)。一些新特性、实验性改进等都将首先在开发树中进行。如果在开发树中所 做的改进也可以应用于稳定树,那么在开发树中经过测试以后,在稳定树中将进行相同 的改进。一旦开发树经过了足够的发展,开发树就会成为新的稳定树。开发数就体现在 源程序的版本号中;源程序版本号的形式为x.y.z:对于稳定树来说,y是偶数;对于开 发树来说,y比相应的稳定树大一(因此,是奇数)。确定是以″ root ″的身份签入, 然后cd 到 /usr/src 。uname -r 这个指令将会显示版本。内核版本的更新可以访问<h ttp://www.kernel.org/>。第三节 编译原因 Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。新的内核修订了 旧内核的bug,并增加了许多新的特性。如果用户想要使用这些新特性,或想根据自己的 系统度身定制一个更高效,更稳定的内核,就需要重新编译内核。 通常,更新的内核会支持更多的硬件,具备更好的进程管理能力,运行速度更快、更稳 定,并且一般会修复老版本中发现的许多漏洞等,经常性地选择升级更新的系统内核是 Linux使用者的必要操作内容。 为了正确的合理地设置内核编译配置选项,从而只编译系统需要的功能的代码,一般主 要有下面四个考虑: ---自己定制编译的内核运行更快(具有更少的代码) ---系统将拥有更多的内存(内核部分将不会被交换到虚拟内存中) ---不需要的功能编译进入内核可能会增加被系统攻击者利用的漏洞 ---将某种功能编译为模块方式会比编译到内核内的方式速度要慢一些 以上是针对成熟的Linux套件如Redhat Linux而言,我的目的是为建造嵌入式Linux操作系 统做准备,也是必由之路。 第四节 准备工作 第一部分 新版本内核的获取和更新 Linux内核版本发布的官方网站是< http://www.kernel.org/>,国内各大ftp上一般都可以找到某些版本的内核。新版本的内核的发布有两种形式,一种是完整的内核版本,另 外一种是patch文件,即补丁。完整的内核版本比较大,比如linux-2.4.0-test8.tar.b z2就有18M之多。完整内核版本一般是.tar.gz(.tgz)文件或者是.bz2文件,二者分别 是使用gzip或者bzip2进行压缩的文件,使用时需要解压缩。patch文件则比较小,一般 只有几十K到几百K,极少的会超过1M。但是patch文件是针对于特定的版本的,需要找到 自己对应的版本才能使用。 编译内核需要root权限。把需要升级的内 拷贝到/usr/src/下(下文中以2.2.16的内核 的linux-2.2.16tar.gz为例),命令为 #cp linux-2.2.16tar.gz /usr/src 先查看当前/usr/src的内容,注意到有一个linux的符号链接,它指向一个类似于linux -2.2.14(对应于现在使用的内核版本号)的目录。首先删除这个链接: #cd /usr/src #rm -f linux 现在解压下载的源程序文件。如果所下载的是.tar.gz(.tgz)文件,使用命令: #tar -xzvf linux-2.2.16tar.gz 如果下载的是.bz2文件,例如linux-2.2.16tar.bz2,使用命令 #bzip2 -d linux-2.2.16tar.bz2 #tar -xvf linux-2.2.16tar 现在再来看一下/usr/src下的内容,发现现在有了一个名为linux的目录,里面就是需要 升级到的版本的内核的源程序。还记得那个名为linux的链接么?之所以使用那个链接就 是防止在升级内核的时候会不慎把原来版本内核的源程序给覆盖掉了。现在也需要同样 处理: #mv linux linux-2.2.16 #ln -s linux-2.2.16 linux 如果还下载了patch文件,比如patch-2.2.16,就可以进行patch操作(下面假设patch- 2.2.16已经位于/usr/src目录下了,否则需要先把该文件拷贝到/usr/src下): #patch -p0 < patch-2.2.16 第二部分 准备主机板和相关硬件的说明手册 其实也不用太详细,只要知道您的硬件是属于哪一类型就行了。例如:有一张SCSI卡, 那就要知道这张卡的名字,有一台cd-rom,就要知道这台光驱是哪一种牌子的,是否为标 准的IDE/ATAPI界面,还是另有专属接口卡呢?或者,主机版是否有支持Triton芯片(通 常586以上的电脑常有),这些信息能帮助我们,使得设定变得清楚且容易。 因此,不管您有什么使用手册,准备好吧。即使现在不用,将来还是会用到的(设X-w indow system时要显示卡的手册)。 第三部分 检查声卡的IRQ设定和其种类 如果配有一张声卡,除了要知道卡的种类外(例如 Sound Blaster)还需要知道这张卡 的IRQ地址。一般来说,卢卡的IRQ地址是5或7而IO地址则为220。DMA则l,不过,有时不 同的声卡可能会有不同的设定。因为稍后的选项里,就会要填入这些数字。 第四部分 编译核心的硬件需求 在编译核心时,确定您的RAM最好在8MB以上, 否则可能会很慢而且问题会很多,记得查 看swap有没有打开(用free指令)。此外,最好不要超频,不然很有可能会发生signal 11的错误,使得编到一半的核心停了下来,其实编译核心就好比编译程序一样,只是因 为构成核心的程序太多了,因此我们能小心尽量小心。

IDA pro,不要用默认的加载方法,手动分析


一文搞懂Linux内核内存管理中的KASAN实现原理
更具体地,KASAN通过struct kasan_global结构体来管理全局变量,如smc_num1、smc_num2和smc_num3。反编译System.map和vmlinux.txt,我们发现每个全局变量都有对应的构造函数,如smc_num1的构造函数地址为ffff200009381df0,初始化过程由__asan_register_globals()执行。总结来说,KASAN通过编译器的智能...

你好能帮我解密一下这个文件吗? 万分感谢
这个文件不是文本格式,你粘贴的内容是无法翻译的。这个其实是ZEND“编译”了的,有“反编译”的工具可以下载,在百度里面能搜索到,但都是有版本限制的,碰碰运气吧。

如何从手机里提取ROM包?还有一些问题看你们答的情况再问,悬赏慢慢来...
6文件——打开——选择system.img——打开(需要选择所有文件才能显示出来)7.右边就出现你要的东西了,需要那个apk就右击选择提取到…你也可以整个文件夹提取,提取单个apk时不要忘了把同名odex文件也提取,不然那apk没用的 反编译系统文件,前提是被编译的apk必须没被修改过,这样才可以回编.包括的...

如何用手机修改ROM,需要什么软件(详细)多谢,本人是新手。
里面部分是在System 文件夹内,所以主要修改System文件夹即可。修改System 文件夹操作,多数人只是修改apk包。apk文件夹内里面所有apk包都是系统应用(原本Root后才可以删的应用),可以删除小部分,同样也可以反编译这些包,以修改。也可以修改代码,需要java代码编辑器。封包时再压缩即可。实际上,android ...

详解SEAndroid 以及 Hack 其规则(sepolicy)
这个机制相当于一个白名单,这个白名单上配置了所有进程的权限,进程只能做白名单上权限内的事情,一旦它...直接更改sepolicy是不行的,因为sepolicy在boot.img里面,每次开机都会重写读取sepolicy这个文件,无法更改...2.sesearch:反编译sepolicy 3.seinfo: 查看sepolicy版本 修改sepolicy的命令:push到手机上 直接输入...

破解软件是犯法的吗?
(四)在他人软件上署名或者更改他人软件上的署名的;(五)未经软件著作权人许可,修改、翻译其软件的;(六)其他侵犯软件著作权的行为。\/iknow-pic.cdn.bcebos.com\/562c11dfa9ec8a13d7f50a9ff903918fa1ecc0e6"target="_blank"title="点击查看大图"class="ikqb_img_alink">\/iknow-pic.cdn.bcebos...

如何修改exe程序?
一、exe文件信息一般不能直接更改,因为是编译好的,并且一般都加了壳。二、想改的话,得用脱壳了。不同的文件有可能用了不同的软件加了壳。三、用各类脱壳工具测试并脱壳后,再反编译,有可能得到相关文件信息并更改。四、加壳软件最常见的加壳软件ASPACK ,UPX,PEcompact 不常用的加壳软件WWPACK32...

android怎么动态调试dex
由于一般软件发布时都会把android:debuggable设置为false,所以要达成条件1需要反编译原apk,修改AndroidManifest.xml并进行重新打包,这样不仅麻烦,而且很多软件进行了加固,要破解很难。所以想办法满足第2个条件是个一劳永逸的办法。由于default.prop是保存在boot.img的ramdisk中,这部分每次重新启动都会重新...

怎么把android的apk 应用程序打包到userdata.img镜像当中去
主要分以下几步1、生成ant打包所需的配置文件2、生成应用签名的keystore,对apk签名3、编写混淆文件,混淆代码,防止反编译第一步,生成ant打包的配置文件在项目根目录下执行指令:androidupdateproject—path.

EasyCHMCHM电子书制作工具V393578官方最新版EasyCHMCHM电子书制作工具V...
1、在我们最初创建的文件夹处创建img 文件 2、将图片添加到img文件夹中 3、将我们需要的图片添加到我们所要显示的位置中,路径一定要正确不然图片不会正常显示的 【chm文件无法找到解决方法】1、在出现。chm文件出现打不开的问题,本人搜索了许多,最终没有解决,最后,使用easy chm 软件,反编译,再...

凌河区17014706506: 如何从rom中提取内核做成内核刷机包 -
卓欣转移: 操作方法: 1、 下载bootimg.exe 放到D盘. 2、 把要提取的ROM包里的boot.img提取出来 放到bootimg文件夹目录. 3、 运行cmd系统命令,进入D: bootimg目录(D盘的话 先d: 然后再cd bootimg),接着输入bootimg --unpack-bootimg. 解...

凌河区17014706506: 编译linux内核如何编译initrd.img -
卓欣转移: ubuntu/disks kernel /boot/vmlinuz-2.6.27-2-generic root=UUID=40586D90586D860E loop=/ubuntu/disks/root.disk ro quiet splash initrd /boot/initrd.img-2.6.27-2-generic 注意:两个内核文件都可以在/boot目录下看到,我猜是:/boot/vmlinuz-2.6.27-2-generic和/boot/initrd.img-2.6.27-2-generic 如果不是,改成正确的名字.错了也没关系啊,一个内核进不去,重启之后从另一个内核进去不就行了.

凌河区17014706506: img文件是什么?怎么用这种文件刷机?和普通刷机方法一样吗?和zip刷机文件有什么不同? -
卓欣转移: 无任何不同.只要你的刷机软件支持就行了.这种IMG的文件一般是刷第三方REC的,

凌河区17014706506: 如何反编译任意文件 -
卓欣转移: 一般来说反编译都是针对已知类型,例如exe之类的.而且世上没有纯粹的新类型文件,都是某人做出来的,不会无缘无故跳出来一个新文件类型.这文件也必然是有源代码,有编译器.如果你没见过这个类型,可以去网上找找,只要找到类型,就有反编译的可能.不过不同类型区别很大.比如vb5.0和6.0只能看到窗体,而c#就可以看到源码.对未知类型来说,可用ultraedit打开,查看文件头信息,基本可以确定这是一个什么样的文件.

凌河区17014706506: 内核boot.img怎么去效验 -
卓欣转移: 你好,我在贴吧看到你提的同样问题,很高兴为你解答;就是boot.img啊手机关机然后按音量上键然后连数据线.再把下好的内核放到《一键刷入内核》的文件夹了再点那个《双击刷boot》么希望我的回答对你的问题有帮助.不明白的继续问我,如果可以请采纳,非常感谢.满意请采纳,谢谢.

凌河区17014706506: C语言写的程序 怎么反汇编成汇编语言 -
卓欣转移: 静态反汇编的话最好的工具是IDA Pro 反汇编动态调试的话,目前比较强的是OllyDBG 不过OllyDBG只适用于32位并且工作在ring3层的PE程序 据OD官网说64位版的OllyDBG正在开发中,但不知何年何月了…… ring0层的驱动程序需要调试的话 可以用WinDBG双机互联进行调试 也可以用SoftICE进行本地内核调试 不过SoftICE不更新了,最新版是集成在DriverStudio中的,XP以上的系统未必能正常运行 而且只支持单核CPU……双核想用的话必须手动停掉一个内核……

凌河区17014706506: 如何解压编译好的img文件 -
卓欣转移: 在很多刷机包中都会有boot.img文件,那么这个文件到底是什么呢?其实它由两部分组成,分别为kernel 和ramdisk.kernel 也就是内核,由源代码编译而成.ramdisk是一个gz压缩包,解压后有一些文件和文件夹,里面是一些图片或者配置文件...

凌河区17014706506: Linux的内核代码如何编译 -
卓欣转移: 1、安装内核 如果内核已经安装(/usr/src/目录有linux子目录),跳过 如果没有安装,在光驱中放入linux安装光盘,找到kernel-source-2.xx.xx.rpm文件(xx代表数字,表示内核的版本号),比如RedHat linux的RPMS目录是/RedHat/RPMS/目录,...

凌河区17014706506: 怎么对官方内核boot.img解包打包 -
卓欣转移: 二进制修改,粉简单.winhex打开boot.img,查找FFFFFFFF,找到一大块,剪掉,保存.然后用bootimg.exe解压,记住屏幕上显示的参数,出来kernel和ramdisk文件.winhex打开ramdisk,开头的一块FFFFFFFF剪掉,保存.好了,WINZIP解压ramdisk,解到底,出来很多文件,解出default.prop.修改default.prop,数字改成相反的,保存,拖进去覆盖.然后添加FFFFFFFF,保存,用bootimg.exe按参数打包kernel和ramdisk文件成boot.img 再添加FFFFFFFF,成功.

凌河区17014706506: 求助如何修改img格式的刷机包 -
卓欣转移: 你确定img是完整刷机包而不是单单一个内核文件?img一般都是ROM的内核 而REC可以刷入的ROM基本都是ZIP格式 你要确定你下载的ROM是否完全正确 稍有差池就可能变砖 部分品牌手机需要先线刷img内核再刷入ZIP 你的刷机步骤是否正确 或者你去机型对应的论坛查找相关资源教程 论坛比知道要专业的多 回答不容易,希望能帮到您,满意请帮忙采纳一下,谢谢 !

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网