日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ISCC2014-reverse

發布時間:2025/3/8 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ISCC2014-reverse 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這是我做reverse的題解。在咱逆向之路上的mark一下,,水平有限,大牛見笑。

?

題目及題解鏈接:http://pan.baidu.com/s/1gd3k2RL

宗女齊姜

果然是僅僅有50分的難度,OD直接找到了flag.

?

找到殺手

這題用OD做非常麻煩。我改用IDA了。又是秒破

將圖中字符串輸入,程序生成了四張撲克牌圖片。題目讓依據密文判斷。就4個字符串,一個一個試最多4次就出來了,哈哈

?

?

避難母國

這題挺有意思的,總共要經過13次聽取建議,太麻煩,在第一次是Andy后,以后都用改變寄存器狀態的方式跳過剩下的環節。最后程序打印出flag。

?

流亡齊國

用不成OD了,用Reflector得到關鍵函數的源代碼

但是我不會C#啊,找到精通C#的同學得到解密函數,并取得了flag.

?

?

?

?

何去何從

這題貌似簡單。事實上就是簡單,當然做出來了就感覺簡單,事實上有一個陷阱,僅僅要發現了就OK了。

這道題非常有誘惑性,按正常的思路非常快就得到了一個flag-like的家伙。

是vc 6.0的程序,非常easy就找到了main函數

進入后

當中的凝視是所有做完后的凝視。第一遍時非常正常的跳過了當中凝視為“不能調”、“這才是關鍵”的那部分代碼,進入了凝視為“關鍵進入”的函數,

?

?

這個函數首先經過0x13次的循環生成“(3q^;^3lfjq&D7V4Hhd”,然后與輸入的字符串比較。相等則顯示“是這個么”,不等則顯示“錯了”。似乎flag已經找到了,真對不起200分的價值是不是?,但是提交時卻發現不對,難道要對這個字符串做什么變換么?僅僅能回去再細致看看程序了。

又到了這一步,按程序的意思是。jnz是一定會跳的,可是里邊的兩個函數有什么用呢,于是決定進去看看,強制改了跳轉。F8跳過第二個函數后,程序打印出

,于是進去看看。

到了這一步,

再跟進去瞧瞧,

這和之前生成的那個0x13長的偽flag的生成算法是一樣的。執行完后在內存中找到這個字符串“(3q&vf2vw%f7Vj9Ookj”,這個就是FLAG了!


逃離臨淄

?

執行程序如圖

在程序函數中找到了GetWindowTextA函數,下斷點,

在編輯框中隨便輸入點東西后點“注冊”。到斷點

調用兩次這個函數。得到注冊名和注冊碼。存在0x18CD98和0x18CDB8處

在下圖這個函數中會對注冊碼進行變形

進入后

004016C0? /$?8B5424 04???? mov edx,dword ptrss:[esp+0x4]

004016C4? |.?57??????????? push edi

004016C5? |.?8BFA????????? mov edi,edx

004016C7? |.?83C9 FF?????? or ecx,0xFFFFFFFF

004016CA? |.?33C0????????? xor eax,eax

004016CC ?|.?F2:AE???????? repne scas byte ptres:[edi]

004016CE? |.?F7D1????????? not ecx

004016D0? |.?49??????????? dec ecx

004016D1? |.?83F9 1F?????? cmp ecx,0x1F???????????????? 推斷長度是否為0x1f

004016D4? |.? 7406???????? je XCrackMe?004016DC

004016D6? |.?32C0????????? xor al,al

004016D8? |.?5F??????????? pop edi

004016D9? |.? C20800?????? retn 0x8

004016DC? |>?8B4424 0C???? mov eax,dword ptrss:[esp+0xC]

004016E0? |.?53??????????? push ebx

004016E1? |.?56??????????? push esi

004016E2? |.?8BF2????????? mov esi,edx

004016E4? |.?8BC8????????? mov ecx,eax

004016E6? |.?2BF0????????? sub esi,eax

004016E8? |.? BF1F000000?? mov edi,0x1F

004016ED? |>?8A040E??????? /mov al,byte ptrds:[esi+ecx]

004016F0? |.? 3C30???????? |cmp al,0x30

004016F2? |.? 7C17???? ????|jl XCrackMe?

0040170B

004016F4? |.? 3C39???????? |cmp al,0x39

004016F6? |.? 7F13???????? |jg XCrackMe?

0040170B

004016F8? |.?0FBEC0??????? |movsx eax,al

004016FB? |.?83E8 2B?????? |sub eax,0x2B

004016FE? |.? BB0A000000?? |mov ebx,0xA

00401703? |.? 99??????????? |cdq

00401704? |.?F7FB????????? |idiv ebx

00401706? |.?80C2 30?????? |add dl,0x30

00401709? |.? EB34???????? |jmp XCrackMe?0040173F???????? (數字-2B)/ A 取余

0040170B? |>?3C 41???????? |cmp al,0x41

0040170D? |.? 7C17???????? |jl XCrackMe?00401726

0040170F? |.? 3C5A???????? |cmp al,0x5A

00401711? |.? 7F13???????? |jg XCrackMe?00401726

00401713? |.?0FBEC0??????? |movsx eax,al

00401716? |.?83E8 34?????? |sub eax,0x34

00401719? |.? BB1A000000?? |mov ebx,0x1A

0040171E? |.?99??????????? |cdq

0040171F? |.?F7FB????????? |idiv ebx

00401721? |.?80C2 41?????? |add dl,0x41

00401724? |.? EB19???????? |jmp XCrackMe?

0040173F???????? (大寫-0x34) / 1A 取余

00401726? |>?3C 61???????? |cmp al,0x61

00401728? |.? 7C17???????? |jl XCrackMe?

00401741

0040172A ?|.? 3C7A???????? |cmp al,0x7A

0040172C? |.? 7F13???????? |jg XCrackMe?00401741

0040172E? |.?0FBEC0??????? |movsx eax,al

00401731? |.?83E8 54?????? |sub eax,0x54

00401734? |.? BB1A000000?? |mov ebx,0x1A

00401739? |.?99??????????? |cdq

0040173A? |.? F7FB????????? |idiv ebx

0040173C? |.?80C2 61?????? |add dl,0x61???????????????? (小寫-0x54) / 1A 取余

0040173F? |>?8AC2????????? |mov al,dl

00401741? |>?8801????????? |mov byte ptrds:[ecx],al

00401743? |.?41??????????? |inc ecx

00401744? |.?4F??????????? |dec edi

00401745? |.^ 75 A6???????? \jnz XCrackMe?004016ED

00401747? |.?5E??????????? pop esi

00401748? |.?5B??????????? pop ebx

00401749? |.? B001???????? mov al,0x1

0040174B? |.?5F??????????? pop edi

0040174C? \.? C20800?????? retn 0x8

跳出這個函數后

下面都是對變形后的字符串進行的推斷。

推斷了三位。

再然后

是對后十位的比較,將后十位變成整形后與EDI比較。edi由下圖函數得到

?

?

?

還好這個結果與后十位的內容無關。

?

當一切判定條件都通過后,就來到最后彈出對話框的地方。

?

?

這個注冊碼vscc11-695356-695356-6494939865是2014年8月1日過期

這個注冊碼是2015年八月1日到期? vscc11-695356-605356-6456326018

?

?咱如今的逆向水平也就僅僅能做到這了,剩下的題希望能從大牛那里得到經驗。也算從這次比賽得到的最大收獲了。

?

?

總結

以上是生活随笔為你收集整理的ISCC2014-reverse的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。