首页
社区
课程
招聘
未解决 [求助]ios逆向。ida中的问题。希望大佬救救
发表于: 2024-6-5 18:15 2309

未解决 [求助]ios逆向。ida中的问题。希望大佬救救

2024-6-5 18:15
2309

v19 = objc_retainAutoreleasedReturnValue(objc_msgSend(&OBJC_CLASS___NSNumber, "numberWithUnsignedInt:", objc_msgSend(v14, "key")));

有这样一段代码。 首先,通过 objc_msgSend(v14, "key") 调用 v14 对象的 key 方法,获取一个无符号整数值。
然后,使用 objc_msgSend 调用 NSNumber 类的 numberWithUnsignedInt: 方法,将上一步获取的无符号整数值作为参数传入,创建一个 NSNumber 对象。

也就是说 v19 是一个NSNumber对象。

ida中v19 在 x24寄存器中。 截图如下

这个x24处 并非是一个标准的内存地址。希望大佬帮忙指点一下。这是什么东西。
MEMORY:AAAE9D759F23723D % 1
MEMORY:AAAE9D759F23723E % 1
MEMORY:AAAE9D759F23723F % 1
MEMORY:AAAE9D759F237240 % 1
MEMORY:AAAE9D759F237241 % 1
MEMORY:AAAE9D759F237242 % 1
MEMORY:AAAE9D759F237243 % 1
MEMORY:AAAE9D759F237244 % 1
MEMORY:AAAE9D759F237245 % 1
MEMORY:AAAE9D759F237246 % 1
MEMORY:AAAE9D759F237247 % 1
MEMORY:AAAE9D759F237248 % 1
MEMORY:AAAE9D759F237249 % 1
MEMORY:AAAE9D759F23724A % 1
MEMORY:AAAE9D759F23724B % 1

希望大佬给指点迷津。。。。。。。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 3216
活跃值: (3986)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
2
pac 了解下
2024-6-5 18:21
0
雪    币: 100
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
小调调 pac 了解下
大侠 能展开说说吗
2024-6-5 19:17
0
雪    币: 1270
活跃值: (3079)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
根据2楼大佬给的关键字 找到的文章不知道是否正确
9b5K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6K6k6h3q4F1j5$3S2W2L8Y4y4W2i4K6u0W2k6$3W2@1K9s2g2T1i4K6u0W2K9h3!0Q4x3V1j5J5x3o6p5&6i4K6u0r3x3e0m8Q4x3V1j5H3x3g2)9J5c8Y4m8G2K9h3&6@1k6i4u0Q4x3X3c8S2N6i4c8Z5k6h3&6@1K9h3y4S2N6r3W2G2L8W2)9J5c8R3`.`.
2024-6-6 09:04
0
雪    币: 3216
活跃值: (3986)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
5
  • Similarly, function pointers created manually (e.g. by using a direct offset + slide) cannot be called directly either.
  • Trying to access the contents of a signed function pointer is no longer possible, you will segfault.
  • You can use the following header to convert between PACed and non-PACed pointers. It just wraps the intrinsics so your code will still compile if the toolchain doesn't understand arm64e yet.
  • If you encounter an issue you believe is caused by our version of Substitute, let us know.
#ifndef PTRAUTH_HELPERS_H
#define PTRAUTH_HELPERS_H
// Helpers for PAC archs.

// If the compiler understands __arm64e__, assume it's paired with an SDK that has
// ptrauth.h. Otherwise, it'll probably error if we try to include it so don't.
#if __arm64e__
#include <ptrauth.h>
#endif

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-function"

// Given a pointer to instructions, sign it so you can call it like a normal fptr.
static void *make_sym_callable(void *ptr) {
#if __arm64e__
    ptr = ptrauth_sign_unauthenticated(ptrauth_strip(ptr, ptrauth_key_function_pointer), ptrauth_key_function_pointer, 0);
#endif
    return ptr;
}

// Given a function pointer, strip the PAC so you can read the instructions.
static void *make_sym_readable(void *ptr) {
#if __arm64e__
    ptr = ptrauth_strip(ptr, ptrauth_key_function_pointer);
#endif
    return ptr;
}

#pragma clang diagnostic pop
#endif


最后于 2024-6-7 17:57 被小调调编辑 ,原因:
2024-6-7 17:56
0
游客
登录 | 注册 方可回帖
返回