.text:00537F9F push offset stru_6C4E40 ; FILE *
.text:00537FA4 call _fclose
.text:00537FA9 push offset aWt ; "wt"
.text:00537FAE push offset off_6A5D8C ; char *
.text:00537FB3 call _fopen
.text:00537FB8 mov dword_83AE9C, eax
,我跟踪到此off_6A5D8C,它指向标签loc_4C554E:
.data:006A5D8C ; char off_6A5D8C
.data:006A5D8C off_6A5D8C dd offset loc_4C554E
.data:006A5D90 ; char aWt[]
.data:006A5D90 aWt db 'wt',0
.text:004C554E loc_4C554E:
.text:004C554E mov esp, ebp
.text:004C5550 pop ebp
.text:004C5551 retn 0Ch
我不是拆卸专家,可能是因为它需要对loc_4C554E执行Undefine操作-在这种情况下,它看起来像:
.text:004C554E unk_4C554E db 8Bh ; Ë ; DATA XREF: .data:off_6A5D8Co
.text:004C554F db 0E5h ; õ
.text:004C5550 db 5Dh ; ]
.text:004C5551 db 0C2h ; T
.text:004C5552 db 0Ch
.text:004C5553 db 0
似乎它的字符串以0结尾。将此字符串(文件名)转换为可读的外观?
谢谢您。
#1 楼
它使用文件名,但IDA无法识别它。在此示例中,IDA将
4
字节字符串NUL\x00
(4E 55 4C 00
)解释为代码中的偏移量(地址0x004C554E
)。您可以通过在光标位于006A5D8C
行时按a来使其简单地将其解释为ascii字符串。字节顺序相反的原因是
x86
体系结构使用的字节序很少,因此如果您将4E 55 4C 00
解释为数字,字节顺序将被反转(因此0x004C554E
)。评论
非常感谢,bart1e!
– black4
20年7月6日在16:58
评论
这是“ NUL”与0x004C554E之间的区别吗?对于将来的问题,在您的视图中包括原始字节可能会有所帮助。