标题:
對於反匯編新手的一個疑問
[打印本页]
作者:
dennis2669
时间:
2013-3-9 22:13
标题:
對於反匯編新手的一個疑問
事實上我對劇本data 做一個mod的所有東東都齊備了..
但是最重要的引擎..我到現在都無能為力
即使看完毅大的教程..我明白了反匯編的指令
我也看明白在其他教程中.為什麼要用這些指令.看明白有一段指令的用法
但是指令寫的位置.我現在都不明白..
假如沒有位置 就新增一個區段..跳出到那裡 繼續寫代碼..
但是如果想在舊引擎新增一個新特技..應該在那寫..還有就是為什麼在那寫..
還有就是為什麼要跳出..不可以直接在空白寫....
作者:
WHITESHIP
时间:
2013-3-9 22:25
每一個區域的整塊代碼是負責一個功能,互相之間彼此調用。不是隨便哪個空白地址都有用的。
這個區域大小在OLLYDBG最左邊一般會有個框子框起來。
假如你要增加吸血攻擊,那麼就要找到負責計算攻擊后雙方HP、MP、EXP變化的代碼,增加特效的判斷,再計算HP恢復。
至于代碼位置怎麼找就很難了,沒有方法,如果很容易找,那曹操傳EXE早就被我們改得面目全非了。
[
本帖最后由 WHITESHIP 于 2013-3-9 22:26 编辑
]
作者:
dennis2669
时间:
2013-3-9 22:30
标题:
回复 #2 WHITESHIP 的帖子
但是如果那段
「負責計算攻擊后雙方HP、MP、EXP變化的代碼,增加特效的判斷,再計算HP恢復。」
沒有位置了.那如何寫..
作者:
阿尔法孝直
时间:
2013-3-9 22:32
标题:
回复 #3 dennis2669 的帖子
给程序末尾增加一些字节,然后跳到这里写代码,再跳回去。
作者:
WHITESHIP
时间:
2013-3-9 22:33
标题:
回复 #3 dennis2669 的帖子
可以CALL個新函數,但是母函數里的堆棧就不能用了。
也可以JMP出去。
或者改寫代碼來壓縮空間,不過比較難。
作者:
godtype
时间:
2013-3-9 22:38
初学阶段就先用JMP跳去扩展后的区段写,写完跳回来。
经验积累得差不多就要压缩改写。
欢迎光临 轩辕春秋文化论坛 (http://xycq.org.cn/forum/)
Powered by Discuz! 5.0.0