博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【实验吧】Reverse400
阅读量:7050 次
发布时间:2019-06-28

本文共 838 字,大约阅读时间需要 2 分钟。

在网上下载,pyinstxtractor.py,对Reverse400.exe进行反汇编

得到其源代码为

$ cat Revesre03data = \"\x1c\x7a\x16\x77\x10\x2a\x51\x1f\x4c\x0f\x5b\x1d\x42\x2f\x4b\x7e\x4a\x7a\x4a\x7b" +\"\x49\x7f\x4a\x7f\x1e\x78\x4c\x75\x10\x28\x18\x2b\x48\x7e\x46\x23\x12\x24\x11\x72" +\"\x4b\x2e\x1b\x7e\x4f\x2b\x12\x76\x0b"'''char buf[] = "flag:{NSCTF_md5098f6bcd4621d373cade4e832627b4f6}";int _tmain(int argc, _TCHAR* argv[]){    printf("%d\n", strlen(buf));    char key = '\x0b';    buf[47] ^= key;    for (int i = 1; i < 48; i++)    {        buf[48 - i - 1] ^= buf[48 - i];     }    return 0;}'''print "Revese it?????????"

这是⼀段 Python 代码并嵌⼊了⼀段 C 的注释, buf ⾥的 flag 并不是真正的 flag。 将 C 语⾔提取出来编译运⾏发现 encode 之后的 buf 和上⾯的 data 很像,尤其 是⾸尾是完全⼀样的,既然 encode(buf) ≈ data ,那么 decode(data) ≈ buf ,所以猜测对 data 进⾏逆向解码就是真正的 flag。

于是写出解码脚本:

得到:

 

转载于:https://www.cnblogs.com/liuyimin/p/7573249.html

你可能感兴趣的文章
巧测字段最大长度
查看>>
TuShare(2):使用TuShare,抓取股票数据并存储到数据库
查看>>
还在跑分?什么样的固态硬盘才是好产品
查看>>
AI进入安防 安防的未来是怎样?
查看>>
《敏捷可执行需求说明 Scrum提炼及实现技术》—— 2.3 要求所有干系人参与
查看>>
Mozilla将从3月31日起实行插件“点击运行”机制
查看>>
《可穿戴创意设计:技术与时尚的融合》一一1.3 可穿戴设备和艺术
查看>>
JavaScript 实现的人脸检测方法
查看>>
Qubes OS 创始人认为英特尔 x86 是有害的
查看>>
《ANSYS Workbench有限元分析实例详解(静力学)》——2.3 工程流程图
查看>>
《现代体系结构上的UNIX系统:内核程序员的对称多处理和缓存技术(修订版)》——1.7 习题...
查看>>
《音乐达人秀:Adobe Audition CC实战222例》——1.2 从双卡录音机到多轨录音软件...
查看>>
年度回顾 看看 2016 年编程语言发展趋势
查看>>
vue axios+springboot 文件下载
查看>>
JS的继承方式
查看>>
掘金广告产品介绍
查看>>
九宫格
查看>>
手把手教你写一个 VSCode 插件
查看>>
cookie和session
查看>>
使用 multipart/x-mixed-replace 实现 http 实时视频流
查看>>