第20章 內嵌補丁 練習

2022-03-09 03:37:44 字數 1130 閱讀 5745

4010f5 - 401249    xor     44

401007 - 401086    xor     7

4010f5 - 401249    xor    11

4010f5 - 401249  校驗和

40124a - 401280   xor    17

程式很簡單,迴圈做幾個xor , 乙個校驗和.

兩種思路,第一是將**寫到不被加密的地方,跳轉到不加密處,然後執行程式進行修改,這樣工作量小一點.

第二種是修改字串,但是要考慮加密解密.

在校驗和這個地方,修改為jne ,分別 xor ,得到 75 xor 7 = 72.

執行到修改**的現場資訊

訊息的格式如圖,首先是eb開頭,然後是字串個數,最後以00(null)結尾.因此在修改時需要注意修改對應的資料.

並且從4010f5到401284都需要複製下來,格式必須完全一樣.

經多次嘗試後失敗,儘管修改了函式引數,但是輸出仍然與預期不同.

採用書上的方法,將**寫入401280處:

最後執行成功,注意要在相應的節區頭獲取寫許可權,對沒有寫許可權記憶體進行寫操作時,會引發非法訪問.

記得同時修改jmp的xor加密.

第20章 Web程式設計 1

20.1 介紹 20.1.1 web應用 客戶端 伺服器計算 web客戶端和伺服器端互動使用的 語言 web互動的標準協議是http 超文字傳輸協議 http協議是tcp ip協議的上層協議,這意味著http協議依靠tcp ip協議來進行底層的交流工作。它的職責不是路由或者傳遞訊息 tcp ip協議...

第20章迭代器模式

一 概念 二 uml圖 三 c 實現 lesson1.h ifndef lesson1 h define lesson1 h pragma once include include include include using namespace std class concreteaggregate...

第3章練習題

1 在這一章中,所謂的過濾是什麼意思?有什麼意義?過濾是指下層驅動程式和上層軟體之間的過濾層,在上下層進行資料交換時進行掃瞄過濾的過程 2 何為核心物件?我們已經接觸到了哪幾種核心物件?核心物件是核心中的一塊記憶體,是一種資料結構,負責維護該物件的資訊。裝置物件,驅動物件,進執行緒物件 3 何為裝置...