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、要逆序推算

相关推荐
lisw052 小时前
数字断点如何影响供应链——并危及全球经济?
网络安全·网络攻击模型·前沿领域
sbjdhjd6 小时前
云安全 | Docker 容器逃逸复盘(二):2375 未授权接口如何突破容器管理边界
网络安全·docker·云原生·数据挖掘·开源·云计算·云安全
HackTwoHub6 小时前
Clown SRC skill第二代2.x最新版企业安全研究 Skill|证据优先的 SRC 与白盒审计工作流正式更新
网络·安全·web安全·网络安全·系统安全·密码学·安全架构
白帽攻防录6 小时前
SRC 挖洞:Certighost AD CS 域控制器伪造深度复盘,CVE-2026-54121 一个普通域用户怎么拿走整个企业域
网络·安全·web安全·网络安全·域安全
hengdonghui7 小时前
Writeup 4 N1BOOK SQL注入-1
ctf·sql注入·union·字符型注入
lisw0510 小时前
数字韧性:企业如何应对数字断点?
网络安全·网络攻击模型·前沿领域
白帽攻防录11 小时前
SRC 挖洞:Claude Code Action 供应链 RCE 深度复盘,CVE-2026-47751 一个 PR 怎么偷走你所有 CI/CD 密钥
网络安全·ci/cd·供应链安全
菩提小狗11 小时前
每日安全情报报告 · 2026-10-06
网络安全·漏洞·cve·安全情报·每日安全
学逆向的12 小时前
win32文件系统
网络安全·api·win32
Chengbei111 天前
拒绝无效洞!蚂蚁Src榜一Clown 2.0 SRC SKill 第二代带状态闭环的白盒 & 黑盒审计 Skill
网络·人工智能·安全·web安全·网络安全·自动化·安全架构