精华内容
下载资源
问答
  • DDE

    2013-04-15 14:23:59
    DDE(Dynamic Data Exchange,动态数据交换)是进程间通讯(InterProcess Communication,IPC)的方法。进程间通讯(IPC)包括进程之间和同步事件之间的数据传递。DDE使用共享内存来实现进程之间的数据交换以及使用...
    DDE(Dynamic Data Exchange,动态数据交换)是进程间通讯(InterProcess Communication,IPC)的方法。进程间通讯(IPC)包括进程之间和同步事件之间的数据传递。DDE使用共享内存来实现进程之间的数据交换以及使用DDE协议获得传递数据的同步。DDE协议是一组所有的DDE应用程序都必须遵循的规则集。DDE协议可以应用于两类DDE应用程序:第一类是基于消息的DDE,第二类是动态数据交换管理库(DDEML)应用程序(使用动态连接库(DLL),该库随Windows系统一起发行)。

      DDE应用程序可以分为四种类型:客户、服务器、客户/服务器和监视器。DDE会话发生在客户应用程序和服务器应用程序之间。客户应用程序从服务器应用程序请求数据或服务,服务器应用程序响应客户应用程序的数据或服务请求。客户/服务器应用程序既是客户应用程序又是服务器应用程序,它既可发出请求又可提供信息。监视器应用程序用于调试目的。DDE应用程序可拥有多重迸发会话。DDE协议规定会话中的消息必须同步控制,但应用程序可以在不同的会话之间异步切换。

      DDE应用程序采用三层识别系统:应用程序名(Application)、主题名(Topic)和项目名(Item)。应用程序名位于层次结构的顶层,用于指出特定的DDE服务器应用程序名。主题名更深刻地定义了服务器应用程序会话的主题内容,服务器应用程序可支持一个或多个主题名。项目名更进一步确定了会话的详细内容,每个主题名可拥有一个或多个项目名。

      DDE会话的初始化是由客户应用程序发送WM_DDE_INITIATE消息开始,它传递窗口句柄并为会话指定应用程序名和主题名,当然需要有服务器应用程序来响应该消息。一旦没有服务器响应或同时有多个服务器响应,则客户应用程序不得不发送WM_DDE_TERMINATE消息来终止所有不需要的会话。

      建立DDE会话后,客户应用程序和服务器应用程序可通过三种链接方式进行数据交换。三种链接方式为:冷链接(Cold Link)、温链接(Warm Link)和热链接(Hot Link)。冷链接(Cold Link):客户应用程序申请数据,服务器应用程序立刻给客户应用程序发送数据,服务器应用程序处于主动地位;温链接(Warm Link):服务器应用程序通知客户应用程序数据项发生了变化,但并没有将已变化的值发送给用户应用程序;热链接(Hot Link):当数据项发生变化时,服务器应用程序立即把变化后的值发送给客户应用程序,服务器应用程序处于主动地位。
    展开全文
  • dde

    2010-02-04 13:05:00
    ddddddddddddddddddddddd

    ddddddddddddddddddddddd

    展开全文
  • DDE SDK Demo

    2018-08-04 10:33:39
    学习DDE,用SDK写的简单代码学习DDE,用SDK写的简单代码学习DDE,用SDK写的简单代码
  • 本教程展示了如何使用 MATLAB 求解器 DDE23 求解具有恒定延迟的延迟微分方程 (DDE)。 求解器在 MATLAB 6.5 及更高版本中可用。 本教程简要讨论了解决ODE之间的区别和 DDE,并描述了 DDE23 中使用的技术。 求解器的...
  • DdeServer DDE服务器程序

    2010-01-12 16:09:16
    这是一个用VC6.0开发的DDE服务器程序,可用于DDE通讯的学习和研究
  • DDE启动器 DDE启动器是深度桌面环境的启动器。 获得帮助 任何使用方面的问题都可以通过以下方式寻求帮助 卷入 我们鼓励您报告问题并做出贡献 。 (英语) (中文)
  • 包含 DDE Source 和 DDE Sink 模块的小型 Simulnik 库。 基于 MATLAB DDE 函数,编写为 M 文件 S 函数。
  • DDE顶面板 【中文请看】:深度 【分类菜单基本原理请看】: 深度桌面环境v20的顶部面板。 这是对顶部面板的dde-dock的修改。 与dde-dock相比,它: 删除启动器,显示桌面,多任务和应用程序图标 完全支持dde-...
  • DDE Dock DDE Dock is the dock of Deepin Desktop Environment. A tutorial for build dde-dock plugin: plugins-developer-guide Getting help Any usage issues can ask for help via Gitter IRC channel Forum...
  • DDE-Dock-pugin基础 dde-dock插件开发示例此项目是Qt和DDE Dock插件开发的学习练习,旨在实现Dock插件之一 依存关系 在Debian和基于Debian的软件包(如Deepin)上,需要以下软件包。 - dde-dock-dev -> Interfaces ...
  • dde dock

    2018-10-14 22:23:50
    369 tar xvf dde-dock-4.7.3.tar.gz 370 cd dde-dock-4.7.3/ 371 ls 372 mkdir build 373 cd build/ 374 cmake … 375 make 376 ls 381 cd frame/ 382 ls 383 ./dde-dock 384 sudo ./dde-dock pkill dde-...

    369 tar xvf dde-dock-4.7.3.tar.gz
    370 cd dde-dock-4.7.3/
    371 ls
    372 mkdir build
    373 cd build/
    374 cmake …
    375 make
    376 ls

    381 cd frame/
    382 ls
    383 ./dde-dock
    384 sudo ./dde-dock
    pkill dde-dock

    展开全文
  • DDE client

    2012-02-19 21:51:05
    初始化DDE 会话,客户端发送WM_DDE_INITIATE 消息,通常,客户端通过使用 SendMessage 将第一个参数设置为-1来广播该消息。如果应用程序已有服务程序的窗口句柄,它可以直接发送消息到这个窗口。客户通过调用 ...
  • dde + vb dde + vb dde + vb

    2009-01-20 17:25:30
    dde + vbdde + vbdde + vbdde + vbdde + vbdde + vbdde + vbdde + vbdde + vbdde + vb
  • DDE服务模块.rar

    2020-04-04 13:30:22
    DDE服务模块.rar
  • vb6 api dde

    2017-03-26 16:25:00
    vb6 dde通讯
  • dde server

    2009-09-09 16:48:12
    这是一个DDE Server的源代码,大家可以下载研究,对于开发DDE应用程序很有帮助
  • DDE通信研究

    千次阅读 2019-12-24 10:14:38
    作为一个安全研究人员来讲,听到最多关于DDE的东西可能就是office DDE 攻击这种钓鱼攻击手法。 为什么只有Office可以进行DDE攻击? 有哪些软件默认支持DDE协议? DDE还可以做什么? DDE通信还有其他功能命令,如:...

    作为一个安全研究人员来讲,听到最多关于DDE的东西可能就是office DDE 攻击这种钓鱼攻击手法。

    • 为什么只有Office可以进行DDE攻击?
    • 有哪些软件默认支持DDE协议?
    • DDE还可以做什么?

    DDE通信还有其他功能命令,如:动态修改Excel表格内容。

    本文只针对双击桌面上的xls文件时,Explorer通过DDE将文件路径传给Excel的过程进行研究。

    1)研究背景

    大部分Office系列软件如Excel、Word等程序默认支持基于Windows消息机制的DDE通信协议。使用DDE的程序,如Excel软件在启动时的命令行参数只有" /dde"

    这样Excel就会默认创建一个隐藏的窗口作为DDEServer,并等待接收用户双击桌面xls文件时,DDE Client(Explorer.exe)发来的DDE消息。

    2)DDE会话流程

    一个程序既可以作为DDE服务器,也可以作为DDE客户端,两者通讯的标识是彼此的窗口句柄HWND。微软建议每次建立会话都应该建立不同的窗口句柄。

    第一步:建立会话,客户端必须通过SendMessage广播一条WM_DDE_INITIATE消息给所有窗口,来定位Excel的DDE Server。

    如果lParam的LOWORD为NULL,任何DDEServer可以回复这个消息。DDE Server收到一个WM_DDE_INITIATE消息后,如果该消息的lParam的HIWORD为NULL,DDE Server为它支持的所有Topic都回复一个WM_DDE_ACK 消息。

    SendMessage((HWND)HWND_BROADCAST,   // 广播消息给所有窗口
    WM_DDE_INITIATE,                    // 初始化会话
    (WPARAM)g_hHwnd,                    // 当前DDE Client的窗口句柄
    MAKELONG(atomApplication,           // application-name atom  (Excel默认是"Excel")
    atomTopic));                        // topic-name atom  (Excel默认是"System")
    

    服务端回复WM_DDE_INITIATE消息

    DDE Server收到WM_DDE_INITIATE消息后,根据wParam中保存的DDE Client句柄回复消息。服务端必须回复一个WM_DDE_ACK消息,告诉客户端,它收到了建立会话的申请!

    回复WM_DDE_ACK消息时,将自己的窗口句柄,作为wParam参数回复给客户端。至此会话建立完成,剩下的消息必须使用根据各种保存的对方窗口句柄,使用PostMessage来通讯

    客户端收到握手会话的回复后,在消息处理中保存DDE服务端的窗口句柄

    case WM_DDE_ACK:
       {
           // 客户端接收DDE服务器回复,保存DDEServer句柄,删除lParam中的GlobalAtom
           HWND g_hServerHwnd = (HWND)wParam;
       }
    break;
    

    第二步:发送命令,告诉Excel打开指定xls文件

    // 发送命令给Excel
     
    // 服务器数据项内容
    CONST wchar_t sCommand[] = L"[open(\"D:\\1.xlsx\" /ou \"\")]";
    // 分配DDEDATA格式化的全局共享内存块
    HGLOBAL hCommand = GlobalAlloc(GMEM_MOVEABLE | GMEM_DDESHARE, sizeof(sCommand));
    // 锁定内存块地址
    LPWSTR lpCommand = (LPWSTR)GlobalLock(hCommand);
    // 填充数据项内容
    wcscpy(lpCommand, (WCHAR*)sCommand);
    // 解锁内存块
    GlobalUnlock(hCommand);
    // 获取当前窗口的安全句柄
    // 组合消息参数lParam
    LONG lDataPack = PackDDElParam(WM_DDE_EXECUTE, 0, (UINT)hCommand);
    // 发出远程命令消息
    PostMessage(g_hServerHwnd, WM_DDE_EXECUTE, (WPARAM)g_hHwnd, (LPARAM)lDataPack);
    // 释放内存
    GlobalFree(hCommand);
    

    第三步: 结束会话 WM_DDE_TERMINATE

    PostMessage(g_hServerHwnd, WM_DDE_TERMINATE, (WPARAM)g_hHwnd, 0);
    

    3)分析Exploer和Excel的DDE通讯消息

    3.1)观察DDE消息通讯

    通过Spy++可以查看Explorer和Excel通过DDE通讯的消息类型,打开Spy++,选择Excel进程,消息选项中过滤DDE消息。
    在这里插入图片描述

    随后双击桌面上的xls文件,可以观察到Explorer发送给Excel的消息由一下3条,下面消息中第三列数据:R、S、P标志,具体含义可以参考Spy++手册。
    在这里插入图片描述
    通过上面可以看到,Explorer给Excel发送了3条消息,分别是:

    • 建立会话WM_DDE_INITATE
    • 执行命令WM_DDE_EXECUTE
    • 结束会话WM_TERMINATE

    其中要打开的xls文件路径,就保存在WM_DDE_EXECUTE执行命令消息中,其消息具体格式,参考https://docs.microsoft.com/en-us/windows/win32/dataxchg/wm-dde-execute

    3.2)观察发送的命令格式

    通过x64dbg调试Explorer,设置PackDDEParam函数断点,命中后,可以查看Explorer发送的WM_DDE_EXECUTE消息的命令内容

    在这里插入图片描述

    4)补充

    DDE已经被应用在IE、Adobe、Office、等软件中,我们可以通过木马程序给目标DDEServer发送消息来控制目标软件的行为。

    比如下面宏代码给IE浏览器发送DDE消息,可以控制它访问指定网页

    Sub AutoOpen()
    On Error GoTo MyErr
    lngChannel = DDEInitiate(App:="IExplore", Topic:="WWW_OpenURL")
    DDEExecute Channel:=lngChannel, Command:="www.qq.com"
    DDETerminate Channel:=lngChannel
    MyErr:
    End Sub
    

    甚至可以使用DDE消息读取修改指定office文档内容,由于是基于windows消息以及共享内存交互数据,这样不会触发任何读取文件的行为,可以规避安全软件的文件行为防御,可用于高级定向攻击,窃取指定敏感文件内容的APT木马中。

    下面来说说为什么DDE攻击只被用到了office中,经过逆向分析,原来Office系列在向外发送DDEInitiate消息的时候,如果目标DDE Server进程不存在,则会尝试创建这个进程。

    Sub AutoOpen()
    On Error GoTo MyErr
    lngChannel = DDEInitiate(App:="c:\\Windows\\system32\\cmd.exe", Topic:="/c calc")
    MyErr:
    End Sub
    

    但是Office软件也会给用户对应的弹窗提示,这个提示中的路径很明显,这个也有办法绕过,绕过方法可以参考我这篇文章:https://blog.csdn.net/cssxn/article/details/91867028
    在这里插入图片描述

    5)参考资料

    • https://docs.microsoft.com/en-us/windows/win32/dataxchg/using-dynamic-data-exchange
    • https://www.cnblogs.com/organic/p/9175276.html
    • https://blog.csdn.net/u012252959/article/details/49590827
    • https://docs.microsoft.com/en-us/office/vba/api/word.application.ddeinitiate
    展开全文
  • ERP-DDE-源码

    2021-03-05 14:17:20
    #ERP-DDE
  • 易语言DDE动态数据交换.rar 易语言DDE动态数据交换.rar 易语言DDE动态数据交换.rar 易语言DDE动态数据交换.rar 易语言DDE动态数据交换.rar 易语言DDE动态数据交换.rar
  • 组态王6.53DDE驱动

    2019-03-20 14:52:34
    组态王6.53默认不自带DDE驱动,下载压缩文件后解压,找到组态王安装路径里的工具“安装新的驱动”,然后定位到解压的DLL。就可以安装成功了。
  • DDE通讯开发包

    2018-12-10 10:55:38
    比较老的DDE通讯开发包,DLL文件,可以直接添加引用使用,有使用说明文档,可以应用再一些比较老的项目中,网上比较难找了。
  • DDE server VC++

    热门讨论 2013-07-17 09:38:27
    用VC++实现的DDE server端代码,client端代码其实也包括在其中了,debug目录中有编译的程序;亲自编写调试的。没有任何问题,可以与组态王或其他软件进行DDE通信
  • 我是直接在wincc6.0中添加的dde驱动连接,没有在启动中添加ddeserver,这样可以吗?最佳答案1、WinCC中的WindowsDDE通道读取内存中打开的Excel文件,它自身不能打开Excel文件。在WinCCExplorer->Computer->...
  • DDE动态数据交换.rar

    2020-04-04 13:29:24
    DDE动态数据交换.rar
  • dde-sys-monitor-plugin deepin系统监控dock插件,可监控CPU使用率、内存使用率、swap使用率、上传下载总量、实时网速和电池放电功率,有文字模式和图表模式可选 一、参考项目 @sonichy 二、图片展示 上四图分别是...
  • VB 组态王DDE通讯

    2016-05-30 16:48:33
    组态王与VB DDE通讯实例
  • DDE是WINDOWS平台上的一个完整的通信协议,它使支持动态数据交换的两个或多个应用程序能彼此交换数据和发送指令, 任何一个DDE Client都可以访问DDE Server的数据,数据交换是通过三个标识名来实现的: 应用程序名...
  • DDE Top Panel 【中文请看】:Deepin 论坛 【全局菜单基本原理请看】:Github WIKI Top panel for deepin desktop environment v20. This is a modification of dde-dock for top panel. Comparing to dde-dock, it:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 32,190
精华内容 12,876
关键字:

dde