好友
阅读权限10
听众
最后登录1970-1-1
|
原帖子链接: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提交的绘制信息)提交绘制信息。
收尾:参考他替换的虚函数,还原出绘制代码,代码我放在附件里边(通讯方式我用的共享内存)。
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|