逆向工程内存负载技术?

时间:2016-04-19 00:21:47

标签: reverse-engineering decompiling ida

我正试图对游戏进行逆向工程(经过许可)。我正在使用IDA Pro。函数是sub_xxxxx,意味着它们是受保护的函数。

但是,在查看唯一的交叉引用时,作为函数名称的字符串将按以下方式显示:

__data:xxxxxxxx                 DCD aEcdh_compute_k     ; "ECDH_compute_key"
__data:xxxxxxxx                 DCB   0
__data:xxxxxxxx                 DCB 0x40
__data:xxxxxxxx                 DCB   12
__data:xxxxxxxx                 DCB 0x3B

为安全起见(OCD),有些数字(包括DCB)已被更改

我曾尝试使用40 12 3B作为偏移量。但是,偏移使我和其他人一起进入随机loc_xxxxx的中间位置。

我的问题是,我如何找到实际功能的位置?偏离.data段顶部的偏移量是多少?或者是来自实际的声明字符串本身?

我不期望或要求完整答案;显然这可能在过去没有遇到过,我可能没有提供足够的信息。 (如果您需要更多信息,请询问,谢谢)。基本上,我问,“接下来应该尝试什么?”,试图找到最可能的答案。谢谢。

1 个答案:

答案 0 :(得分:0)

您忽略了处理器的字节顺序,通常为little endian

两次 D (一次将数据表示从单字节转换为字,另一次将其从word转换为dword)将数据转换为dword。或者,您也可以点击 O 直接将数据表示转换为偏移量(在大多数体系结构中大小为dword)

这很可能会向您显示地址{{1}}的偏移量,这可能是您要查找的地址。