吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6056|回复: 25
收起左侧

[C&C++ 转载] 对某dwm绘制样本分析

  [复制链接]
llkbkh 发表于 2021-3-5 12:26
原帖子链接:https://bbs.pediy.com/thread-264978.htm

年前一起分析的,感觉没啥用,把代码发出来学习下。
样本:易语言模块,绘制demo

思路分析:
1.  先把绘制跑起来看下流程,exe 提交绘制内容到 dwm绘制流程里边。
2.  对demo进行研究,分析模块源码。
3.  猜测通讯方式,因为这个是dwm进程,有局限性首先猜会不会是用一块内存作为buffexe写入,dwm读取绘制。
4.  hook读写内存api,看下行为。
5.  找到写入的buff地址,去下断看下读取位置,发现在读写代码里边虚函数被替换(这里应该就是绘制的位置了)。
总结:exe跑起来会无模块注入一个dll到dwm里边,通讯方式选择的是,exe讲绘制的信息吸入指定内存,dwm的绘制流程(被替换的虚函数里边读取exe提交的绘制信息)提交绘制信息。
收尾:参考他替换的虚函数,还原出绘制代码,代码我放在附件里边(通讯方式我用的共享内存)。



反汇编模块

反汇编模块

初始化

初始化

读写的调试信息

读写的调试信息

imgui_dwm-master.rar

409.31 KB, 下载次数: 424, 下载积分: 吾爱币 -1 CB

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
CornerCry2 + 1 + 1 浩哥牛逼

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

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
大佬模块来一份撒
 楼主| llkbkh 发表于 2021-3-5 13:45
ycsyywl 发表于 2021-3-5 13:30
大佬模块来一份撒

样本早删了
CornerCry2 发表于 2021-3-5 14:27
浩哥牛逼
haochen1992 发表于 2021-3-7 09:22
大大跪求破解模块啊
 楼主| 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版本 过高  没找到相对应的函数
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 10:24

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表