吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8557|回复: 21
收起左侧

[CTF] 使用python z3约束解ctf题目 练手

[复制链接]
52lxw 发表于 2019-3-7 00:35
题目文件: re2.zip (3.18 KB, 下载次数: 32)

IDA反编译查看
c1.png

分析可知就是将命令行的第二个参数的前7个字符的ascii码相加等于801
那么怎么构造这7个字符呢,我们使用z3约束器
[Python] 纯文本查看 复制代码
from z3 import *



s = Solver()
pwd = [Int('a%d'%i) for i in range(7)]

for i in pwd:
	s.add(0x30<i)
	s.add(i<120)  #设置7个字符的取值范围在48<120之间
s.add(pwd[0]+pwd[1]+pwd[2]+pwd[3]+pwd[4]+pwd[5]+pwd[6]==801) #且相加为801

if s.check() == sat:
	print s.model()
	

Screenshot from 2019-03-07 00-32-20.png
其实有很多解,这里只打印了一组
转成字符就是wwwwwwW
Screenshot from 2019-03-07 00-34-32.png
Screenshot from 2019-03-07 00-34-32.png

点评

厉害,像楼主学习!  发表于 2019-3-7 13:24

免费评分

参与人数 2吾爱币 +8 热心值 +2 收起 理由
Hmily + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
瑟瑟发抖小菜虾 + 1 + 1 学习了

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

skye231 发表于 2020-8-31 13:42

学习完z3库,教一下作业

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from z3 import *
# 创建约束解析器
solver = Solver()
# 定义变量
m1 = Int('m1')
m2 = Int('m2')
m3 = Int('m3')
m4 = Int('m4')
m5 = Int('m5')
m6 = Int('m6')
m7 = Int('m7')
# 添加约束条件
# 参数前7个ascii等于0x321
solver.add(m1+m2+m3+m4+m5+m6+m7==0x321)
# 约束每个解的范围都是在可见字符串
solver.add(32<=m1)
solver.add(m1<127)
solver.add(32<=m2)
solver.add(m2<127)
solver.add(32<=m3)
solver.add(m3<127)
solver.add(32<=m4)
solver.add(m4<127)
solver.add(32<=m5)
solver.add(m5<127)
solver.add(32<=m6)
solver.add(m6<127)
solver.add(32<=m7)
solver.add(m7<127)
if solver.check() == sat:
    flag = solver.model()
    print(flag)
else:
    print("no answer")


fuckbin 发表于 2019-5-20 00:12
s.add(0x30<i)
    s.add(i<120)  #设置7个字符的取值范围在48<120之间
为什么取值是这个范围
ddd8ddd9 发表于 2019-3-7 09:20
peterliu 发表于 2019-3-7 09:39
谢谢分享。学习的好资料
hui00000 发表于 2019-3-7 13:56
谢谢分享。学习一下
zysanjing1 发表于 2019-3-7 22:40
为什么我运行python程序提示Solver未知,Int未知
hongpangzi 发表于 2019-3-7 22:57
我学到了网络爬虫抓取,要考网络工程师了,暂时放下,待我来日慢慢虐它~
沉默挺好的 发表于 2019-3-8 00:10
厉害 学习了
pw2553 发表于 2019-3-8 12:55
学习的好资料
离离源上草 发表于 2019-3-8 14:24
zysanjing1 发表于 2019-3-7 22:40
为什么我运行python程序提示Solver未知,Int未知

检查下python版本
瑟瑟发抖小菜虾 发表于 2019-3-8 15:56
好厉害  我记得有一道题 也是 关于这个的   我没有写出来 ~~~~~ 谢谢楼主
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-3-29 14:08

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表