全国大学生信息安全竞赛writeup--珍贵资料(reverse200)
来源:互联网 发布:大数据魔镜免费吗 编辑:程序博客网 时间:2024/06/10 07:09
描述
你无意间得到了一些珍贵资料,可惜他们看起来不知道是什么,据说解开它可以得到flag神器。
tips:flag是flag{结果}
附件描述:
文件名:珍贵资料.zip
校验(SHA1):4EF84DF5B34C12DED8EC3F603CFBC065251864B4
思路
一个压缩文件,打开解压得到unknown和unknown2,unknown2是一个apk,unknown不知道是啥。安装apk得到一个登陆界面,jeb查看,发现有好几个activity.loginActivity用来登陆。登陆的检测是通过USER_NAME和输入的用户名直接比较,然后PASSWORD和加密之后的输入进行比较。加密过程
public static String Encryption(String s) { String v5; StringBuilder v4 = new StringBuilder(); if(s == null || s.length() < 1) { System.out.println("you Input nothing."); v5 = null; } else { s = s.toLowerCase(); int v3 = s.length(); int v2; for(v2 = 0; v2 < v3; ++v2) { int v0 = "ijklmstuvwxyz0123abcdenopqrfgh456789".indexOf(s.charAt(v2)); if(v0 == LoginActivity.LEN - 1) { v0 = -1; } if(v0 == LoginActivity.LEN - 2) { v0 = -2; } if(v0 == LoginActivity.LEN - 3) { v0 = -3; } v4.append("ijklmstuvwxyz0123abcdenopqrfgh456789".charAt(v0 + 3)); } v5 = v4.toString(); } return v5; }其中 public static final String SOURCE = "ijklmstuvwxyz0123abcdenopqrfgh456789";
可是用来比较的用户名和密码哪里来的呢? 打开unknown,二进制文件,不过可以看到文件头,是android backup。有一个工具是android-backup-extract-master,github上有,下下来,自己编译一下,打开unknown,就可以得到一个xml文件里边写了用户名和密码了。
<?xml version='1.0' encoding='utf-8' standalone='yes' ?><map> <string name="PASSWORD">dudqlvqrero1</string> <string name="USER_NAME">user</string></map>
根据加密规则,比较简单直接写出逆算法
public static String Decryption(String arg) { String str = "ijklmstuvwxyz0123abcdenopqrfgh456789"; StringBuilder stringBuilder = new StringBuilder(); for (int i = 0;i < arg.length();i++) { int x = str.indexOf(arg.charAt(i)); if (x - 3 == -1) { x = Main.LEN - 1; } if (x - 3 == -2) { x = Main.LEN - 2; } if (x - 3 == -3) { x = Main.LEN - 3; } stringBuilder.append(str.charAt(x - 3)); } return stringBuilder.toString(); }
得到字符串为amanisnobody。其实试一下会发现这就是flag..然而如果有空看看另外的一个没用的activity会有一个简单的加密,是用的异或,再异或回来会发现。。这确实就是flag。
0 0
- 全国大学生信息安全竞赛writeup--珍贵资料(reverse200)
- 全国大学生信息安全竞赛writeup--careful(pwn150)
- 全国大学生信息安全竞赛writeup--暗号(reverse300)
- 全国大学生信息安全竞赛writeup--拯救地球(reverse500)
- 『reverse』2016年全国大学生信息安全大赛——珍贵资料解题报告
- 第十届全国大学生信息安全竞赛一道Web题的Writeup
- 2017 Redhat广东省信息安全竞赛 Writeup
- 第九届全国大学生信息安全竞赛之旅
- 记第七届全国大学生信息安全技术大赛暨四川省大学生信息安全竞赛
- 第十届全国大学生信息安全竞赛-线上赛 write up(持续更新)
- i春秋-2016-2017年信息安全竞赛 Web writeup 补题 By Assassin
- 全国大学生英语竞赛
- 全国大学生英语竞赛》体验
- 关于全国大学生电子设计竞赛
- 暑期培训全国大学生电子设计竞赛 省赛有资料的相互借鉴。谢谢
- 170630 逆向-珍贵资料
- [360第二届大学生信息安全]WriteUp-加密解密
- 网络信息安全攻防学习平台-脚本关 writeup
- 为什么出现Wide character in print at a14.pl line 41
- BFS专题
- Find the Celebrity
- java基础/map/hasmap/linkedhasmap/treemap/collections工具类
- 条款02:尽量以const,enum,inline替换#define
- 全国大学生信息安全竞赛writeup--珍贵资料(reverse200)
- jQuery事件函数
- 快速排序的最简易实现
- 如何解决载入swirl包时出来的non-numeric argument to binary operator错误
- 非常NB的一款快捷启动软件--Merry
- 【一天一道LeetCode】#165. Compare Version Numbers
- 正则表达式-实践篇
- Spring Boot 资源加载配置
- 电子信息类课程自学路线