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 何為裝置...