在阅读反汇编后的代码时,经常遇到一些参数是预先定义好的宏,比如说:
push 222004h ; dwIoControlCode---这里的222004是表示一些预先定义的宏;
push ebx ; hDevice
mov [esp+244h+InBuffer], eax
call ebp ; DeviceIoControl
我现在是先找到WINIOCTL.H,然后找到
#define IOCTL_STORAGE_CHECK_VERIFY CTL_CODE(IOCTL_STORAGE_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS)
#define IOCTL_STORAGE_MEDIA_REMOVAL CTL_CODE(IOCTL_STORAGE_BASE, 0x0201, METHOD_BUFFERED, FILE_READ_ACCESS)
这一部分,然后再找CTL_CODE的定义等等,一步一步地逆推,
那有没有方法,直接使IDA不显示push 222004h ,
而直接显示push IOCTL_STORAGE_CHECK_VERIFY呢?
就是有没有方法把数值还原成我们能看懂的符号?诸位在做逆向的时候又是怎么处理这种情况的呢?正学着入门,希望已经登堂入室者不吝赐教。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!