Eswlnk Blog Eswlnk Blog
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈
  • 注册
  • 登录
首页 › 攻防对抗 › Reverse: Level1 Cracked by Eswink

Reverse: Level1 Cracked by Eswink

Eswlnk的头像
Eswlnk
2021-10-26 23:16:20
Reverse: Level1 Cracked by Eswink-Eswlnk Blog
智能摘要 AI
本文详细介绍了通过逆向工程解密获得Flag的过程。首先,使用IDA Pro 7.5反编译64位目标程序并定位到`level1()`函数。通过分析代码发现,程序包含一系列异或操作和循环,用于加密数据。通过破解这些操作,提取并转换`.data`段中的`compare_data`为Python列表,进而编写Python脚本模拟加密过程,最终解密出Flag `SYC{ppxdtedZrekKSpAMeqzNoewKQjEFTOMaFNCQiLeMFGg}`。文中还提到处理ASCII值大于127的情况需取模128,并强调了异或运算的可逆性。
Reverse: Level1 Cracked by Eswink-Eswlnk Blog
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

检测程序架构信息

pwn checksec level1
Reverse: Level1 Cracked by Eswink-Eswlnk Blog

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

分析主要代码

v7 = __readfsqword(0x28u);

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

 for ( i = 0; i <= 47; ++i )
  {
    for ( j = 0; j <= 53; ++j )
    {
      v1 ^= j ^ v2 ^ 0x5E;
      s[i] ^= s[(i + 1) % 48];
      s[i] ^= v1;
      ++v2;
    }
  }
  for ( k = 0; k <= 47; ++k )
  {SYC{ppxdtedZrekKSpAMeqzNoewKQjEFTOMaFNCQiLeMFGg}
    if ( s[k] != compare_data[k] )
    {
      puts("Ohhhh, TRY HARD");
      return __readfsqword(0x28u) ^ v7;
    }
  }

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

a ^ b = b ^ a

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

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

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

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]
v1 = -85
v2 = 0
s = data
# s=[95, 94, 201, 204]
for i in range(48):
    for j in range(54):
        v1 ^= j ^ v2 ^ 0x5e
        s[i] = s[i] ^ s[(i + 1) % 4]
        s[i] ^= v1
        v2 = v2 + 1
print(s)

s = ""
d = ""
#对data[i]进行转换,如果大于127,则%128再转换得到对应的ascii,即可得到对应的明文字符
for i in range(len(data)):
    d = data[i]
    if d > 127:
        d = d % 128
    s = s + "".join(chr(d))
print(len(s))
print(s)

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

SYC{ppxdtedZrekKSpAMeqzNoewKQjEFTOMaFNCQiLeMFGg}

Result verification

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

Reverse: Level1 Cracked by Eswink-Eswlnk Blog

Reflection & Proposal

  • 当ASCII大于127并且需要将其转换为可视字符,需要%128再进行转换
  • 异或运算,明文秘钥和密文相互转换,知道其二可求其一

本站默认网盘访问密码:1166
本站默认网盘访问密码:1166
IDA反汇编逆向
0
0
Eswlnk的头像
Eswlnk
一个有点倒霉的研究牲站长
赞赏
浅谈VMware环境去虚拟化
上一篇
Reverse: Level2 & 动态调试修改内存 Cracked by Eswink
下一篇

评论 (0)

请登录以参与评论
现在登录
    发表评论

猜你喜欢

  • 今日热点:伪Clash软件下载陷阱曝光,附防范建议
  • 「攻防对抗」利用 fastjson 原生反序列化与动态代理突破安全限制
  • 「攻防对抗」从上传漏洞到Getshell | 一次完整的渗透过程
  • 「日志记录」从零起步揭开路由器漏洞挖掘的面纱
  • 「攻防对抗」NSmartProxy流量特征的真实表现与应用
Eswlnk的头像

Eswlnk

一个有点倒霉的研究牲站长
1108
文章
319
评论
679
获赞

随便看看

「攻防对抗」内网渗透从零到一之SMB协议
2022-12-22 12:56:10
绕过某云网络验证思路分析
2021-09-16 1:29:22
DEF CON 30 CTF Quals | Teedium Wallet 复盘
2023-07-29 17:50:42

文章目录

专题展示

WordPress53

工程实践37

热门标签

360 AI API CDN java linux Nginx PDF PHP python SEO Windows WordPress 云服务器 云服务器知识 代码 免费 安全 安卓 工具 开发日志 微信 微软 手机 插件 攻防 攻防对抗 教程 日志 渗透分析 源码 漏洞 电脑 破解 系统 编程 网站优化 网络 网络安全 脚本 苹果 谷歌 软件 运维 逆向
  • 首页
  • 知识库
  • 地图
Copyright © 2023-2025 Eswlnk Blog. Designed by XiaoWu.
本站CDN由 壹盾安全 提供高防CDN安全防护服务
蜀ICP备20002650号-10
页面生成用时 1.047 秒   |  SQL查询 47 次
本站勉强运行:
友情链接: Eswlnk Blog 网站渗透 倦意博客 特资啦!个人资源分享站 祭夜博客 iBAAO壹宝头条
  • WordPress142
  • 网络安全64
  • 漏洞52
  • 软件52
  • 安全48
现在登录
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈