IDA动态调试.text .data段等无法进去 ——Command "JumpSegment" failed

先赋值权限

C:\Users>adb shell
2|root@generic:/ # cd /data/local/tmp
root@generic:/data/local/tmp # ls
as
user
user1
root@generic:/data/local/tmp # chmod 777 user
root@generic:/data/local/tmp # chmod 777 user1
root@generic:/data/local/tmp # chmod 777 as
root@generic:/data/local/tmp # ./as
IDA Android 32-bit remote debug server(ST) v1.22. Hex-Rays (c) 2004-2017
Listening on 0.0.0.0:23946...
=========================================================
[1] Accepting connection from 127.0.0.1...

转发端口:

C:\Users>adb forward tcp:23946 tcp:23946

打开IDA加载进程后不是直接进入.text而是进入.linker

linker:B6F26A40 _start
linker:B6F26A40 MOV             R0, SP
linker:B6F26A44 MOV             R1, #0
linker:B6F26A48 BLX             unk_B6F28BC0
linker:B6F26A4C MOV             PC, R0
linker:B6F26A4C ; ------------------------------------------------------

然后通过 Ctrl+s 查看所有的段,找到.text段双击会显示“_Command "JumpSegment" failed_”,后来发现其他很多的段双击都是这样

环境:

IDA6.8/7.0(试了两个版本)

ndk17-20(试了4个版本)

Android模拟器 (试了很多个不同的版本。。)


JNI里边就一个.c文件和Android.mk、Application.mk

关键代码

Android.mk

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_MODULE    := user
LOCAL_SRC_FILES := userinfo.c
include $(BUILD_EXECUTABLE)

Application.mk

APP_ABI := x86 armeabi-v7a

大概就是这样了。。。

有没有大神帮帮忙,困惑两天了。。谢谢!!!

下边附图

图片说明

++++++++++++++++++++++++++++++++

图片说明

++++++++++++++++++++++++++++++++

图片说明

++++++++++++++++++++++++++++++++

图片说明图片说明

试了很多方法了。。

不同版本的ndk编译后的user有时候还会出现“error: only position independent executables (PIE) are supported.”

这个搜到的说是AndroidServer第17个字节02修改为03、安卓换成5.0以下版本就行了(但我发现字节本来就是03,而且也根本不行。。)

求。。大神指点一下。。谢谢!


已解决。。

最后还是ndk版本问题

换为ndk-10就行了!!!

https://blog.csdn.net/weixin_38244174/article/details/83070599