公司夺旗比赛-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
复制代码
相关文章
相关标签/搜索