公司奪旗比賽-iOS題

小專欄地址sass

前言

公司每一年的6月份會舉辦一場奪旗大賽,做爲讀書會的小組成員。我就負責出了一份比較簡單的iOS題bash

CTF移動端題目

1.灰原同窗提出能夠查看監控,但監控室的門是用密碼鎖上的,門上只有了一串英文字母MjM4MzIxNDE0Mg==,你能夠幫助少年偵探團打開門嗎?

解題思路
base64解碼獲得2383214142 
經過手機鍵盤-九宮格獲得
答案 CVAGH
複製代碼

2.在暗格門裏發現做案者留下的文件包,可是卻須要帳戶和密碼才能打開,經過下面的代碼和文件你能幫助柯南找出答案嗎?

@interface MyAccount : NSObject 

@property (nonatomic, copy) NSString *flag;

@end

@implementation MyAccount

@end
複製代碼
解題思路
一、.m文件實現NSCoding協議,補充代碼以下

#import "MyAccount.h"
@interface MyAccount()<NSCoding>
@end
@implementation MyAccount

- (void)encodeWithCoder:(NSCoder *)aCoder{
    [aCoder encodeObject:self.flag forKey:@"flag"];
}

- (id)initWithCoder:(NSCoder *)decoder {
    if (self = [super init]) {
        _flag = [decoder decodeObjectForKey:@"flag"];
    }
    return self;
}
@end


二、導入data包,NSKeyedUnarchiver解檔對象,獲得flag: c2h1aXJ1aWtlamljdGY=

NSString *dataFile = [[NSBundle mainBundle]pathForResource:@"data" ofType:@"asd"];
MyAccount *model = [NSKeyedUnarchiver unarchiveObjectWithFile:dataFile];
NSLog(@"dataFile = %@",model.flag);

三、使用base64解碼獲得
答案: shuiruikejictf
複製代碼

3.偵探少年團解答出帳戶和密碼後並打開文件包後,發現盜賊留下了一份挑戰書「你想要的密碼就在個人ipa包中」,你能從MySercretKey.ipa包中讀取到答案嗎?

解題思路
使用Hopper Disassembler工具反編譯
以下圖讀取到
flag = U2FsdGVkX18wjamzHeMlywW3nE/EPSImPYlN25ihcf0=
decode = shurui

使用AES 解密(密鑰shurui)
答案:flag = asdxczcsa
複製代碼
相關文章
相關標籤/搜索