国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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ó)家法律
海晏县| 和政县| 天台县| 涿鹿县| 安化县| 祥云县| 灵武市| 东平县| 绥江县| 兴安盟| 黄石市| 凯里市| 孟连| 石楼县| 黄梅县| 沾益县| 崇礼县| 龙川县| 达日县| 馆陶县| 建平县| 如东县| 定州市| 灵石县| 霍州市| 乌审旗| 呼玛县| 琼中| 榆林市| 共和县| 邮箱| 津南区| 阿图什市| 石棉县| 黄冈市| 浮梁县| 德令哈市| 天津市| 开远市| 乐陵市| 云霄县|