最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

C++程序反編譯筆記(16) 修正掃雷窗口位置

2023-01-02 23:51 作者:GC_CH  | 我要投稿

????目前還存在一個(gè)比較明明顯的問(wèn)題

????啟動(dòng)項(xiàng)目后, 游戲只會(huì)出現(xiàn)在屏幕右上角.

CreateWindow

????一些重命名變量和函數(shù)的操作就跳過(guò)不說(shuō)了.

????在網(wǎng)上查了一下, 窗口的位置一般是用CreateWindow, 或MoveWindow來(lái)設(shè)置的.

????首先看一下WinMain中CreateWindow的調(diào)用.

????IDA Pro命名的X 和 Y 那里就是窗口的位置. 那么如何判斷是不是這里有問(wèn)題呢? 很簡(jiǎn)單, 把這兩個(gè)參數(shù)用常量替換一下然后運(yùn)行看結(jié)果就知道了,? 如果運(yùn)行后, 游戲窗口的位置和自己設(shè)置的常量位置一致, 那么就說(shuō)明這里錯(cuò)了, 否則, 說(shuō)明創(chuàng)建窗口后有其他地方修改了窗口的位置.

????經(jīng)過(guò)測(cè)試, 窗口位置還是在右上角.

MoveWindow

????接下來(lái)查看MoveWindow的調(diào)用

????只有這兩處調(diào)用了MoveWindow, 并且這兩處都使用了X和Y的值來(lái)設(shè)置位置(v3由Y賦值). 同樣的方法, 這次窗口出現(xiàn)在了設(shè)置的位置(300, 100).

修正位置

????其實(shí)上有一個(gè)很奇怪的地方,? 對(duì)X和Y的使用都是 *(_DWORD*)&X 或 *(int *)&X這種形式, 這不就是等價(jià)于 直接取X和Y的值嗎? 難道IDA Pro的bug?

????查看X和Y的定義, 發(fā)現(xiàn)X和Y居然是BYTE類(lèi)型的, BYTE類(lèi)型只有1個(gè)字節(jié), 使用的時(shí)候確實(shí)用到了4個(gè)字節(jié), 明顯是越界了.

????將X和Y的類(lèi)型改為int并修正所有使用到X和Y的地方后. 啟動(dòng)項(xiàng)目, 結(jié)果游戲的位置正確了.

????

????

????

C++程序反編譯筆記(16) 修正掃雷窗口位置的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
嫩江县| 大竹县| 合作市| 张家口市| 白城市| 蓝山县| 开阳县| 观塘区| 张家港市| 吕梁市| 乳源| 铁岭市| 济阳县| 呼伦贝尔市| 绥江县| 巨野县| 渝中区| 咸宁市| 德昌县| 三门峡市| 延边| 霍林郭勒市| 奉贤区| 鸡东县| 临江市| 永川市| 江西省| 浪卡子县| 永平县| 鄱阳县| 连州市| 阳高县| 河西区| 巴彦淖尔市| 五河县| 金昌市| 定兴县| 康保县| 乌兰浩特市| 武平县| 陆川县|