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

歡迎光臨散文網(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ó)家法律
沁源县| 南郑县| 手游| 塔城市| 龙江县| 马尔康县| 德清县| 商河县| 巫山县| 安阳县| 新郑市| 千阳县| 青海省| 神农架林区| 东丽区| 彩票| 武城县| 阿城市| 乐业县| 眉山市| 颍上县| 锡林郭勒盟| 宁乡县| 广昌县| 金湖县| 宁蒗| 左权县| 遂宁市| 长春市| 桐城市| 汾阳市| 濮阳市| 连江县| 石家庄市| 乳山市| 永年县| 含山县| 抚松县| 泾源县| 西吉县| 栾川县|