[HGAME 2023 week2]math

20 篇文章 0 订阅
10 篇文章 0 订阅

 

十进制368等于十六进制0x170

减368发现刚好为v8的地址

 

0x180-0x170=0x10 

from z3 import *

v10 = [0] * 25
v12 = [0] * 25
v11 = [0] * 25
v10[0] = 126
v10[1] = 225
v10[2] = 62
v10[3] = 40
v10[4] = 216
v10[5] = 253
v10[6] = 20
v10[7] = 124
v10[8] = 232
v10[9] = 122
v10[10] = 62
v10[11] = 23
v10[12] = 100
v10[13] = 161
v10[14] = 36
v10[15] = 118
v10[16] = 21
v10[17] = 184
v10[18] = 26
v10[19] = 142
v10[20] = 59
v10[21] = 31
v10[22] = 186
v10[23] = 82
v10[24] = 79
v12[0] = 63998
v12[1] = 33111
v12[2] = 67762
v12[3] = 54789
v12[4] = 61979
v12[5] = 69619
v12[6] = 37190
v12[7] = 70162
v12[8] = 53110
v12[9] = 68678
v12[10] = 63339
v12[11] = 30687
v12[12] = 66494
v12[13] = 50936
v12[14] = 60810
v12[15] = 48784
v12[16] = 30188
v12[17] = 60104
v12[18] = 44599
v12[19] = 52265
v12[20] = 43048
v12[21] = 23660
v12[22] = 43850
v12[23] = 33646
v12[24] = 44270

s = Solver()
flag = [Real('num[%d]' % i) for i in range(32)]
for i in range(5):
    for j in range(5):
        for k in range(5):
            v11[5 * i + j] += flag[5 * i + k] * v10[5 * k + j]
for i in range(25):
    s.add(v11[i] == v12[i])
if s.check() == sat:
    m = s.model()
    for i in range(32):
        print(chr(m.eval(flag[i]).as_long()), end='')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值