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

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/目录下,修改一下属性.

    推荐阅读
  • 2022泰安高考考几天(2020年泰安高考时间)

    (一)国家统一高考国家统一高考科目使用全国统一命题试卷,考试时间安排在6月7日全天和6月8日下午,其中语文考试时间为150分钟,数学考试时间为120分钟,外语(笔试)考试时间为100分钟。外语(听力)考试安排在1月8日上午,连续组织两次,每次考试时长约20分钟,考试成绩取两次中的高分计入外语科目成绩。考试时间安排在6月9日—10日,每科考试时间为90分钟。

  • 企业erp软件费用(ERP软件价格)

    就算同品牌ERP,也有不同的产品线。也不需要自己部署本地服务器,也不需要有ERP企业管理系统的维护员,在使用过程中有任何问题直接找开发商售后人员即可。

  • 西门子plant simulation(西门子TeamcenterPLM功能简介)

    西门子plantsimulation西门子TeamcenterPLM功能简介作为PLM系统来讲,国际应用较广的主要有西门子Teamcenter、PTC的windchill,国内的话,主要是武汉开目的PLM、用友PDM等软件。这里需要重视的是替代料的维护,替代料维护需要谨慎。

  • 著的拼音(著怎么读)

    我们一起去了解并探讨一下这个问题吧!著的拼音著的拼音为:zhù、zhuó、zhe。写作出来的书或文章。古同“贮”,居积。著zhuó附着,穿着。著zhe助词,表示动作,状态的持续。

  • 干海带结怎么做(干海带结做汤的方法)

    接下来我们就一起去研究一下吧!干海带结怎么做食材:排骨200g,黄豆35g,干海带结25g,姜适量,盐适量。分别用清水浸泡黄豆和海带,夏季黄豆泡发时间约为5~6个小时,海带约为2~3小时,冬季建议提前一泡发黄豆。清洗海带,用手搓揉,如同手洗衣物,可将海带上的沙尘和杂质洗去。将排骨焯水后捞起。所有处理好的食材均倒入高压锅内胆里,装盖满食材的清水。加少许盐,关上电压力锅盖,插电30分钟即可。

  • 北京最好的夜店在哪里(北京十大夜店消费介绍)

    啤酒30元一杯,小卡的最低消费是580包括一瓶十二年芝华士的套餐。有电子和hip-hop两个大厅是BABYFACE的典型布局。消费情况:周五周六50元一位,其他时间女士免费,卡座一般在1000元以上。另一个值得称赞的是CARGO的服务态度和很有质量的美女得到广大顾客的好评。它独特的外墙、电子厅、VIP卡座炫酷又魅惑,固定时间的说唱表演能引发强烈的回应。

  • 送女生口红代表什么(送女生口红代表含义解析)

    送女生口红代表什么希望你的漂亮有他的功劳。虽说口红是给女朋友买的,但是最后不但能跟女朋友有亲密的接触,还能讨她欢心,可谓是一举两得。男人想“泡”你,所以才会送你口红。一个男人如果随便送你只口红,而且口红的色号,还不是你喜欢的类型,那么只能说明他想“泡”你。男人送给女人口红是有讲究的,如果他真的爱你,就会送你一款你喜欢的款式以及色号,对于这些信息,只要男人想知道,那么他肯定就能知道。

  • 隐形眼镜注意卫生可不可以天天戴(一天可以佩戴多久)

    隐形眼镜,也叫角膜接触镜,是一种戴在眼球角膜上,用以矫正视力或保护眼睛的镜片。根据材料的软硬它包括硬性、半硬性、软性三种。隐形眼镜不仅从外观上和方便性方面给近视、远视、散光等屈光不正患者带来了很大的改善。而且视野宽阔、视物逼真,此外在控制青少年近视、散光发展,治疗特殊的眼病等方面也发挥了特殊的功效。

  • 夏天可以种百合球秋天会开花吗(春天种百合正是好季节)

    夏天可以种百合球秋天会开花吗?它可以在春天种植,也可以在秋天种植,直接买百合的种球就可以,但是在养护的过程中,有很多朋友会出现一些问题,如何种植养护百合呢?栽种百合底部垫上一层土,可以适当地加点有机肥,比如用发酵好的干羊粪就是不错的。百合的花期一般是一周左右,开花后可以在花盆中观赏,也可以剪下来送人,自己种植的百合,送人感觉就是不一样。

  • 红酒怎么开(开红酒的方法)

    我们一起去了解并探讨一下这个问题吧!方法二:用刀平稳的对准瓶塞中间用力往下按,边拧边往外拉,这样就瓶塞就会跟着出来了,等瓶塞出来一大半时,用手拔出即可。