hello

前言

使用IDA pro 9.0 android_server64调试程序会报错:
图片描述
图片描述

分析过程

字符串

IDA查找对应的字符串"internal error"
图片描述
最终找到调用方法interr
图片描述

frida分析

启动android_server64和frida
上frida hook interr

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function main() {   
    var moduleName = "android_server64";
    var functionName = "interr";
 
    Interceptor.attach(Module.findExportByName(moduleName, functionName), {
        onEnter: function(args) {
            console.log("Entering " + functionName);
            showNativeStack(this.context)
        },
        onLeave: function(retval) {
            console.log("Leaving " + functionName);
        }
    });
}

frida启动之后,打开ida去开启调试
图片描述
输入手机IP和端口
图片描述
然后会看到程序直接退出了,观察frida打印
图片描述
IDA跳转到0x940d0,确定当前位置就是判断的逻辑,准备nop掉
图片描述

修复android_server64

IDA获取该地址的bytes字节,拿到 ARM COVER去辅助还原
图片描述
修改前

1
1F 01 00 71 AD 00 00 54 E0 03 13 AA F3 7B 41 A9

修改后

1
1F 20 03 D5 AD 00 00 54 E0 03 13 AA F3 7B 41 A9

然后保存文件,重新push到手机,随便找个APK验证下。发现可以正常读取进程了。
图片描述
漫长等待之后,也进入了debug界面,module选择想调试的so
图片描述
图片描述
至此结束。上传一份修复好的

上传的附件 android_server64-fix

最新回复:
mb_ldbucrik 2024-08-28 17:41:43
请问,ida9.0相对旧版本有哪些提升呢
Damn7Kx 2024-08-28 17:50:25
mb_ldbucrik 请问,ida9.0相对旧版本有哪些提升呢

官方有写

bluegatar 2024-08-29 11:33:59
很好的分析,就是不知道为啥官方有这个报错
huangjw 2024-08-29 16:12:26

这个是mac版的吗, 还是通用

Damn7Kx 2024-08-29 18:52:54
huangjw 这个是mac版的吗, 还是通用
我这个ida是mac的,不知道winodws的有没有这问题
小七烤地瓜 2024-08-29 19:54:38
ida  mac版本 哪搞的  求一份
Damn7Kx 2024-08-30 17:00:43
小七烤地瓜 ida mac版本 哪搞的 求一份
之前不是泄漏了吗,一搜就能搜到
你瞒我瞒 2024-09-05 09:24:38
同样的遇到这个问题,大佬解决了真的太牛了。晚点试试。这个修复的arm版本还是Intel版本的呢?
Damn7Kx 2024-09-05 18:03:02
你瞒我瞒 同样的遇到这个问题,大佬解决了真的太牛了。晚点试试。这个修复的arm版本还是Intel版本的呢?
ida是arm的