當前位置:編程學習大全網 - 源碼下載 - bin二進制文件怎麽打開.或者怎麽修改

bin二進制文件怎麽打開.或者怎麽修改

修改方法首先給出壹段非常簡單的C++代碼,以引出文章將要討論的話題:#include <iostream>

using namespace std;void main( )

{

int i=0;

cout<<"i="<<i<<endl; system("pause");

}

這段代碼編譯運行後的輸出毫無疑問是:i=0 ...現在我要做的事情是不修改源代碼的情況下,讓程序的輸出任何想輸出的數據。首先反匯編得到其對應的匯編源代碼。很容易找到int i=0;對應的匯編代碼,進而得到相應的機器二進制編碼:c7 45 f8。這壹串十六進制數字就是int i=0的機器代碼表示。然後利用UltraEdit直接打開程序的可執行文件,在其中搜索“c7 45 f8”,通常這樣的搜索會得到多個匹配的結果。在每壹個結果處,再查看後面的機器代碼與匯編後相應地方的機器代碼是否相符,如果相符,就說明找到了正確的地方。成功搜索後,會發現c7 45 f8後面跟上了四組00。第壹組代表壹個字節,因為目前使用的個人電腦壹般是32位,也就是四個字節,所以有四組00。也就是i的值,所以修改這個數字就可以改變可執行文件中二進制代碼所代表的變量值。由於我電腦使用的Intel x86構架,所以是little endian。把c7 45 f8 00 00 00 00 修改成:c7 45 f8 0f 00 00 00.保存修改,再次運行程序,發現程序的輸出為:i=15...

  • 上一篇:紅帽6下用rpm搭建lamp 需要用到哪些包
  • 下一篇:(200分)VB 獲取本機IP和重新獲取IP問題
  • copyright 2024編程學習大全網