我想破解一个dll。
我的dll会返回一条错误消息(返回,而不是MessageBox)。 我在ida Pro中打开了我的dll。
我找到了我的字符串数据参考,但我找不到外部参照。当我试图找到来自我的外部参照时,"无法找到任何外部参照"。
有人可以帮我吗?如何找到参考?我想找到返回此字符串的测试以修补此dll。它是一个ODBC驱动程序。
它是一个黑客,而不是一个裂缝;) 我有许可证,但我想更改odbc驱动程序(dll)中的限制。
非常感谢,
答案 0 :(得分: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
你可能只需要到字符串数组的开头找到一个引用(引用数组上的第一个字符串,因此引用数组本身)。