C語言如何進行攻擊修改數據

本博客的例子在Windows下的vs2015版本進行的攻擊測試,修改一段內存數據的地址的數據內容windows

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("\n%d",iCurValue);
16     }    
17 
18      system("pause");
19 
20      return 0;  
21 }

這時候咱們運行上述的代碼,達到了ICurValue的地址。測試

以後將這個運行程序設置爲活動的spa

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  }

而後將這個程序的屬性設置爲動態庫code

以後點擊生成--->生成方案,就會在當前項目所在目錄生成了attack.dllblog

3.使用dllinject軟件,進行婉轉地修改攻擊數據內存

 

 

 這樣咱們就改變了它的值get

一般狀況下,能夠應用到網吧中爲本身帳號充錢,固然,前提是你得知道你當前卡的地址或者你當前電腦在網管哪裏的ID或者地址,不然沒法修改喲 博客

相關文章
相關標籤/搜索