【发布时间】:2014-03-29 07:24:54
【问题描述】:
我正在尝试破解 exe 以查找某些功能的实现并在注入的 dll 中执行操作。 该 exe 是一种屏幕保护程序,幸运的是非常简单,因此它使用重要的字符串来识别代码段。
我的困境是其中一个函数“getaxis”是一个虚函数。我知道这要归功于我追溯到 rdata 部分的字符串窗口和字符串 (Audioplayer.Tracklist::GetAxis) 上的其他指示信息
.data:01E204B0 off_1E204B0 dd offset aAudioplayer_to ; DATA XREF: _call_vfuncr
.data:01E204B0 ; _call_vfunc+26r
.data:01E204B0 ; "Audioplayer.Tracklist::Internal_GetTrack"
...
使用 ida pro 我已经成功追踪到函数调用,但我无法找到实际的虚函数实现。
这是我的问题:
1-我对这个主题一无所知,作为反汇编的新手:有没有办法真正找到虚函数的实现? Ida 在“函数窗口”中清楚地显示了各种“子”,但那里有几百个函数,我希望有更好的方法来找到虚拟函数的声明。
2- 子名称和虚函数之间是否存在关联。我找不到任何东西。
那么如何在反汇编代码中找到实际的虚函数声明呢? 这可能吗?
谢谢。
【问题讨论】:
-
这门课真的这么难吗?难怪我在谷歌上也找不到任何东西。
标签: function virtual disassembly ida