前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Reverse: Level1 Cracked by Eswink

Reverse: Level1 Cracked by Eswink

作者头像
小伍同学
发布2021-12-13 15:16:17
6610
发布2021-12-13 15:16:17
举报

Reverse 1

Information

Flag:SYC{ppxdtedZrekKSpAMeqzNoewKQjEFTOMaFNCQiLeMFGg}

Necessary Tools

  1. IDA 7.5 Linux Cracked by ericyudatou
  2. Pwntools
  3. Pycharm && Python3

Debugging Environment

Linux kali 5.10.0-kali9-amd64

Decompile

检测程序架构信息

代码语言:javascript
复制
pwn checksec level1

目标程序为64位程序,选择使用IDA x64反编译该程序,并且跟随来到level1()函数入口,F5转换为伪代码,并对变量进行重命名,便于分析。

分析主要代码

代码语言:javascript
复制
v7 = __readfsqword(0x28u);

__readfsqword用于本地反调试,远程调试即可解决此问题

代码语言:javascript
复制
for ( i = 0; i <= 47; ++i )

循环中的异或操作,可由密文再次异或得到明文,并且位置不受影响,遵循交换律,如:

代码语言:javascript
复制
a ^ b = b ^ a

异或后,再与.data中的compare_data内存比较,如果相同则提示:You Win

在IDA中,提取compare_data中的内容,并且转换为Python List,便于接下来的还原。

代码语言:javascript
复制
data = [13, 5, 137, 179, 22, 20, 106, 116, 250, 233, 94, 98, 164, 177, 41, 11, 173, 140, 43, 37, 99, 117, 200, 254, 65, 73, 173, 147, 39, 30, 167, 166, 202, 211, 71, 105, 224, 234, 17, 1, 167, 128, 31, 53, 80, 83, 229, 253]

Reverse Script

Script Language

Python3

代码语言:javascript
复制
data = [13, 5, 137, 179, 22, 20, 106, 116, 250, 233, 94, 98, 164, 177, 41, 11, 173, 140, 43, 37, 99, 117, 200, 254, 65,

运行该脚本后,即可得到对应的Flag:

代码语言:javascript
复制
SYC{ppxdtedZrekKSpAMeqzNoewKQjEFTOMaFNCQiLeMFGg}

Result verification

将得到的Flag的值输入,最后得到正确结果

Reflection & Proposal

  • 当ASCII大于127并且需要将其转换为可视字符,需要%128再进行转换
  • 异或运算,明文秘钥和密文相互转换,知道其二可求其一
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hacker之家 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Information
  • Necessary Tools
  • Debugging Environment
  • Decompile
    • 检测程序架构信息
      • 分析主要代码
      • Reverse Script
        • Script Language
        • Result verification
        • Reflection & Proposal
        相关产品与服务
        远程调试
        远程调试(Remote Debugging,RD)在云端为用户提供上千台真实手机/定制机/模拟器设备,快速实现随时随地测试。运用云测技术对测试方式、操作体验进行了优化,具备多样性的测试能力,包括随时截图和记录调试日志,稳定的支持自动化测试, 设备灵活调度,用例高效执行, 快速定位产品功能和兼容性问题。云手机帮助应用、移动游戏快速发现和解决问题,节省百万硬件费用,加速敏捷研发流程。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档