zoukankan      html  css  js  c++  java
  • 添加程序以DLL函数

    编写DLL:

    LIBRARY EXEdiy
    EXPORTS
    LoadDLL @1

    #include "stdafx.h"
    #include <windows.h>
    
    
    void _cdecl LoadDLL(const DWORD reversed,
    					HWND hwnd,      // handle to window
    					UINT uMsg,      // message identifier
    					WPARAM wParam,  // first message parameter
    					LPARAM lParam   // second message parameter
    )
    {
    	switch (uMsg)
    	{
    	case WM_CREATE:
    		MessageBoxA(hwnd,"DLL注入成功","成功",MB_OK);
    //这里可以添加木马程序代码
    		break;
    	}
    }

    添加DLL函数到程序的输入表


    OD载入想要HOOK的程序:
    0007FDE4   01004556  /CALL 到 RegisterClassExW 来自 notepad.01004550
    0007FDE8   0007FDF0  pWndClassEx = 0007FDF0
    0007FDEC   77D19D69  user32.LoadCursorW
    0007FDF0   00000030
    0007FDF4   00000000
    0007FDF8   01003429  返回到 notepad.01003429 来自 EXEdiy.LoadDLL   这里是注册的消息过程函数 修改为 DLL 中的函数就行了
    0007FDFC   00000000
    0007FE00   00000000
    0007FE04   01000000  ASCII "MZ@"
    修改notepad.01003429 为:
    01003424    E8 E7DBFF0E     call EXEdiy.LoadDLL	//在DLL模块中寻找我们想要加入的函数地址
    01003429    90              nop
    0100342A    90              nop
    0100342B    55              push ebp

    再返回  修改 注册函数:
    01004528  |.  C745 F4 01000>mov [local.3],0x1                                      ; |
    0100452F  |.  8975 E4       mov [local.7],esi                                      ; |
    01004532  |.  C745 F8 20900>mov [local.2],notepad.01009020                         ; |UNICODE "Notepad"
    01004539  |.  C745 D8 24340>mov [local.10],notepad.01003424                        ; |这里是消息函数 修改为我们的01003424
    01004540  |.  C745 F0 06000>mov [local.4],0x6                                      ; |
    01004547  |.  897D D4       mov [local.11],edi                                     ; |
    0100454A  |.  897D DC       mov [local.9],edi                                      ; |
    0100454D  |.  897D E0       mov [local.8],edi                                      ; |
    01004550  |.  FF15 D0110001 call dword ptr ds:[<&USER32.RegisterClassExW>]         ; RegisterClassExW

     最后成功HOOK了     这种方式是 修改程序代码  第一次见到

    第二  可以添加程序的菜单:

    //用 eXeScope	取修改  添加子菜单  记录下 
    //当消息为WM_COMMAND   , ID =  wParam也就是ID号
    	case WM_COMMAND:
    		if (wParam == 123)
    		{
    			MessageBoxA(hwnd,"成功添加我们的按钮","OK",MB_OK);
    		}
    		break;








  • 相关阅读:
    python网络编程之 创建一个socketserverTCP服务器
    python网络编程 之udp通信
    python网络连接之tcp通信
    python socket编程 ,tcp,udp服务端客户端创建
    python网络编程(一)
    python3.5连接mysql
    mysql使用2 Mysql可视化工具Navicat for MySQL
    mysql使用
    mysql的初次使用,设置密码
    python 常用技巧 — 杂
  • 原文地址:https://www.cnblogs.com/zcc1414/p/3982498.html
Copyright © 2011-2022 走看看