錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務,錦州廣廈維修電腦,公司IT外包服務
topFlag1 設為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務項目 服務報價 維修流程 IT外包服務 服務器維護 技術文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務技術文章
[原創] 某校內CTF比賽逆向四道題的分析

作者: mortalboold  日期:2017-05-09 14:56:18   來源: 本站整理

一:簽到題0x01:運行程序,顯示flag就在這兒,直接IDA打開,進入main函數F5查看偽代碼。
 
0x02:看到一串奇怪的字符串,并且v10和這段字符串有操作,后面if語句有v10,我們試著將這個字符串輸入程序中運行,出現如下結果。
 
0x03:說明這串字符串就是正確的輸入,然后根據字符串的特征可以看出是base64加密的。隨便百度一個base64在線解密,順利解出flag。
 

二:easycrack:
0x01:運行程序,please input the right ans,將程序拖到ida里。F5查看偽代碼,有很多奇怪的函數,通過OD,IDA動靜結合

 

分析一下一些函數的用法。
 
0X02: 通過OD,可以看到其中的sub_4011ea和sub_401064,相當于printf和scanf函數,在IDA中按N修改名字。然后先隨便一組數據。


 
0x03 根據OD觀察內存變化,可以知道var_9c保存的是輸入的值,然后后面的sub_4011BD看返回值eax中值可以看

出這個函數求輸入的長度,
var_a0里保存長度,將var_9c改名為input,A0改名為l。
 
0x04 然后var_74置0,后面比較var_74和輸入的長度,大于(jge)等于就跳轉到右邊,否則進入左邊。
 
左邊的算法不是很清楚是什么操作,百度了一下,是對2去模的優化代碼,(詳細請

看blog.csdn.net/qq276592716/article/details/6971781)。
0x04:根據前面的優化代碼,確定如果var_74是奇數就跳轉到右邊的操作,否則進入左邊。左邊有

對var_78與5比較,小于等于才會進入左邊的流程,否則就退出了
。  
0x05 因為現在var_74的值是0,所以我們先看左邊的操作,通過OD。觀察返回值(eax)值得變化,
可知道sub_401136是取字符串的操作,改名為getstring
  
0x06 ,繼續往下看,接著是是getstring函數取var_8c的字符串,通過OD觀察eax的可以看到取出

的值是mortal,所以var_8c='mortal';
 
0x07:通過上面的分析左邊的流程注釋如下
 
接下來看流程圖可知是,var_78++;var_74++,然后跳轉到var_74和長度的比較,繼續循環。
0x08:再分析右邊的流程。因為左邊已經把函數的功能分析完成,所以右邊直接可以得出來,是將input的奇數位的數與3異或。
 
0x09;根據上面的分析,可以寫出對input進行操作的偽代碼i=0
x=0
str='mortal'
l=len(input)
for(i=0;i<len;i++)
{     if(i%2)
{         input=input^3}
      else{   
         f(x>5)      
            break;   
          input=input^str[x]  
          x++}}
0x0A:接下來就是看最后的比較了。首先var_74置0,與長度比較,大于就跳出循環,否則長度與25比

較,不相等退出循環,根據這里能退出輸入的長度為25位
 
0x0b 接下來就是講input[0]與var_70做比較,相同就繼續循環,var_74++;不等就把var_7c置0,跳出循環。
往上翻,可以看到var70到var_10有長度為25位的數據,正好與輸入位數相同,所以判斷是比較的字符串。
 
0x0c :寫出逆算法成功解出flag
 
三crackme0x01 這是一道安卓逆向,直接祭出神器JEB反編譯查看源碼。0x02 :找到mainactivety ,然后按TAB鍵直接反編譯出JAVA代碼
 
0x03:邏輯很簡單,就是輸入的奇數位與sincnuisasher異或,然后奇偶位交換,后與V2的值比較
 
0x03:把代碼直接復制到eclipse里,然后把算法反過來,先交換,再異或,然后將其中沒有聲明的變量聲明一下,運行,直接跑出flag.
 

四:way0x01 od,ida載入程序
0x02 和第二題一樣,繼續用OD找出其中奇怪的函數的作用。 一樣的首先找出了printf(40120d),和scanf(401064)函數,
在IDA中改名,然后隨便輸入1234567890,繼續在OD里面單步(F8)跟
 
0x03 根據返回值,可以判斷4011fe是算輸入的長度,然后送入var_38
。   
然后401145根據返回值可以知道也是個getstring。Var_2c保存的輸入的值,改名為input

0x04然后在IDA直接f5看偽代碼
 

  
發現只有四個if比較,就可以確認輸入只能為0123之中的數字。0x05 在后面可以看到,v8是一個標志位,如果為真的話,就輸入正

確,在v8初始化時0,所以看哪些地方能改變v8的值,使其是個非0值。

 
0x06:在偽代碼中,可以看出當getstring(v10)==“X”時,能使的v8為1,再根據匯編代碼和OD單步跟,可以發現這個比較里,getstring

是返回var_1c的值,
而var_1c=‘C*......*...****.*.****...*....*.*..**********.*..*....*...*...**.****.*.*...****.*....*.*******..*.***..*.....*.*.."    "***.**.***.*...****....*X..*’
  
V10相當于一個下標。所以getstring的返回值var_1c[v10]=”X”,的時候就是正確的時候。
0x07:v10初始化為0 ,而var_1c[72]才是‘x’,所以要找到v10的變化方式,通過偽代碼可以看到,
當輸入為0時,v10=v10-16,input=1時,v10=v10+1;Input=2時,v10=v10+16,input=3時,v10=v10-1;但是如果var+1c[v10]==”*”就會退出循環,
v8還是為0。
0x08:這是可以將var_1c看成是9*16的一個矩陣地圖,如圖。每行16元素,輸入0,相當于向上移,1等于右移,2代表向下移,3代表左移。
 
然后走到X的位置,路線為222122232211010011100333030011111211011211122332330332223221110011112233。
0x09 :IDA發現提示正確后,還讓我們看的清楚一些,后面還有一些函數,點最后一個函數進去(前面兩個點過去發現沒有

什么實際用處)。在OD中該函數的位置下斷點,f9運行到此函數出,單步走。
 
0x0A:找到flag
 
打了這么多能加精嗎,,,雖然很菜,哈哈。最后一張圖不知道為什么傳上來,,,在后面寫的時候排版沒問題啊,保存

后就變得奇怪了,最后還莫名其妙多了一張圖。題目下載:http://pan.baidu.com/s/1hsccBkC

圖片9.png (12.04 KB, 下載次數: 3)

 

圖片9.png


熱門文章
  • 機械革命S1 PRO-02 開機不顯示 黑...
  • 聯想ThinkPad NM-C641上電掉電點不...
  • 三星一體激光打印機SCX-4521F維修...
  • 通過串口命令查看EMMC擦寫次數和判...
  • IIS 8 開啟 GZIP壓縮來減少網絡請求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對講門禁讀卡異常維修,讀卡芯...
  • 新款海信電視機始終停留在開機界面...
  • 常見打印機清零步驟
  • 安裝驅動時提示不包含數字簽名的解...
  • 共享打印機需要密碼的解決方法
  • 圖解Windows 7系統快速共享打印機的...
  • 錦州廣廈電腦上門維修

    報修電話:13840665804  QQ:174984393 (聯系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號:遼ICP備2023002984號-1
    上門服務區域: 遼寧錦州市區
    主要業務: 修電腦,電腦修理,電腦維護,上門維修電腦,黑屏藍屏死機故障排除,無線上網設置,IT服務外包,局域網組建,ADSL共享上網,路由器設置,數據恢復,密碼破解,光盤刻錄制作等服務

    技術支持:微軟等
    主站蜘蛛池模板: 亚洲av无码无在线观看红杏| 无码尹人久久相蕉无码| 亚洲国产成人精品无码久久久久久综合| 久久久无码精品亚洲日韩蜜桃| 中文字幕无码不卡免费视频| 国产av无码专区亚洲av果冻传媒| 久久久久成人精品无码中文字幕| 亚洲区日韩区无码区| 无码免费午夜福利片在线| 东京热人妻无码一区二区av | 亚洲av无码日韩av无码网站冲 | 亚洲无码视频在线| 久久人妻无码中文字幕| 中文人妻无码一区二区三区| 无码射肉在线播放视频| 亚洲精品偷拍无码不卡av| 中文字幕人妻无码一夲道 | 日韩免费无码视频一区二区三区| 午夜精品久久久久久久无码| 无码亚洲成a人在线观看| 精品无码av一区二区三区| 国产成人精品无码免费看| 国产成人无码AV一区二区| 人妻少妇AV无码一区二区| 亚洲 无码 在线 专区| 粉嫩大学生无套内射无码卡视频 | 精品无码成人片一区二区| 无码午夜成人1000部免费视频 | 无码少妇精品一区二区免费动态| 无码人妻少妇伦在线电影| 亚洲午夜无码毛片av久久京东热| 无码一区二区三区在线观看| 性无码一区二区三区在线观看| 在线观看片免费人成视频无码| 一级毛片中出无码| 人妻AV中出无码内射| 久久无码av三级| 久久无码中文字幕东京热| 亚洲熟妇av午夜无码不卡| 无码中文av有码中文av| 无码人妻少妇久久中文字幕|