看了好几天的反汇编视频 还是遇到一些看不明白的地方 求指点
本帖最后由 zyc900329 于 2021-12-6 01:29 编辑看了好多天逆向反汇编的视频学习反汇编代码
想拿个游戏来实操试试
图片中的两个CALL该怎么理解?
看的教程都是类似这种call比如 call sub_180092200
还有好多人说尽量不要去看伪代码或者不要太信任伪代码,我一般都是一边看汇编代码看不太明白的话会去看一眼伪代码,这样应该比较更容易看懂汇编代码
mov r10,
mov rcx,
mov , rcx
mov r9d, eax
mov r8d, r12d
mov rdx, r13
mov rcx, r15
call qword ptr
这句代码的IDA里的伪代码是
(*(void (__fastcall **)(__int64 *, __int64, _QWORD, _QWORD, _QWORD, int, _QWORD))(*v13 + 584))(
v13,
a1,
a2,
v14,
*(_QWORD *)(*v13 + 592),
v17,
0i64);
求个大神帮忙答复下
或者说该如何理解这些代码的意思。。。 彻底看不懂了 函数调用约定 卤煮 学的如何? 本帖最后由 zyc900329 于 2021-12-6 14:30 编辑
whatiwhere 发表于 2021-12-6 11:04
函数调用约定 卤煮 学的如何?
学的好就不会来问这种问题了{:1_890:}
谢谢大哥 我去找点调用约定的资料看看去。。。 应该是在 r10+248h 上面存放了一个函数指针, call 就是调用这个指针指向德函数. //如果不对,记得@我,我也学习中 本帖最后由 cndml 于 2021-12-6 19:08 编辑
这叫寄存器相对寻址,是汇编语言的操作数寻址方式,任何汇编语言的书开始就要讲的,你根本没看啊。汇编语言的操作数寻址方式大概有这么多
1、立即数寻址方式
2、寄存器寻址方式
3、内存直接寻址方式
4、寄存器间接寻址方式
5、寄存器相对寻址方式
6、基址变址寻址方式
7、相对基址变址寻址方式
8、比例变址寻址方式 函数调用约定与传参返回值,学习学习{:301_1000:}
页:
[1]