如何在反汇编程序代码中找到对字符串常量的引用?

问题描述 投票:0回答:0

我正在尝试使用

ndisasm
反汇编程序。我发现它不区分常量、元数据和程序指令。即:

00020CA3  00426F            add [edx+0x6f],al
00020CA6  726C              jc 0xd14
00020CA8  61                db 0x61
00020CA9  6E                outsb
00020CAA  6420432B          and [fs:ebx+0x2b],al
00020CAE  2B                db 0x2b
00020CAF  202D20436F70      and [0x706f4320],ch
00020CB5  7972              jns 0xd29
00020CB7  69                db 0x69
00020CB8  67                a32
00020CB9  68                db 0x68
00020CBA  7420              jz 0xcdc
00020CBC  31                db 0x31
00020CBD  39                db 0x39
00020CBE  39                db 0x39
00020CBF  31                db 0x31
00020CC0  20426F            and [edx+0x6f],al
00020CC3  726C              jc 0xd31
00020CC5  61                db 0x61
00020CC6  6E                outsb
00020CC7  6420496E          and [fs:ecx+0x6e],cl
00020CCB  746C              jz 0xd39
00020CCD  2E00446976        add [cs:ecx+ebp*2+0x76],al

实际上是一个字符串常量:

00020CA4  Borland C++ - Copyright 1991 Borland Intl.\x00

以空字符结尾的字符串很容易找到,我只是将十六进制代码转换回 ASCII。

所以,我的问题是:如何在汇编代码中找到对这些字符串的引用?

我尝试通过字符串常量的起始位置(即 0x20CA4)进行搜索,但没有帮助。

assembly reverse-engineering disassembly
© www.soinside.com 2019 - 2024. All rights reserved.