五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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ó)家法律
梧州市| 宜丰县| 江阴市| 洛隆县| 乌海市| 和田市| 饶河县| 景宁| 德保县| 江城| 宝清县| 双牌县| 张家口市| 平远县| 万荣县| 新宾| 荥经县| 和硕县| 八宿县| 安化县| 蕉岭县| 泰州市| 南开区| 德州市| 环江| 永德县| 开平市| 昌乐县| 宁南县| 贵定县| 内黄县| 巨鹿县| 乐至县| 澄迈县| 互助| 定州市| 保山市| 二连浩特市| 崇义县| 霍山县| 阿巴嘎旗|