zhanglei1371 发表于 2022-2-25 21:12

Dnspy如何在弹出窗体时下断点?

在使用Dnspy调试一些dll时,点击某个按钮,直接弹出的不是messagebox信息窗口,而是窗体,
此时在Dnspy中断后,堆栈里什么信息也没有,对于这样的弹出窗体,怎么下断点呢?


直接搜索字串也是不行的,程序都加密混淆了。

gksj 发表于 2022-3-29 02:10

单纯调试监控内存数据的话,我建议你这么考虑
要弹出窗口,首先要把这个窗口画出来,那么肯定要调用控件的方法
调用了什么控件,直接看弹出来的窗口有什么控件
看你这个涂鸦的图片能看到RadioButton单选框还有CheckBox复选框
参照我发的帖子算法分析2,利用类型引用方式,查找这个两个类型的引用位置
看你这个是加了虚拟壳了,所以找的时候可能会费点劲
不过即使拆分了位置他们也应该在同一个CLASS里面,
咔咔咔下断点,F5运行,运行起来之后在没弹出来这个窗口之前的所有断点都取消掉
最后F5这个窗体出来之之前的断点位置就是你找到的位置了

落红护花 发表于 2022-3-22 21:53

看见您的私信了,看来您一直从事C#破解,哈哈
刚才他哪个是加的VMP壳+虚拟化
直接用dumper会退出,用 https://www.52pojie.cn/thread-1604458-1-1.html
这个反反dump的dumper脱出一个,然后dnspy打开一定是一个未脱完整的
再用Ksdumper,专门针对vmpC#的,脱出差不多的,不过也不完美,就像我的那个截图,关键名称还是加密的,不过大概逻辑出来了

izhen 发表于 2022-2-25 21:18

直接找到按钮的点击事件,然后看弹出的哪个form,进去后在考虑下断点

不苦小和尚 发表于 2022-2-25 21:24

form.load事件下断

zhanglei1371 发表于 2022-2-25 22:07

izhen 发表于 2022-2-25 21:18
直接找到按钮的点击事件,然后看弹出的哪个form,进去后在考虑下断点


都混淆彻底了,啥也看不到...
连Form的load的关键词都搜不到...

izhen 发表于 2022-2-25 22:10

拖到de4dot里边试试

落红护花 发表于 2022-2-25 22:10

zhanglei1371 发表于 2022-2-25 22:07
都混淆彻底了,啥也看不到...
连Form的load的关键词都搜不到...

de4dot and dumper

zhanglei1371 发表于 2022-2-25 22:17

izhen 发表于 2022-2-25 22:10
拖到de4dot里边试试

各版本都测试了。出错。

suiyieee 发表于 2022-2-25 22:26


放到de4dot里边试试

Frhvjhhv 发表于 2022-2-25 22:28

脱壳去混淆。不行的话只能用x64dbg用汇编语言下断了

zhanglei1371 发表于 2022-2-25 22:30

suiyieee 发表于 2022-2-25 22:26
放到de4dot里边试试


其他版本也测试了,基本都是出错
页: [1] 2
查看完整版本: Dnspy如何在弹出窗体时下断点?