需求: IDA反编译的代码中有4处不理解,大部分是NSRange的问题,来请教下大佬。
- 为什么会有
0LL, 4LL, 0LL
? NSRange不是应该就只是location
和length
吗?
-
v73
应该是char *
类型吧,怎么转成unsigned __int64
和整数比较的?
- 还是range不理解,
(char *)&v73->isa + 4
到底是什么鬼,怎么连isa
指针都出现了
-
&v16[1], v72
这又是怎么组成range的。。
代码: v12
是NSData
的实例
操作步骤: IDA + F5
结合其他方式Hook推测了下,大差不差了
1应该就是NSMakeRange(0, 4)
,即取data的前4字节。至于为啥会显示0LL, 4LL, 0LL
,不知道是不是IDA F5插件的bug
2和4属于我C语言彩笔了,取data的指定位置的4字节转无符号整型
3这个写法我还是无解
第三个是取紧接着的后面4个吧,你最好是把汇编一块放上来
1 个赞
我主业开发iOS的,逆向新手,看汇编要了我的老命了 
看不了你的图,不知道什么情况,手机打不开本网站,电脑打开看不了图片而且奇慢,科学上网也不行
CDN出了点问题,正在排查修复呢;临时解决方案是在新窗口里打开图片,然后把图片URL里的cdn
去掉,就可以看到图了
1 个赞