nssctf_chicken_soup

下载,查壳、64位、IDA打开、f5查看伪代码

解析代码:用户输入一个字符串,通过两次函数操作,与403000位置的值进行比对,一样就输出flag,

所以核心函数就是那三个函数,

点击函数,发现了经典的花指令

明显标红处是脏字节,先按U,然后右键nop掉,下面一个同样操作

然后两个函数就正常显示了,

第一个函数:sub_4010004,可以看到是一个重新赋值

第二个函数:sub_401080,可以看到是每一个字节高低4位互换

第三个函数sub_401110:可以看到是两者进行比较,一致的话返回1。

所以大概就有思路了:先看unk_403000处的值是多少,然后写解密脚本

可以看到连续38个字节是被比较的值,提取出来

写解密脚本:

python 复制代码
cipher =[205,  77, 140, 125, 173,  30, 190,  74, 138, 125,
  188, 124, 252,  46,  42, 121, 157, 106,  26, 204,
   61,  74, 248,  60, 121, 105,  57, 217, 221, 157,
  169, 105,  76, 140, 221,  89, 233, 215]
step1=[]
flag=""

def swap(b):
  b= b & 0xff
  high = (b & 0xf0)>>4
  low = (b & 0x0f) << 4
  return (high|low)

for i in range(len(cipher)):
  step1.append(swap(cipher[i]))

for j in range(len(step1)-2,-1,-1):
  step1[j]=(step1[j]-step1[j+1])&0xff


#print(step2)
for n in range(len(step1)):
  flag+=(chr(step1[n]))

print(flag)

#print(step1)

然后得到flag:

本题知识点:1、花指令处理

2、代码分析

3、数据提取

4、高低四位的交换要注意用0xff截断

5、要逆序推算

相关推荐
TechWJ20 分钟前
没有公网 IP 也想远程连 PostgreSQL?从本地数据库到固定 TCP 地址完整配置
大数据·数据库·网络安全·postgresql·内网穿透
玫幽倩5 小时前
2026第二届湾区杯网络安全大赛决赛(AI专项赛道静态题wp)
pytorch·python·ai·agent·ctf·rag·湾区杯
TechWayfarer5 小时前
IP地址查询之后:如何在请求抵达前识别风险
python·tcp/ip·网络安全
虹科网络安全17 小时前
Redis 安全公告:CVE-2026-81934 TLS 处理漏洞及修复建议
网络·人工智能·网络安全
2501_916008891 天前
全平台抓包工具,Windows、iPhone、Linux三个平台抓包测试
网络协议·计算机网络·网络安全·ios·adb·https·udp
Dachui_11221 天前
ZeroNews LFS 使用教程:NAS 文件发布为公网 HTTPS 文件空间,不传网盘、按人授权、免登录分享
运维·网络安全·文件共享·团队协作·nas
杭州默安科技1 天前
从海量告警到精准修复:安全智能体如何打通开发安全工具链
网络安全·ai智能体
m0_715674431 天前
2026年中国API安全产品综合排名:选型指南与行业趋势解析
网络·安全·网络安全
天若有情6731 天前
开源SQL注入可视化演示项目|GitHub Pages+Netlify双平台免费部署教程
网络安全·代码审计·githubpages·sql 注入·web 安全·前端演示·netlify 部署
数据知道1 天前
LDAP 与 AD 安全深度剖析——注入、弱绑定、权限配置错误
网络安全·密码学·哈希算法