[原创]x64dbg快速找call插件
2023-7-9 22:55:48 Author: bbs.pediy.com(查看原文) 阅读量:21 收藏

[原创]x64dbg快速找call插件

20小时前 1345

不知道各位调试GUI程序时,想定位某个功能的代码一般是用什么方式呢?通常我们会根据经验在某个系统API下断,然后栈回溯往上找关键call。
为了简化这个过程,我借鉴cheat engine找数据的方法,开发了一个找call的调试器插件。插件原理是扫描用户模块(exe+dll)中的函数,然后设置breakif(0)的条件断点,这样就可以获取函数被调用的次数。随后我们触发一次某个功能,就搜索一次调用次数,这样很快就能找到关键call。
下面是用法演示:
比如我们想知道winspy++程序是如何枚举窗口的,最直接的方式就是找到"Refresh"按钮的点击事件:

图片描述

先让程序跑起来,然后调出插件,点击"scan functions"按钮,默认会以“快速模式”扫描主模块中的函数并下断点:

图片描述

然后我们点击一次"Refresh"按钮,在call count文本编辑框输入1,再点击search:

图片描述

图片描述

这样就把范围缩小到4个函数,只需要手工确认一下就可以发现第二个函数就是我们想找的关键call:

图片描述

整个过程只花了一分钟,关键是不怎么费脑子~~

编译好的插件dp32、dp64只需复制到x64dbg插件目录即可。

源码链接如下:

https://github.com/Kwansy98/x64dbgCallFinder

二进制系列之Pwn篇

最后于 2小时前 被hambaga编辑 ,原因: 更新附件

打赏 + 5.00雪花

赞赏  执着的追求   +5.00 2023/07/10 思路很棒。

返回


文章来源: https://bbs.pediy.com/thread-277946.htm
如有侵权请联系:admin#unsafe.sh