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

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

一道逆向題

2022-03-24 14:45 作者:rkvir逆向工程學(xué)院  | 我要投稿

查殼后程序是一個32位無殼的程序

拉到od和ida中分析一下

經(jīng)過分析,

首先分析第一個字符串比較的call

取字符串的第一個字符,循環(huán)字符串n次(n為字符串的長度),將第一個字符相加n次,然后這個值=550也就是0x226

所以這里只要滿足 字符*n=550 就可以,經(jīng)過后面的分析這里n需要填10(見下文)

也就是?7開頭長度為10 的字符串

接下來調(diào)試程序

在段首004010770地址下個斷點(ida中main函數(shù)開頭的地址)

我們一路單步(F8)來到這里,這里必須跳轉(zhuǎn)(可以修改標(biāo)志寄存器的S位改變是否跳轉(zhuǎn)),不然程序是不會進行字符串比較的

下面那個call就是進行字符串比較的call了

我們單步(F7)進入,發(fā)現(xiàn)這里面有兩個跳轉(zhuǎn)

第一個jnz就是==550的判斷

第二個jnz是字符串是否相等的判斷

對應(yīng)ida中

這里我們看到一串類似base64的字符串

搜索字符串看一下

猜測這里他自定義了base64編碼表

解密得到

因為這里解密到的長度是10,所以上面的n才為10,不然加密后的字符串長度是不夠的

此時我們測試一下,

當(dāng)算法call執(zhí)行完成后我們修改字符串為 上面解密到的,我們看能不能成功

在內(nèi)存窗口中修改后

然后來到字符串比較的地方

我們可以看到要進行比較的兩個字符串是一樣的

所以現(xiàn)在

只需要讓我們輸入的字符串經(jīng)過算法call后等于?? =>=:<2>?=2

然后分析一下算法的call

算法call里主要就是這個call,然后這個call執(zhí)行了4次,我們點進去

分析

第一次執(zhí)行的是4

第二次1

第三次2

第四次3

此時只需要將? =>=:<2>?=2 反推回來

也就是

先每一位+1,再除啦第一位后面每一位-3,再每一位xor9? 就可以了

然后寫腳本


一道逆向題的評論 (共 條)

分享到微博請遵守國家法律
台北市| 平阳县| 商河县| 阿鲁科尔沁旗| 兴山县| 栾川县| 湘潭县| 渝北区| 咸丰县| 囊谦县| 贵阳市| 丹巴县| 西平县| 江阴市| 鄂托克旗| 涞源县| 抚宁县| 荃湾区| 咸宁市| 闵行区| 榆社县| 余庆县| 昌乐县| 大同县| 延川县| 乌什县| 民权县| 清新县| 汤原县| 达孜县| 灵璧县| 柞水县| 永康市| 黔西县| 长宁县| 沽源县| 大兴区| 阜阳市| 澄江县| 东光县| 昌吉市|