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

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

反編譯記事本(3) 解決編譯錯(cuò)誤

2023-02-06 21:19 作者:GC_CH  | 我要投稿

????上一篇文章漏掉了一步, 那就是去除@<寄存器名>的操作. IDA Pro導(dǎo)出的代碼中, 如果一個(gè)函數(shù)不是常規(guī)的參數(shù)傳遞方式, 而是使用了特定的寄存器來(lái)傳遞參數(shù)的話, 這個(gè)函數(shù)會(huì)被聲明為_(kāi)_usercall, 而且函數(shù)名或參數(shù)后面會(huì)加上一個(gè)@<寄存器名>的符號(hào).

????比如這個(gè)函數(shù), 函數(shù)名后的@<eax>表示返回值放在EAX寄存器, a1后的@<eax>表示a1這個(gè)參數(shù)放在EAX寄存器中.

????記事本項(xiàng)目的編譯錯(cuò)誤很多, 接下來(lái)分類列舉解決辦法.

類型未定義

? ? (1) 對(duì)于類型, 肯定是用來(lái)聲明變量的. 如果一個(gè)類型沒(méi)有定義, 那么看使用這個(gè)類型的地方, 如果這個(gè)類型的變量沒(méi)有使用到(全局搜索), 那么可以注釋掉(或者刪掉)用這個(gè)類型聲明變量的語(yǔ)句.

????比如, 上一篇文章刪掉了 start 函數(shù), 那么只在start函數(shù)中使用到變量也是可以刪掉的.

? ? (2) 其次, 類型未定義, 很可能是沒(méi)有包含對(duì)應(yīng)的頭文件, 網(wǎng)上搜索后, 包含對(duì)應(yīng)的頭文件. 比如 _snwprintf_s 需要包含 wchar.h 才能使用.

類型對(duì)不上

????聲明了某種類型的一個(gè)變量, 但是使用其他類型的值來(lái)給這個(gè)變量賦值. 這種情況直接強(qiáng)制類型轉(zhuǎn)換一般就能解決問(wèn)題. C語(yǔ)言中大多數(shù)類型都是可以強(qiáng)制類型轉(zhuǎn)換的, 完全可以把一個(gè)結(jié)構(gòu)體變量當(dāng)作整型數(shù)組來(lái)使用.?

強(qiáng)制轉(zhuǎn)為int *

????

未初始化錯(cuò)誤

????這種錯(cuò)誤百分百是IDA Pro識(shí)別錯(cuò)誤, 屬于邏輯錯(cuò)誤, 現(xiàn)在不處理, 全部初始化為0就好.

????這里一看就是數(shù)組大小沒(méi)有識(shí)別對(duì), 但是現(xiàn)在先不管.

復(fù)雜錯(cuò)誤

????有些編譯錯(cuò)誤很麻煩, 比如直接訪問(wèn)寄存器的函數(shù). 對(duì)于這種錯(cuò)誤, 先把它放一邊, 以后再處理, 先讓項(xiàng)目可以跑起來(lái)才是硬道理. 做法是將整個(gè)函數(shù)內(nèi)的語(yǔ)句全部注釋起來(lái), 然后再加上一個(gè)throw 語(yǔ)句, 以便跑起來(lái)后運(yùn)行到這里時(shí), 提醒我們?cè)摻鉀Q這個(gè)問(wèn)題了.

????

成果

????記事本項(xiàng)目就這么多編譯錯(cuò)誤了, 好了, 現(xiàn)在可以運(yùn)行項(xiàng)目看看效果了.

????欲知后事如何, 且聽(tīng)下回分解.

反編譯記事本(3) 解決編譯錯(cuò)誤的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
舟曲县| 台前县| 偃师市| 临江市| 石门县| 鞍山市| 扶余县| 西平县| 哈巴河县| 仁布县| 闻喜县| 龙游县| 汶上县| 瑞丽市| 虎林市| 光泽县| 耒阳市| 曲阜市| 景德镇市| 鲜城| 方山县| 江城| 阳江市| 枣阳市| 双牌县| 广饶县| 长垣县| 常州市| 张家川| 天长市| 河池市| 定远县| 洛浦县| 郎溪县| 大竹县| 达孜县| 西宁市| 邵阳市| 且末县| 钟祥市| 广州市|