KoncaCN 发表于 2005-8-11 00:00:00

[讨论]开发VKP Inportor的必要性

之前有人问过有什么方便的方法可以把VKP导到IDA里面,但好象没有比较好的解决方法。

我是用Edit -> Patch -> Byte,一次16个字节的办法导进去的,而且每次都要在里面回空格,比较麻烦。

昨天想了一下,应该可以用Windows的消息机制要实现,再加上SetWidnowText等API来实现,只是电脑不在身边,没办法试验。

如果可以方便地导入VKP到IDA里的话,那就容易查看大师们的杰作的代码了。 ^_^

大家觉得有没有必要做这样一个东东?

RainMoon 发表于 2005-8-11 00:01:00

你说的这个是个新方案,我一直都是单独把VKP刷到空白的BIN文件里面再用IDA打开的。
但是要看代码都要经过IDA,有时候只想看一个地方的时候觉得麻烦。

Konca我记得你不是做过一个debuger 吗? 能否把代码翻译工作做成一个V-Klay的插件,
要简单的查一些语句的时候就很方便了,不用专门再转一次。

coollang 发表于 2005-8-11 00:02:00

可以用IDC来实现。我记得以前介绍过,其实就是IDA的插件语言!

KoncaCN 发表于 2005-8-11 00:03:00

那个Debuger是我在没接触到IDA之前试着写的,用上IDA后,感觉再没有比它强的了,除非是开发个模拟器了。 ^_^

今天下午已经试验过,可以用消息来修改另一个进程里的Edit控件的标题了:
CWnd *p = NULL;
HWND *h = NULL;

p = FindWindow(NULL, "Temp2"); // "Temp2" is the title
if (p == NULL) return;

h = GetDlgItem(p, 1000); // 1000 is the resource ID
if (h == NULL) return;

::SendMessage(h, WM_SETTEXT, 0, (LPARAM)"My Edit Text");
----------------------------
而且我试过用::SendMessage(h, WM_COMMAND, xxxx, 0);
的方式来调用某个DIALOG了,也就是说,对IDA的操作已经掌握了,剩下的就是对VKP文件的文本分析了。

CoolLang你近况如何?有时间的话试试我建议的方法吧。
对IDA的Frame来说,在FindWindow中可以用Class Name作参数,我用SPY查过,它的类名是固定的。而对“跳转”和"Patch"两个DIALOG,可以用窗口标题来查找。

hjp3011 发表于 2005-8-11 00:04:00

好深懊啊!
还要多多向dx学习啊,!!!!
页: [1]
查看完整版本: [讨论]开发VKP Inportor的必要性