llkbkh 发表于 2021-3-5 12:26

对某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提交的绘制信息)提交绘制信息。
收尾:参考他替换的虚函数,还原出绘制代码,代码我放在附件里边(通讯方式我用的共享内存)。



jhy_sat 发表于 2021-3-20 11:20

llkbkh 发表于 2021-3-15 22:29
那个不是死机 可能你的win10版本 过高没找到相对应的函数

用旧版本的dwm去覆盖新系统里面的dwm是可以解决的吗

言乐 发表于 2021-4-6 15:44

bool CDwmMsg::ExeStartDraw()
{
    if (m_pDrawList == nullptr)
    {
      return false;
    }
    if (m_pDrawList->m_DrawExe == true)
    {
      return true;
    }
    return false;
}
好像是这里一直返回false

Haojie123 发表于 2021-3-5 13:15

见识了~~~~~

ycsyywl 发表于 2021-3-5 13:30

大佬模块来一份撒{:301_1009:}

llkbkh 发表于 2021-3-5 13:45

ycsyywl 发表于 2021-3-5 13:30
大佬模块来一份撒

样本早删了

CornerCry2 发表于 2021-3-5 14:27

浩哥牛逼

haochen1992 发表于 2021-3-7 09:22

大大跪求破解模块啊:'(weeqw

llkbkh 发表于 2021-3-7 10:50

haochen1992 发表于 2021-3-7 09:22
大大跪求破解模块啊

都发源码了呀。。。。

jhy_sat 发表于 2021-3-14 15:00

大佬我想问下我注入DLL后为什么就死机了啊,过了段时间dwm程序重启了

llkbkh 发表于 2021-3-15 22:29

jhy_sat 发表于 2021-3-14 15:00
大佬我想问下我注入DLL后为什么就死机了啊,过了段时间dwm程序重启了

那个不是死机 可能你的win10版本 过高没找到相对应的函数
页: [1] 2 3
查看完整版本: 对某dwm绘制样本分析