BUUCTF 逆向工程(reverse)之findit
不知不觉,小明长大了,变成了一个程序员,虽然很苦逼,但是偶尔编写个小东西坑害公司新人还是蛮好玩的。新人小萌一天问小明wifi账号密码,一分钟后,小萌收到了一个文件。小萌想了好久都没得到密码,怎么办,女朋友要买东西,流量告罄,没wifi上不了网,不买就分手,是时候该展现月老的实力了兄弟们!代表月亮惩罚小明!得出答案。 注意:得到的 flag 请包上 flag{} 提交
用APK-IDE打开,然后进入到smali -> com -> findit -> MainActivity.smali
Python3代码求解这些16进制数
key = [ 0x54, 0x68, 0x69, 0x73, 0x49, 0x73, 0x54, 0x68, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x48, 0x6f, 0x6d, 0x65 ]
flag = ""for k in key:flag = flag + chr(k)
print(flag)
但是很遗憾,这里的并不是真的flag。下面的一组16进制才是真的flag
Python3代码
#key = [ 0x54, 0x68, 0x69, 0x73, 0x49, 0x73, 0x54, 0x68, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x48, 0x6f, 0x6d, 0x65 ]
key = [0x70, 0x76, 0x6b, 0x71, 0x7b, 0x6d, 0x31, 0x36, 0x34, 0x36, 0x37, 0x35, 0x32, 0x36, 0x32, 0x30, 0x33, 0x33, 0x6c,0x34, 0x6d, 0x34, 0x39, 0x6c, 0x6e, 0x70, 0x37, 0x70, 0x39, 0x6d, 0x6e, 0x6b, 0x32, 0x38, 0x6b, 0x37, 0x35, 0x7d
]
flag = ""for k in key:flag = flag + chr(k)
print(flag)
运行这个代码得到的答案是:pvkq{m164675262033l4m49lnp7p9mnk28k75}
一开始以为把pvkq改成flag就是答案了,其实并不是。因为这里还用上了凯撒密码的偏移。所以再改进一下Payload
#key = [ 0x54, 0x68, 0x69, 0x73, 0x49, 0x73, 0x54, 0x68, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x48, 0x6f, 0x6d, 0x65 ]
key = [0x70, 0x76, 0x6b, 0x71, 0x7b, 0x6d, 0x31, 0x36, 0x34, 0x36, 0x37, 0x35, 0x32, 0x36, 0x32, 0x30, 0x33, 0x33, 0x6c,0x34, 0x6d, 0x34, 0x39, 0x6c, 0x6e, 0x70, 0x37, 0x70, 0x39, 0x6d, 0x6e, 0x6b, 0x32, 0x38, 0x6b, 0x37, 0x35, 0x7d
]
flag = ""for k in key:flag = flag + chr(k)
# print(flag)letter = "abcdefghijklmnopqrstuvwxyz" # 26个字母
result = []
for i in range(0,26):res = ""for x in flag:if x.isalpha(): # 只对字母进行偏移x = (ord(x) + i) % 26res = res + letter[x]else: res = res + x # 不是字母的话,就直接加上去print(res)result.append(res)# 获取真正的Flag
print("------------------------Real Flag---------------------------------------")
for ans in result:if ans[0:4] == "flag": # 真正的答案是以flag开头的print(ans)
所以,最终的flag为:flag{c164675262033b4c49bdf7f9cda28a75}
BUUCTF 逆向工程(reverse)之findit相关推荐
- BUUCTF 逆向工程(reverse)之[GWCTF 2019]pyre
下载好题目后,发现后缀名为:.pyc 所以使用python这些反编译工具:https://tool.lu/pyc/ 利用这个网站反编译一下就可以得到Python的源代码 #!/usr/bin/env ...
- BUUCTF 逆向工程(reverse)之内涵的软件
用IDA32位打开 一看到这个就是知道这里是获取flag的关键(因为花括号{}).一开始以为是用了某种加密方式需要转换一下.结果它显示的:{49d3c93df25caad81232130f3d2ebf ...
- 逆向工程(Reverse Engineering)
逆向工程(Reverse Engineering),又称反向工程,是一种技术过程,即对一项目标产品进行逆向分析及研究,从而演绎并得出该产品的处理流程.组织结构.功能性能规格等设计要素,以制作出功能相近 ...
- BUUCTF reverse题解汇总
本文是BUUCTF平台reverse题解的汇总 题解均来自本人博客 目录 Page1 Page2 Page3 Page4 Page1 easyre reverse1 reverse2 内涵的软件 新年 ...
- 使用Visio 2000逆向工程将代码转换为UML图表
From: http://www.sudu.cn/info/html/website/20080508/307109.html 摘要:Microsoft Visio 2000 Professional ...
- 写给小白看的,逆向工程怎么上路?
什么是逆向工程 先给大家出一道思考题 用C语言设计一个程序,验证输入的密码是否是"12345678",如果验证成功,就输出"success",如果验证失败,则输 ...
- halcon 形状匹配
halcon 形状匹配 1.例子 指定模板图像区域(也可以用draw_rectangle1画一个矩形) Row1 := 188 Column1 := 182 Row2 := 298 Column2 : ...
- 软件工程 工具之二—— PowerDesigner v12(二)
<PowerDesigner软件工程技术>笔记(一) 1.UML2.0规范定义了5类9种图形和3种模型管理图 (1)功能模型:从用户的角度描述系统的功能,通常在描述需求时使用,在系统分析过 ...
- [转帖]最新FLASH 0DAY 漏洞总结分析篇
首先必须感谢的X.G.C.Team的OPEN在几个关键的地方给予我分析,解决办法的帮助.与及咱们论坛好几位兄弟的帮助.最终我才把这个东西给分析出来.. -------------- 最近FLASH出了 ...
最新文章
- Grid R-CNN解读:商汤最新目标检测算法,定位精度超越Faster R-CNN
- 25,000,000行的代码就问你敢不敢动?!
- jQuery 插件---hotkeys快捷键(热键).
- 小马智行L4无人车今日量产下线,这比融资更具里程碑意义
- 运行时异常与一般异常的区别
- WINCE6.0文件系统及存储管理器
- Android FFmpeg系列——5 音视频同步播放
- 【2050 Programming Competition - 2050 一万人码 】非官方部分题解(HDU)
- XAF-BI.Dashboard模块概述 web/win
- android中设置控件的搞,Android中如何自定义控件
- EF Code First 学习笔记:约定配置
- [渝粤教育] 西北农林科技大学 食品安全概论 参考 资料
- 树莓派-电视盒子-投影
- 太原理工计算机学科评估,太原理工大学学科评估结果及排名情况怎样
- 联想,华为,惠普的服务器和存储的管理口默认地址与默认用户名密码!
- Error处理: android.media.MediaRecorder.start(Native Method) 报错:start failed: -19
- Python记录程序运行的时间
- 监控摄像头为什么可以发出声音并且可以接受对方声音?
- 获取拼音首字母(含生僻字)工具类
- c 语言中eof 是什么,什么是C编程语言中的EOF?