zoukankan      html  css  js  c++  java
  • [保护模式]测试一致代码段

    1.首先 在被调试机器里定义一下代码

    // r3.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    
    
    #include <stdio.h>
    #include <stdlib.h>
    
    
    int gupdate_value = 0;
    int main(int argc,char * argv[])
    {
        char buf[]={0x0,0,0,0,0x90,0};
        unsigned int value = 0;
        *((unsigned int *) &buf[0])=0xF8AD1060;   
        printf("%X
    ",&gupdate_value);   //获取机器地址
        system("pause");
        __asm
        {
            mov eax,0xF8AD1060;
            mov eax,[eax];
            mov value,eax;
            call fword ptr ds:[buf]
        }
        printf("%X
    ",gupdate_value);
        printf("%X
    ",value);
        system("pause");
        return 0;
    }

    然后在调试机写个驱动程序

    #include <ntddk.h>
    
    VOID DriverUpload(PDRIVER_OBJECT pDriver)
    {
        KdPrint(("卸载完成
    "));
    }
    
    int g_value = 10;
    
    void  __declspec(naked) test()
    {
        __asm
        {
            int 3;
            mov eax, 0x2E7140;  //此地址是由被调试机获取的
            mov ebx, 0x100;
            mov[eax], ebx;
    
            retf;
    
        }
    
    
    
    }
    
    
    NTSTATUS DriverEntry(PDRIVER_OBJECT pDriver, PUNICODE_STRING pReg)
    {
        KdPrint(("welcome to driver world
    "));
        KdPrint(("%X
    ", test));
        pDriver->DriverUnload = DriverUpload;
        return STATUS_SUCCESS;
    }

    记住地址0x9A9CE270

     然后通过WinDBG 查询下函数地址是否正确

    0: kd> uf 0x9A9CE270
    9a9ce270 cc              int     3
    9a9ce271 b840711b00      mov     eax,1B7140h
    9a9ce276 bb00010000      mov     ebx,100h
    9a9ce27b 8918            mov     dword ptr [eax],ebx
    9a9ce27d cb              retf

    这里可以看到函数地址是正确的

    那接下来我们把

    0x9A9CE270 拆分成 10 10 12 分页

    9A9CE      270

    首先拆前5位并将它补齐

    0010 0110 1010   26A

    0001 1100 1101   1CD

  • 相关阅读:
    DTD
    JVM-学习笔记持续更新
    MySQL用limit代替SQL Server :top
    正则表达式&&Java文本复杂操作
    JVM核心——JVM运行和类加载全过程
    java动态编译——tools.jar问题
    java-基础
    github for windows 简单的客户端托管代码
    【javascript dom读书笔记】 第九章 CSS-DOM
    【精通css读书笔记】 第八章 布局
  • 原文地址:https://www.cnblogs.com/hanhandaren/p/11260032.html
Copyright © 2011-2022 走看看