科百科
当前位置: 首页 范文大全

ida智能译码终端作用(flashimage刷机及PIE)

时间:2023-08-22 作者: 小编 阅读量: 1 栏目名: 范文大全

否则显示错误并中断程序。我们的目的是无条件跳转到loc_2F60处继续执行,用“B”汇编指令替换“BEQ”。

前 提

有root权限

打开手机的USB调式模式

bootloader模式下用fastboot刷机经常不成功

C:\tmp\fastboot>adb reboot bootloaderC:\tmp\fastboot>fastboot flash boot C:\tmp\gionee-f103_SV16\boot.imgSending 'boot' (7004 KB)OKAY [0.689s]Writing 'boot'FAILED (remote: 'download for partition 'boot' is not allowed')fastboot: error: Command failed

此时可用flash_image命令刷入试试(成功率低)。

将flash_image和将要刷入的boot.img传到手机sdcard目录下:

c:\tmp\fastboot>adb push c:/tmp/fastboot/flash_image11 /sdcard/flash_imagec:/tmp/fastboot/flash_image11: 1 file pushed. 0.2 MB/s (26172 bytes in 0.133s)C:\tmp\fastboot>adb push C:\tmp\gionee-f103_SV16\boot.img /sdcardC:\tmp\gionee-f103_SV16\boot.img: 1 fil...hed. 5.6 MB/s (7172096 bytes in 1.220s)

移动flash_image到/system/bin,改变属性和用户组:

1|root@GiONEE_GBL7319:/ # mount -rw -o remount /systemroot@GiONEE_GBL7319:/sdcard # mv flash_image /system/bin/root@GiONEE_GBL7319:/sdcard # chmod 755 /system/bin/flash_imageroot@GiONEE_GBL7319:/sdcard # chown root.shell /system/bin/flash_imageroot@GiONEE_GBL7319:/sdcard # ls -l /system/bin/fla*-rwxr-xr-x rootshell26172 2022-02-23 15:00 flash_image-rwxr-xr-x rootshell13968 2022-02-22 22:43 flash_image22

手机正常开机状态下刷机:

255|root@GiONEE_GBL7319:/sdcard # flash_image boot boot.img刷recovery用:255|root@GiONEE_GBL7319:/sdcard # flash_image recovery recovery.img


flash_image刷机时会遇到问题

only position independent executables (PIE) are supported

root@GiONEE_GBL7319:/sdcard # flash_image boot boot.imgerror: only position independent executables (PIE) are supported.

解决方法

将/system/bin/linker从手机里下载到电脑:

C:\tmp\fastboot>adb pull /system/bin/linker c:/tmp//system/bin/linker: 1 file pulled. 5.2 MB/s (86664 bytes in 0.016s)

下载、安装、打开IDA反汇编软件,打开linker - 右键 - 选择“Text View” :

点击 “Text search” - 输入问题描述:

鼠标放在方框位置时会提示调用处的相关汇编命令:

相关内容上双击或右键 - 选择“Jump to Operand” 会跳到调用处:

触发错误信息的相关命令:

先了解几个汇编命令

  • CMP: 比较是否相等,相等时置Z标志为0
  • B: 无条件跳转到它后面的标签
  • BL: 无条件跳转到它后面的标签,跳转前将PC存入R14
  • BNE: Z标志位不等于0时,跳转到它后面的标签处
  • BEQ: Z标志位等于0时,跳转到它后面的标签处
  • BNE.W: W:word,指操作数大小2个字节,B:byte,一个字节,L:long,4个字节
  • NOP: 空指令(机器码0X00BF)
  • CBNZ Rn, label : Rn非零时跳转
  • CBZ Rn, label : Rn为零时跳转

.text:00002F4CCMPR2, #3.text:00002F4EBEQloc_2F60.text:00002F50LDRR1, =(aErrorOnlyPosit - 0x2F58) ; "error: only position independent execut"....text:00002F52MOVSR0, #2.text:00002F54ADDR1, PC; "error: only position independent execut"....text:00002F56BL__dl___libc_format_fd.text:00002F5AMOVR0, R5.text:00002F5C.text:00002F5C loc_2F5C; CODE XREF: __dl___linker_init 230↑j.text:00002F5CBL__dl_exit.text:00002F60.text:00002F60 loc_2F60; CODE XREF: __dl___linker_init 38E↑j.text:00002F60LDRR1, =(asc_96C7 - 0x2F6C) ; ":".text:00002F62MOVR0, R10.text:00002F64LDRR2, =(__dl__ZL18g_ld_library_paths - 0x2F6E)

上面第1行:命令 CMP R2, #3

  • 地址是:0X00002F4C
  • 意思:比较寄存器R2与数字3的大小

上面第2行:命令 BEQ loc_2F60

  • 地址:00002F4E
  • loc_2F60是下面第12行的标签,地址为0X00002F60
  • 意思:第1行比较结果相等则跳转到标签loc_2F60处继续执行。否则显示错误并中断程序。

我们的目的是无条件跳转到loc_2F60处继续执行,用“B”汇编指令替换“BEQ”。

鼠标点到BEQ上,然后切换到“Hex View - 1" :

将07D0修改为07E0: “E”是跳转指令“B”的机器码编码格式的第28-31位

右击 - 选择“Edit...”:

右击 - 选择“Apply chages”:

Edit - Patch program - Apply Patches to input file... :

修改保存后再上传linker到手机的/system/bin/目录下,修改一下属性.

    推荐阅读
  • 狼爪户外官方旗舰店直播 北京(德户外品牌狼爪入驻拍拍微店)

    为了配合上线还将在开业之初推出高力度的促销活动吸引消费者。据了解,JackWolfskin进入中国市场很早,目前除德国本土外,中国已成为JackWolfskin全球第二大市场。入华以来先后入驻了京东、天猫等电商平台。去年12月,JackWolfskin收回其中国区代理商TristateHoldings联亚集团的中国代理权,其中包括JackWolfskin特许分销权及T恤/Polo恤特许权。该品牌在全球拥有4000多家直营门店以及600余家JackWolfskin特许加盟店。

  • 马自达cx7正时怎么对(马自达cx7正时校对方法)

    正时点一共4处,2个凸轮轴,曲轴,曲轴皮带轮。深入机体内的长度大概是50mm,直径8mm。曲轴皮带轮:有一个正时孔,向上,用M6的螺栓拧到前时规盖上。装曲轴大帽时,最好用工具正住曲轴和曲轴皮带轮,那个M6的螺栓是不能受力的。这时最后一步,前面要先把两个凸轮轴固定完。

  • 护肝食物(护肝食物有哪些)

    护肝食物燕麦燕麦中富含膳食纤维,可以帮助肝脏发挥出最大的作用。有充分的研究表明,常吃燕麦这类纤维丰富的食物可以有效避免腹部脂肪堆积,预防肝脏疾病。西兰花多吃蔬菜对保护肝脏有很大的帮助,西兰花是其中的佼佼者。杏仁坚果类食物通常都含有丰富的不饱和脂肪酸,它们对心脏有益;以及维生素E这类抗氧化剂,对提高人体的免疫力有帮助。菠菜绿叶蔬菜中都有一种强大的抗氧化剂,称为谷胱甘肽,是肝脏在解毒时的重要伙伴。

  • 川芎怎么读(川芎的读音)

    我们一起去了解并探讨一下这个问题吧!川芎怎么读川芎的读音是chuānxiōng。川芎,栽培植物,主产于四川(灌县),在云南、贵州、广西等地,生长于温和的气候环境。是一种中药植物,常用于活血行气,祛风止痛,川芎辛温香燥,走而不守,既能行散,上行可达巅顶;又入血分,下行可达血海。活血祛瘀作用广泛,适宜瘀血阻滞各种病症;可治头风头痛、风湿痹痛等症。昔人谓川芎为血中之气药,殆言其寓辛散、解郁、通达、止痛等功能。

  • 立夏为什么要吃咸鸭蛋(立夏为什么要吃咸鸭蛋)

    在这些时鲜货里,既有苋菜、蚕豆等天然食品,也有加工而成的咸蛋和酒酿。此外,开春后的鸭,所产的蛋是品质最好,乃是制作咸蛋的上佳材料。盐与水的比例,以鸭蛋浮出水面为好。最后,将坛甏口密封,一月后开坛食用。于是,决定在北方腌咸蛋,同时改写南橘北枳之历史。

  • 驾考取消预约有影响吗 考驾照考试预约取消有什么影响

    对考试没有任何影响,只要在考试前一天取消约考就可以,但要注意一点,每一个科目,只有三次取消约考的机会,超出了这个次数,无法取消约考,约考不去会被判定为不及格。在约考的时候,一定要安排好时间,最好是可以把当天全部时间完全空出,这样才能够有一个好的心态来进行考试,否则对于考试来说是有着很大的影响。在考试当中,科目二当天有一次补考机会,依旧不合格的话,需要间隔七到十天左右,才能够进行第二次。

  • 跟三国时期有关的成语故事(三国成语故事吴下阿蒙)

    后鲁肃上代周瑜,过蒙言议,常欲受屈。鲁肃继任周瑜的职务后,曾经听取了吕蒙的意见和建议。当与吕蒙的看法产生分歧并进行辩论时,就因说不过吕蒙而服输。这也是由鲁肃所首创的一句成语。吕蒙早年从军,是东吴军队冉冉升起的一颗新星。不过,除了作战勇猛之外,吕蒙也有其致命的缺陷,那就是欠缺文化知识,是个一勇之夫。孙权也看出了吕蒙的这个弱点,便鼓励吕蒙认真读书。

  • 梨子和金桔煮水喝有什么功效(梨子和金桔煮水喝的功效)

    接下来我们就一起去研究一下吧!梨子和金桔煮水喝有什么功效有止渴化痰、润肺生津、健胃消食等作用。

  • 雷凌和缤智怎么选(缤智和雷凌哪个更实用)

    两款车都使用三辐式方向盘,但细节设计上有所不同。雷凌好还是英朗好雷凌和英朗在营造车内氛围方面有着直接的科技感。在雷凌进入车内时,科技版搭配大尺寸中控屏,内容显示相当清晰,响应也比较流畅。英朗配备了小中控屏,但是界面真的很差。至于仪表盘的使用,雷凌由7英寸的液晶屏和机械指针组成,视觉效果相当酷炫,功能丰富。用英朗的话说,仪表盘没有亮点,只是普通的设计。

  • 绿豆怎么剥皮比较快(怎样更简单地将绿豆去皮)

    以下内容希望对你有帮助!绿豆怎么剥皮比较快把绿豆放入凉水中浸一夜。将泡好的绿豆倒入盆中,加入适量清水,盖过绿豆的表面即可。用手在水中轻轻揉搓绿豆,再带着绿豆在水中搅动,直到绿豆的慢慢浮出水面。之后用手在水中慢慢搅动,绿豆皮就能跟着水流动的水波被搅出。最后一直重复第3步和第4步的动作,就能去掉绿豆皮了。