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

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

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

否则显示错误并中断程序。我们的目的是无条件跳转到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/目录下,修改一下属性.

    推荐阅读
  • 龙利鱼疙瘩汤怎么做好吃(番茄龙利鱼疙瘩汤的做法)

    龙利鱼疙瘩汤怎么做好吃番茄龙利鱼疙瘩汤的用料:龙利鱼一条、番茄一个、金针菇一把、豆腐一块、面疙瘩、生姜、蒜、料酒、白胡椒、生抽各适量。龙利鱼切小块,加姜,生抽,料酒和白胡椒腌制10-20分钟;番茄洗干净,切小块;金针菇的炳切掉,水洗干净,撕成绺;豆腐洗净切块;蒜切成片;姜切成段;面疙瘩拿出来洗洗。锅里烧开水,把龙利鱼放入开水中煮1min捞出。然后倒入锅中大火煮开,收汁浓稠,就可以出锅了。

  • 简短走心的句子三毛(简短走心的句子三毛有什么)

    下面希望有你要的答案,我们一起来看看吧!简短走心的句子三毛在所有的道别里:“我最喜欢明天见”。年轻且优秀,颓废且积极。虽然满腹心事,但还是要活成自己喜欢的样子。要努力戒掉一切,没必要的依赖和玻璃心。没有新的故事,你才会对过去念念不忘。躲得了对酒当歌的夜,躲不了四下无人的街。

  • 香菇的各种做法大全家常(香菇的5种家常做法)

    9.把过凉水后的西兰花码在盘子底部,再把香菇放在顶部。

  • 男生游戏名字(男生游戏名字有哪些)

    下面更多详细答案一起来看看吧!男生游戏名字裤衩里有个播种机う倘若我们爱彼此多好″。在你身后的我以伤痕累累待我长发及腰因为看清二度被害ERDUBEHA▲时光荏苒,故事依旧抱愧,n不配破晓浮世如昨仰天饮寂寞我ミ是你的港湾ミ一个不需要爱情的女人咕噜咕噜咕噜……笙歌乱心肯定静电不少此用户下落不明匆匆流年。伪装→好累陌伤ぢ

  • 拐骗儿童罪如何判刑的?(拐骗儿童罪怎么判)

    构成拐卖儿童罪的,处五年以上十年以下有期徒刑,并处罚金。拐卖妇女儿童罪的客体是妇女儿童的人身权利不被买卖的权利,而拐骗儿童罪的客体儿童的人身权利不被侵犯。拐骗儿童罪有两种处罚意见,要按照实际的涉案情节决定。拐卖儿童罪和拐骗儿童罪的法律概念不同,犯罪行为的表现形式不同,犯罪行为所产生的社会危害性不同,前者是以出卖为目的实施的犯罪行为,而后者是使用非法手段,使儿童脱离家庭或监护人。

  • 皮蛋瘦肉粥怎么做好吃窍门 广东皮蛋瘦肉粥怎么做好吃窍门

    第二个皮蛋在关火前半小时加入粥中,半小时可将第二个皮蛋煮得既没石灰味,同时又变软滑,吃粥时也能吃到有皮蛋,而肉因为是水沸时下的,还保持了一定鲜味,撕成丝后放回粥中,特别好吃。这样煮出来的粥不必下盐,好味,而且下火,容易消化。如果粥有点粘底,请千万不要用勺子扒拉锅底的粘皮,要不粥会有糊味,阿拉通常会放一个轻的小调羹在锅底与粥同煮,水沸腾过程中,小调羹也被带动,可以防止粥煮粘底。

  • 经常游泳有什么好处和坏处(常游泳有哪些好处)

    这种情况下游泳,游泳池中的细菌有可能侵入阴道,使得病情进一步恶化,增加治疗难度。

  • 雪中悍刀行主角什么时候修行(雪中悍刀行主角修行时间介绍)

    雪中悍刀行主角什么时候修行雪中悍刀行主角大姐死的时候开始修行的。《雪中悍刀行》是连载于纵横中文网的一部玄侠类小说,并于2013年由江苏文艺出版社出版成实体书,作者是烽火戏诸侯。该小说讲述一个关于庙堂权争与刀剑交错的时代,一个暗潮涌动粉墨登场的江湖。荣获首届网络文学双年奖之银奖作品。大人物小人物,是珠子,大故事小故事,是串线。情义二字,则是那些珠子的精气神。最终章将以那一声“小二上酒”结尾。

  • 电磁阀工作原理和讲解(电磁阀基础知识)

    并需通电数次,使之适温后方可正式投入使用;9)电磁阀安装前应彻底清洗管道。阀前装过滤器;10)当电磁阀发生故障或清洗时,为保证系统继续运行,应安装旁路装置。有可能造成无法作动或误动作。

  • 松茸鸡汤怎么炖好喝又营养(松茸鸡汤怎么炖好喝又营养窍门)

    如果是新鲜松茸的话,因为其质地娇嫩,含有较多的营养成分,所以在炖松茸鸡汤的时候需要等鸡肉炖熟之后再放入松茸,这样不仅能够更好地保留松茸的营养成分,而且也能使松茸吃起来更加鲜美。松茸鸡汤放多少松茸视鸡肉的量来决定。而且松茸鸡汤的味道十分鲜美,食用后还能提高食欲,因此也有助于提高孕妇的体质以及促进胎儿的生长和发育。