rUGP引擎在win10下是可以正常啟動的,但是遊戲進行時,時常會在隨機時間崩潰,
在skip時機率更高,skip時在30秒內崩潰的機率幾乎百分百,雖然可以透過存檔繼續推進遊戲,但是這對遊戲的連貫性造成了很大的影響。
第一個想法當然是用 OllyDbg 開啟執行檔來追蹤,不過這裡要用另外的方法找出出問題的地方,流程如下:
1. 直接啟動遊戲,觸發崩潰
2. 選擇"除錯",使用visual studio進行除錯
3. 用vs定位除錯的code
4. 利用IDA分析出錯的部分
現在一步一步來:
1. 直接啟動遊戲,觸發崩潰
直接開始遊戲,按住Ctrl進行skip,遊戲很快就會崩潰:
2. 選擇"除錯",使用visual studio進行除錯:
3. 用vs定位除錯的code
4. 利用IDA分析出錯的部分
直接以IDA開啟UnivUI.dll,利用 "Search for sequence of bytes" 這個功能搜尋這幾條指令的 binary code:
只有找到一處:
打開一看,對照一下,果然就是出用VS找出來的地方:
接下來就是分析的部分了,下一篇再繼續吧。
在skip時機率更高,skip時在30秒內崩潰的機率幾乎百分百,雖然可以透過存檔繼續推進遊戲,但是這對遊戲的連貫性造成了很大的影響。
第一個想法當然是用 OllyDbg 開啟執行檔來追蹤,不過這裡要用另外的方法找出出問題的地方,流程如下:
1. 直接啟動遊戲,觸發崩潰
2. 選擇"除錯",使用visual studio進行除錯
3. 用vs定位除錯的code
4. 利用IDA分析出錯的部分
現在一步一步來:
1. 直接啟動遊戲,觸發崩潰
直接開始遊戲,按住Ctrl進行skip,遊戲很快就會崩潰:
2. 選擇"除錯",使用visual studio進行除錯:
3. 用vs定位除錯的code
4. 利用IDA分析出錯的部分
直接以IDA開啟UnivUI.dll,利用 "Search for sequence of bytes" 這個功能搜尋這幾條指令的 binary code:
只有找到一處:
打開一看,對照一下,果然就是出用VS找出來的地方:
接下來就是分析的部分了,下一篇再繼續吧。
留言
張貼留言