https://adworld.xctf.org.cn/task/answer?type=reverse&number=4&grade=0&id=5075
先拖進(jìn)IDA康康,
反編譯
大概就是先把一串字符賦值給v13玻靡,開一個(gè)v10集漾,你需要輸入v9(點(diǎn)進(jìn)去aS發(fā)現(xiàn)v9是字符串)且其長(zhǎng)度不能大于17惭墓,v10即v8即把字符串(v9)按照十六進(jìn)制輸出涡相,最后看v10和v13是否相等挂签,相等輸出success苞氮,反之輸出wrong谈为。
(備注1:sprintf 返回以format為格式argument為內(nèi)容組成的結(jié)果被寫入string的字節(jié)數(shù)旅挤,結(jié)束字符‘\0’不計(jì)入內(nèi)。如果成功伞鲫,則返回寫入的字符總數(shù)粘茄,不包括字符串追加在字符串末尾的空字符。如果失敗秕脓,則返回一個(gè)負(fù)數(shù)柒瓣。
備注2:strcat把后面的復(fù)制到前面的字符串的后面,即兩個(gè)字符串相連)
簡(jiǎn)單點(diǎn)吠架,就是把v13轉(zhuǎn)換成char(把v13看作是16進(jìn)制的數(shù)芙贫,兩位十六進(jìn)制對(duì)應(yīng)一個(gè)字符)
懶人網(wǎng)站:http://www.ab126.com/goju/1711.html#ecms
沒(méi)錯(cuò),懶人網(wǎng)站
success!