babycrypt 自己出的第一道逆向题目 WP

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: babycrypt 自己出的第一道逆向题目 WP

题目链接

babycrypt

WP

Patch掉反调试

先进行了Base32解密,之后是RC4加密

Base32编码表是RC4加密后存储的,动调得到

动调可以看出,经过base32编码密文会在首部添加M7WGC76B

之后密文进行RC4加密

动调得到第二处RC4加密的密钥

解密过程

def rc4(data, key):
   S =
list(range(256))
   j =
0
   
out = []
   
# Key-Scheduling Algorithm
   
for i in range(256):
       j = (j + S[i] + key[i %
len(key)]) % 256
       
S[i], S[j] = S[j], S[i]
   
# Pseudo-Random Generation Algorithm
   
i = j = 0
   
for char in data:
       i = (i +
1) % 256
       
j = (j + S[i]) % 256
       
S[i], S[j] = S[j], S[i]
       out.append(char ^ S[(S[i] + S[j]) %
256])
   
return bytes(out)
data =
bytes([0xff, 0x0e, 0x34, 0x42, 0xb3, 0x0a, 0xf6, 0x65, 0x87, 0x8a, 0x65, 0x1c, 0x4b, 0x5c, 0x54, 0xfc, 0x25, 0xb1, 0xc1, 0x18, 0x2c, 0xcf, 0xc6, 0x93, 0xc6, 0x8e, 0x50, 0xfc, 0x3d, 0x3e, 0x4d, 0x53, 0xf8, 0xb8, 0x2c, 0x93, 0xb0, 0x28, 0xe5, 0x1f])
key =
bytes([0x01, 0x02, 0x03, 0x04, 0x05])
decrypted = rc4(data
, key)
string = decrypted.decode(
'utf-8')
encoded = string[
7:]
print(encoded)

import base64


# 自定义 base32 编码表

base32_table = b"Z2CDEFGHIJKLMNOPQRSTUVWXY76543AB"


def decode_base32(text):

   return base64.b32decode(

       bytes(text.translate(bytes.maketrans(base32_table, b"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567")), 'utf-8')).decode(

       'utf-8')

encoded="KI7VAMLTL3UW43DFOJSXG3DJN7TQ===="

decrypted_text = decode_base32(encoded)

print("flag{"+decrypted_text+"}")

相关文章
|
7月前
|
XML 安全 数据库
【sqli靶场】第四关和第五关通关思路
【sqli靶场】第四关和第五关通关思路
130 0
|
12天前
|
安全 数据安全/隐私保护 Python
BUUCTF-[GUET-CTF2019]re(Reverse逆向)
本文介绍了如何对一个带有UPX壳的ELF文件进行逆向分析。首先通过010Editor确认文件类型和壳的存在,接着使用Free UPX工具进行脱壳。脱壳后在IDA中加载文件,通过字符串查找和交叉引用跟踪定位关键函数。最终利用Python的z3库解决约束问题,得到flag。过程中还遇到了Python版本兼容性问题,并通过重新安装z3-solver解决。最终flag为`flag{e165421110ba03099a1c039337}`,经MD5解密验证为`233`。
17 0
BUUCTF-[GUET-CTF2019]re(Reverse逆向)
|
2月前
|
数据采集 安全 Java
Burpsuite Intruder 暴力破jie实战
Burpsuite Intruder 暴力破jie实战
|
4月前
|
存储 数据安全/隐私保护
buuctf 逆向 新手 周更 wp
buuctf 逆向 新手 周更 wp
51 0
|
7月前
|
SQL 关系型数据库 MySQL
0基础学习SQL注入之万能账号密码(BUUctf例题-[极客大挑战 2019]EasySQL1)
0基础学习SQL注入之万能账号密码(BUUctf例题-[极客大挑战 2019]EasySQL1)
|
JavaScript 前端开发
Bugku CTF web 你必须让他停下来 解题思路
Bugku CTF web 你必须让他停下来 解题思路
117 2
Bugku CTF alert 解题思路
Bugku CTF alert 解题思路
108 1
|
7月前
|
存储 移动开发 前端开发
HTML5基础题及答案——必刷前端题目(背)
- Internet是全球连接的TCP/IP协议网络,而万维网(Web)是Internet上的重要服务,基于HTTP协议展示资源。 - 用户通过浏览器输入URL访问Web页面,浏览器向服务器请求内容并显示。 - Web前端基础是HTML、CSS和JavaScript。 - HTML5是HTML的最新版本,增加了新标签、API和功能,如注释、新的列表标签、文档结构和格式标签、拖放、画布等。
76 0
Bugku CTF Simple_SSTI_2 解题思路
Bugku CTF Simple_SSTI_2 解题思路
120 0
Bugku CTF Simple_SSTI_1 解题思路
Bugku CTF Simple_SSTI_1 解题思路
95 0