对某dwm绘制样本分析
原帖子链接:https://bbs.pediy.com/thread-264978.htm{:301_997:}
年前一起分析的,感觉没啥用,把代码发出来学习下。
样本:易语言模块,绘制demo
{:301_986:}
思路分析:
1.先把绘制跑起来看下流程,exe 提交绘制内容到 dwm绘制流程里边。
2.对demo进行研究,分析模块源码。
3.猜测通讯方式,因为这个是dwm进程,有局限性首先猜会不会是用一块内存作为buffexe写入,dwm读取绘制。
4.hook读写内存api,看下行为。
5.找到写入的buff地址,去下断看下读取位置,发现在读写代码里边虚函数被替换(这里应该就是绘制的位置了)。
总结:exe跑起来会无模块注入一个dll到dwm里边,通讯方式选择的是,exe讲绘制的信息吸入指定内存,dwm的绘制流程(被替换的虚函数里边读取exe提交的绘制信息)提交绘制信息。
收尾:参考他替换的虚函数,还原出绘制代码,代码我放在附件里边(通讯方式我用的共享内存)。
llkbkh 发表于 2021-3-15 22:29
那个不是死机 可能你的win10版本 过高没找到相对应的函数
用旧版本的dwm去覆盖新系统里面的dwm是可以解决的吗 bool CDwmMsg::ExeStartDraw()
{
if (m_pDrawList == nullptr)
{
return false;
}
if (m_pDrawList->m_DrawExe == true)
{
return true;
}
return false;
}
好像是这里一直返回false 见识了~~~~~ 大佬模块来一份撒{:301_1009:} ycsyywl 发表于 2021-3-5 13:30
大佬模块来一份撒
样本早删了 浩哥牛逼 大大跪求破解模块啊:'(weeqw haochen1992 发表于 2021-3-7 09:22
大大跪求破解模块啊
都发源码了呀。。。。 大佬我想问下我注入DLL后为什么就死机了啊,过了段时间dwm程序重启了 jhy_sat 发表于 2021-3-14 15:00
大佬我想问下我注入DLL后为什么就死机了啊,过了段时间dwm程序重启了
那个不是死机 可能你的win10版本 过高没找到相对应的函数