2010年7月2日 星期五

簡易一般代碼更新(win745dog)

相信有很多人都會更新代碼了...
不過還是常常看到有人不知道如何更新,
因此再此為新手們做個簡易的教學文章!!

在此使用 "笨怪" 的代碼,從66版更新到68版的教學!!
會更新笨怪代碼後,其他代碼也可以用此方式來做更新!!
--------------------開始--------------------
如下圖可得知66版的笨怪代碼位址,
要更新代碼的話,
最重要的就是他的AOB碼,
您可以看到他的位址在 007579AC,
把他的aob記下來以便於在68版裡面進行找代碼的動作,
很多人會想說要如何判斷哪個是固定 bytes,
然而哪個又是變動 bytes 呢??
第一點:第一個 bytes 皆為固定的
第二點:第二個 bytes 後面的就要看 Opcode 的內容是什麼了!!


從第一點可以得知 "75" 為固定 bytes 相當等於運算元的 jne,
而 "1a" 為 "007579c8",
您想想看,
雖然運算元不會變動,
但是他所存在的位址不見得會是再同一個地方,
看看後面跳躍的位址是 "007579c8",
改版後相對的是會改變的,
而會改變的就是 "變動的 bytes",
至於變動的位址可以用 2個問號替代為變動的bytes,
所以笨怪的aob一開始就先記下 75 ??
只有用2個bytes找代碼一定會找到很多的位址,
所以要縮小找的範圍,
就要在往下繼續的記下後面的aob,
一樣的...第一個bytes為固定的,
所以就在 75 ?? 後面接著寫下 6a,
6a 14 的 "14" 可以看出是個變動 byres,
所以把他用 ?? 作為替代,
目前步驟所記下的aob為 75 ?? 6a ??
這樣就可以縮小範圍了,
不過您會發現還是會找到很多,
那就繼續的往下重複上面的步驟,
到了這裡,您會了嗎??

若您還是不知道哪個是變動 哪個是固定的 bytes 的話,
可以把2版的位址機碼對照看看!!

↓此為66版笨怪的記憶體圖↓


↓此為68版笨怪的記憶體圖↓


§ 溫馨小提示:有些機碼會是固定的,故不會有變動bytes
(例如 "6a 14" 在2版的記憶體可以看到都是沒有變的,故可以將上方的 75 ?? 6a "??" 改成 "14",不過若哪一天 他的機碼變了,您就會找不到他的位址了 QQ)



§ 此教學只在 "浪漫月光" 發出,禁止轉貼到其他任何一個網站 §
§ 如有錯誤地方,還請大大們多多指正我,謝謝! §
§ 心得:打的好累...犧牲許多寶貴時間,沒讀到書、沒玩到遊戲,要好好學喔!! @@"
§ 您的回覆是我的動力 ^^

沒有留言:

張貼留言