Bridge 的目的在於認兩個類型的類別彼此之間不要有依賴的關係,而是都依賴介面。
如Render和Shape之間的關係。
Render有VectorRender及ScaleRender
Shape有Circle及Rectangle及...
如果以 inheritance 的方式來產生以VectorRender畫的Circle、以ScaleRender畫的Circle,那這樣類別的數量就會一直增加。
所以,我們讓Circle有一個IRender。
而IRender提供很多基本的方法,讓Circle可以透過這些方法畫出來。
因此,我們可以在建構Circle的時候,把真正的Render再放進去。
若是有新的Render,也都不用修改Circle。
2020年4月12日 星期日
2020年4月5日 星期日
Cheat Engine Step 7 Tutorial 中文翻譯
- Code Injection 可以讓你在Process中植入一段程式碼並且執行它。
- 在這個練習中,你會有一個生命值並且有一個按鈕。每次按一下按鈕會減少生命值1。你的任務就是使用Code Injection讓每次按按鈕增加生命值2。
1. 找到生命值的位置,並且找到有寫在寫入這個位置
2. 在disassemble中找到減少生命值的code,並且開啟 auto assembler window (ctrl +a)
3. 點擊template找到code injection並且給它減少生命值的位置,之後會自動產生可以讓你使用的組合碼
注意:
1. 在windows 2000 以前,你必需要找到一個記憶體區塊來放置 code ,但新的cpu已經不需要這樣做。
2. 在template中看到的 "place your code here" 就是放置你修改的code的地方
3. 有一個有用的指令碼為 "ADD instruction",以下是幾個範例
3-1. ADD [00901234],9 代表要增加9在這個00901234這個記憶體位置
3-2. ADD [ESP+4],9 代表要在ESP+4 這個記憶體位置的值再加上9
4. 你應該要刪掉原本的code,不然你需要一次新增生命值3。因為原本減1,再加上inject code + 2。所以總共 + 3
- 在這個練習中,你會有一個生命值並且有一個按鈕。每次按一下按鈕會減少生命值1。你的任務就是使用Code Injection讓每次按按鈕增加生命值2。
1. 找到生命值的位置,並且找到有寫在寫入這個位置
2. 在disassemble中找到減少生命值的code,並且開啟 auto assembler window (ctrl +a)
3. 點擊template找到code injection並且給它減少生命值的位置,之後會自動產生可以讓你使用的組合碼
注意:
1. 在windows 2000 以前,你必需要找到一個記憶體區塊來放置 code ,但新的cpu已經不需要這樣做。
2. 在template中看到的 "place your code here" 就是放置你修改的code的地方
3. 有一個有用的指令碼為 "ADD instruction",以下是幾個範例
3-1. ADD [00901234],9 代表要增加9在這個00901234這個記憶體位置
3-2. ADD [ESP+4],9 代表要在ESP+4 這個記憶體位置的值再加上9
4. 你應該要刪掉原本的code,不然你需要一次新增生命值3。因為原本減1,再加上inject code + 2。所以總共 + 3
訂閱:
意見 (Atom)