zoukankan      html  css  js  c++  java
  • C语言如何进行攻击修改数据

    本博客的例子在Windows下的vs2015版本进行的攻击测试,修改一段内存数据的地址的数据内容

    1.首先,在VS2015中新建一个空项目,点击源文件进行添加target.c文件,编写具体的代码如下:

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 #include <Windows.h> //使用的是Windows的API
     4 
     5 int main(int argc,char const *argv[])
     6 {
     7      int iCurValue = 0;
     8 
     9      printf("iCurValue address: 0x%x",&iCurValue); //主要是利用这个数据的地址进行攻击修改
    10 
    11      while(1)
    12     {
    13          Sleep(1000);  //延时1s,windows API的延时函数
    14          ++iCurValue;
    15          printf("
    %d",iCurValue);
    16     }    
    17 
    18      system("pause");
    19 
    20      return 0;  
    21 }

    这时候我们运行上述的代码,达到了ICurValue的地址。

    之后将这个运行程序设置为活动的

    2.打开另外一个VS2015程序软件,然后同样新建一个项目,名为attack,添加源文件为attack.c,具体的代码如下:

     1  #include <stdio.h>
     2  
     3 //_declspec  声明是外部的调用
     4 //dllexport    dll的导出
     5 
     6 _declspec(dllexport) void attack(void)
     7  {
     8       int *ptr = (int *)0x23fa0c;  //注意,这里必须进行强制转换,不然的话,指针会认为0x23fa0c这个内存地址仅仅是一个普通的数据而已
     9      *ptr = 10000;  //修改被攻击的数据的初始值
    10  }

    然后将这个程序的属性设置为动态库

    之后点击生成--->生成方案,就会在当前项目所在目录生成了attack.dll

    3.使用dllinject软件,进行婉转地修改攻击数据

     这样我们就改变了它的值

    通常情况下,可以应用到网吧中为自己账号充钱,当然,前提是你得知道你当前卡的地址或者你当前电脑在网管哪里的ID或者地址,否则无法修改哟 

  • 相关阅读:
    Orchard part8
    最有效地优化 Microsoft SQL Server 的性能
    MSSQL优化之索引优化
    Orchard使用中的坎坎坷坷
    GridView----CustomRowCellEdit 使用注意事项
    VS 编辑并继续(转载)
    Visual Studio 2010(.NET 4.0)中使用SQLite.NET
    .net环境下ckeditor与ckfinder中文文件链接乱码的问题
    jQuery常用方法集锦
    checkbox、select、radio的设置与获取
  • 原文地址:https://www.cnblogs.com/Older-Driver-of-Newer/p/6574151.html
Copyright © 2011-2022 走看看