CTFShow的36D杯

神光

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
还是想了一下,但那个异或搞不出来,都是对dword_41A038操作,想起开头就给了 key ,还有反调试应该是要调试的
在这里插入图片描述
输出的应该就是 flag ,只是为什么是乱码呢?
放 od 再试试,直接就出 flag 了,强!!!
有点坑人 0_0

BBBigEqSet

好像是大端序的意思
在这里插入图片描述
这么多变量,记得可以用 angr 还是 pwntools 爆破
这么多肯定是不用 z3 了
在这里插入图片描述
一些师傅看的汇编(ida不能f5),确实汇编可以看出都是一样的操作:

movzx eax, [rbp+s]

零扩展并移动数据指令,0x1234–>0x00001234

movsx eax, al

符号扩展并移动数据,用符号扩展补充高位
0xff–>0xFFFFFFFF , 0x7f -->0x0000007F

imul edx, eax, 9421h

有符号整数乘法, eax * 0x9421 得到一个64位结果,高32位存到edx,低32位存到eax

嗯,找规律哈哈哈哈
在这里插入图片描述
厉害了我嘞个豆
然后比较重要的就是提取数据

def u32(a):
    return a[3]<<24 | a[2]<<16 | a[1]<<8 | a[0]
 
#1
data = open('BBBigEqSet', 'rb').read()[0x11c7:0x11c7+ 0x909*0x80]
print(hex(len(data)))
taba = []
tabb = []
for i in range(0x80):
    stab=[0]*0x80
    ptr = 12
    for j in range(0x80):
        stab[j] = u32(data[ptr: ptr+4])
        ptr+=18
        if j==0:
            ptr-=2
    ptr -= 11
    taba.append(stab)
    tabb.append(u32(data[ptr: ptr+4]))
    data = data[0x909:]
 
print(taba, tabb)
 
#2
import numpy as np
an = np.array(taba)
bn = np.array(tabb)
 
x = np.linalg.solve(an,bn)
print(x)
print(bytes([round(i) for i in x]))
#flag{Soooo000_LooOOOOOOOOggO99g99_s1muLtaNeOus_EEEQuat10n5_Y0UUUUUUuuu_cAA44AANNnnN_SOOOOOOLVE_IT17TT11771ITIT!!!_8ShotDshP90ab}

但 ida python 有点问题,我不能导入模块,烦死
唉,我的 8.3的ida 可以,0_0

总结:

这个脚本蕴含了 dword 数据转32位数据,ida脚本提取数据,还有 numpy 库的使用

签到

在这里插入图片描述
动调一下
在这里插入图片描述
要找到输入所存的变量,看函数应该是 v8 或者 v10
在这里插入图片描述
就是 v8 , v6 要等于0

# -*- coding:utf-8 -*-

model = [102, 109, 99, 98, 127, 58, 85, 106, 57, 82, 122, 55, 81, 19, 51, 35, 67, 70, 41, 61, 41, 32, 127, 28, 38, 77,
         49, 20, 80, 94]
flag = ''

for i, val in enumerate(model):
    flag += chr(0 ^ i ^ (i + (i ^ val)))
print (flag)

用到了枚举 i 是索引,val 是值
或者这样
在这里插入图片描述

tiny

在这里插入图片描述
我 PE 结构还没学完呢 0_0
在这里插入图片描述
在这里插入图片描述
文件头不对?
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
后面几个没看懂
嗯,这个先留着吧

相关推荐

  1. ctfshow web AK

    2024-07-10 19:54:01       22 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 19:54:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 19:54:01       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 19:54:01       58 阅读
  4. Python语言-面向对象

    2024-07-10 19:54:01       69 阅读

热门阅读

  1. Qt 绘图详解

    2024-07-10 19:54:01       23 阅读
  2. MySQL篇七:复合查询

    2024-07-10 19:54:01       26 阅读
  3. [GDOUCTF 2023]Tea writeup

    2024-07-10 19:54:01       27 阅读
  4. 软件开发C#(Sharp)总结(续)

    2024-07-10 19:54:01       17 阅读
  5. CSS 样式链接的多方面应用与最佳实践

    2024-07-10 19:54:01       22 阅读
  6. 西门子7MB2335-0AL00-3AA1

    2024-07-10 19:54:01       19 阅读