南京郵電ctf ——逆向

逆向

  1. 將exe文件放入ida之中運(yùn)行,然后使用f5將其轉(zhuǎn)換成類似c語(yǔ)言的形式,在使用R鍵將那些串轉(zhuǎn)換成字符日月,再按照strcmp指示,得出flag染乌。

將文件按照txt格式打開(kāi)山孔,可得到匯編代碼。

圖片.png

注釋加的可能有些錯(cuò)誤

進(jìn)行題目的時(shí)候匯編了解不多荷憋,也沒(méi)有將這些東西重新變回所執(zhí)行的操作台颠,只是簡(jiǎn)單的類似翻譯英文時(shí)直接按照字典的方法,把一個(gè)一個(gè)單詞翻譯成漢語(yǔ)勒庄。但沒(méi)有理解其中所表達(dá)的意思串前。

附注:十六進(jìn)制轉(zhuǎn)換表


圖片.png

那么轉(zhuǎn)換思想把其轉(zhuǎn)換成c語(yǔ)言的代碼,兩者結(jié)合去理解這些匯編語(yǔ)言实蔽。

之后荡碾,再次進(jìn)行解題
1,第一次發(fā)現(xiàn)在其中有0x1c的數(shù)局装,正好對(duì)應(yīng)input數(shù)組中所有的元素個(gè)數(shù)坛吁,說(shuō)明應(yīng)該是對(duì)數(shù)組中所有數(shù)操作。
2铐尚,之后在后方有一個(gè)jle<28的判斷說(shuō)明確實(shí)按照此操作進(jìn)行拨脉,當(dāng)>28時(shí)執(zhí)行結(jié)束
(其中 rdx——rax
edx——rcx
rcx——rdx 作為累加)

3 ,之后判斷操作是什么宣增,其中有xor玫膀,該指令是異或操作
4,因?yàn)橹荒芸炊@些爹脾,但具體如何落實(shí)到每一個(gè)數(shù)組中的元素便要繼續(xù)更細(xì)致解讀
5帖旨,結(jié)合c語(yǔ)言傳入形參數(shù)組時(shí)的操作進(jìn)行(因?yàn)椴惶靼讌R編的進(jìn)程)
6箕昭,那么按照c語(yǔ)言的形式,其中func函數(shù)傳入兩個(gè)形參input[28]解阅,另外一個(gè)為28
7落竹,第一行是進(jìn)棧
8,三四兩句便是存入兩個(gè)參數(shù)
9瓮钥,其它按照注釋進(jìn)行筋量,那么意思便是將一個(gè)數(shù)和當(dāng)前位置進(jìn)行異或運(yùn)算
10,但不明白異或運(yùn)算進(jìn)行時(shí)應(yīng)該是否轉(zhuǎn)換成二進(jìn)制在進(jìn)行
11碉熄,在判斷時(shí)桨武,我看成是把當(dāng)前元素和前面的元素進(jìn)行異或運(yùn)算,但發(fā)現(xiàn)結(jié)果實(shí)在是出乎意料
12锈津,繼續(xù)鉆空子呀酸,因?yàn)檫@是ctf題目,提交的時(shí)候我可以確定前面五個(gè)和最后一個(gè)應(yīng)該是什么琼梆,flag{}
13性誉,那么我便把這些按照表中的字符一 一對(duì)應(yīng),找到應(yīng)該是那些數(shù)字
14茎杂,找到規(guī)律错览,通過(guò)這種方式,找到func()函數(shù)是怎么進(jìn)行的
15煌往,先是用c語(yǔ)言嘗試出結(jié)果但因?yàn)閐ev編譯器上的異或運(yùn)算似乎有錯(cuò)誤倾哺,便沒(méi)有繼續(xù)進(jìn)行
16,在之后看了一點(diǎn)python
17刽脖,得到flag

下方附上這道題用上的東西:

1.movsxd 指令為擴(kuò)展至零
將32位的寄存器和內(nèi)存操作數(shù)符號(hào)擴(kuò)展到64位的寄存器
2.邏輯異或運(yùn)算指令 XOR
XOR OPRD1,OPRD2
實(shí)現(xiàn)兩個(gè)操作數(shù)按位‘異或’(異為真,相同為假)運(yùn)算,結(jié)果送至目的操作數(shù)中.
OPRD1<--OPRD1 XOR OPRD2
3.JLE
小于等于時(shí)轉(zhuǎn)移

  1. rdx——rax
    edx——rcx
    rcx——rdx 作為累加

input = [0x67,0x6e,0x62,0x63,0x7e,0x74, 0x62, 0x69, 0x6d, 0x55, 0x6a, 0x7f, 0x60, 0x51, 0x66, 0x63, 0x4e, 0x66, 0x7b,0x71, 0x4a, 0x74, 0x76, 0x6b, 0x70, 0x79, 0x66 , 0x1c]

十進(jìn)制為:input={0,103,110,98,99,126,116,98,105,109,85,106,127,96,81,102,99,78,102,123,113,74,116,118,107,112,121,102};

c語(yǔ)言解出:

include<stdio.h>

int main()
{

int i,j=1;
int a;
int input[28]={0,103,110,98,99,126,116,98,105,109,85,106,127,96,81,102,99,78,102,123,113,74,116,118,107,112,121,102};
for(i=1;i<28;i++)
{
    a=input[i]^i;
    printf("%c",a);
}
return 0;

}

1, qword 八個(gè)字節(jié)
2羞海,dword 四個(gè)字節(jié)

腳本跑出flag:
https://c.runoob.com/compile/6
python:

a = [0x67,0x6e,0x62,0x63,0x7e,0x74, 0x62, 0x69, 0x6d, 0x55, 0x6a, 0x7f, 0x60, 0x51, 0x66, 0x63, 0x4e, 0x66, 0x7b,0x71, 0x4a, 0x74, 0x76, 0x6b, 0x70, 0x79, 0x66 , 0x1c]
b = ""
for x in range(1,29):
b=b+chr(a[x-1] ^ x)
print b

flag{read_asm_is_the_basic}

總結(jié):
1,在關(guān)鍵位置判斷失誤曲管,看成了和前面的元素進(jìn)行異或運(yùn)算
2却邓,在用c語(yǔ)言運(yùn)行的時(shí)候,沒(méi)有發(fā)現(xiàn)錯(cuò)誤院水,英語(yǔ)不好腊徙,沒(méi)發(fā)現(xiàn)用的是八進(jìn)制
3,把所有的東西轉(zhuǎn)換成自己知道的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末檬某,一起剝皮案震驚了整個(gè)濱河市昧穿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌橙喘,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件胶逢,死亡現(xiàn)場(chǎng)離奇詭異厅瞎,居然都是意外死亡饰潜,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門和簸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)彭雾,“玉大人,你說(shuō)我怎么就攤上這事锁保∈碓停” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵爽柒,是天一觀的道長(zhǎng)吴菠。 經(jīng)常有香客問(wèn)我,道長(zhǎng)浩村,這世上最難降的妖魔是什么做葵? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮心墅,結(jié)果婚禮上酿矢,老公的妹妹穿的比我還像新娘。我一直安慰自己怎燥,他們只是感情好瘫筐,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著铐姚,像睡著了一般策肝。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谦屑,一...
    開(kāi)封第一講書(shū)人閱讀 51,718評(píng)論 1 305
  • 那天驳糯,我揣著相機(jī)與錄音,去河邊找鬼氢橙。 笑死酝枢,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的悍手。 我是一名探鬼主播帘睦,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼坦康!你這毒婦竟也來(lái)了竣付?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤滞欠,失蹤者是張志新(化名)和其女友劉穎古胆,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡逸绎,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年惹恃,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片棺牧。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡巫糙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出颊乘,到底是詐尸還是另有隱情参淹,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布乏悄,位于F島的核電站浙值,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏纲爸。R本人自食惡果不足惜亥鸠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望识啦。 院中可真熱鬧负蚊,春花似錦、人聲如沸颓哮。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)冕茅。三九已至伤极,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間姨伤,已是汗流浹背哨坪。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留乍楚,地道東北人当编。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像徒溪,于是被迫代替她去往敵國(guó)和親忿偷。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 第2章 基本語(yǔ)法 2.1 概述 基本句法和變量 語(yǔ)句 JavaScript程序的執(zhí)行單位為行(line)臊泌,也就是一...
    悟名先生閱讀 4,150評(píng)論 0 13
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理鲤桥,服務(wù)發(fā)現(xiàn),斷路器渠概,智...
    卡卡羅2017閱讀 134,667評(píng)論 18 139
  • 人生是一場(chǎng)修行茶凳,苦難是生命的常態(tài)。 上帝在為你關(guān)上一道門的同時(shí)也會(huì)為你打開(kāi)一扇窗』弁可是這種說(shuō)法在主人公福貴這里行不...
    sonkiujhon閱讀 365評(píng)論 0 0
  • 遇見(jiàn)挫折是否有想過(guò)放棄顷牌,是不是很想成為一個(gè)非常富有的人,想有無(wú)盡的財(cái)富 塞淹,想擁有什么就能有什么,女神猶如仙云轉(zhuǎn)瞬...
    世界的美燼閱讀 665評(píng)論 0 0
  • “愛(ài)情最美的風(fēng)景” 你一個(gè)人所向披靡看盡世界的繁華無(wú)限榮光峡继,都不如抬頭之處誰(shuí)家溫暖房間散出的點(diǎn)點(diǎn)燈光和盈盈笑語(yǔ)動(dòng)人...
    三王先生閱讀 789評(píng)論 2 0