在 Ida Pro 中查找字符串数据引用的引用

Posted

技术标签:

【中文标题】在 Ida Pro 中查找字符串数据引用的引用【英文标题】:Find a reference for a string data reference in Ida Pro 【发布时间】:2014-06-14 09:03:42 【问题描述】:

我想破解一个 dll。

我的 dll 返回一条错误消息(返回,而不是 MessageBox)。 我在 ida Pro 中打开了我的 dll。

我找到了我的字符串数据引用,但我没有从中找到外部参照。当我尝试从中查找外部参照时,出现“找不到任何外部参照”。

有人可以帮帮我吗?请问如何找到参考?我想找到返回此字符串的测试以修补此 dll。这是一个 ODBC 驱动程序。

这是为了破解,而不是破解;) 我有许可证,但我想更改 odbc 驱动程序(dll)中的限制。

非常感谢,

【问题讨论】:

【参考方案1】:

字符串可能是通过字符串数组引用的(第三张截图可能就是这个数组)。这将在汇编中转化为类似的东西:

lea eax, StringArray ; load base of string array
mov ecx, StringIndex ; get string index in array

mov eax, [eax+ecx*4] ; eax (dest) = pointer to string

您可能只需要向上到字符串数组的开头即可找到引用(引用数组上的第一个字符串,因此引用数组本身)。

【讨论】:

以上是关于在 Ida Pro 中查找字符串数据引用的引用的主要内容,如果未能解决你的问题,请参考以下文章

使用IDA Pro的REobjc模块逆向Objective-C二进制文件

IDA pro 6.8设置显示中文字符串的方法

查找包含某些字母/符号的字符串的特定部分,然后创建对这些部分的引用

Official VirusTotal Plugin for IDA Pro 7

引用的字符串未正确终止

使用 .Net Core 在 linux 机器上查找内核数失败并出现错误(未终止的引用字符串)