文章分类 - CyberSpace Security
摘要:第一次接触 Unity的逆向题 这种关键代码一般都在 中 dnspy打开 搜索关键词 buttton 找到 ButtonSpawnFruit类 条件是sha1(str)="..." 我们可以直接枚举所有可能的变化(注意python的sha1是小写而题目的判断是大写!) from hashlib im
阅读全文
摘要:刚好昨天学习了feistel结构的加解密 题目给出的加密源码: from Crypto.Util.number import * round = 2 flag = open("./secret", "rb").read().strip() def f(m, key): m = m ^ (m >> 4
阅读全文
posted @ 2023-10-02 09:50
N0zoM1z0
摘要:希尔加密 这里猜测利用的矩阵n=2 然后根据 wznqca = utflag 解出ABCD (是mod26意义下的!) 然后对应变换即可: from string import * s = "duqopfkqnwofdbzgeu" def Find(a1,a2,a3,a4,a5,a6,b1,b2,b
阅读全文
posted @ 2023-10-01 22:39
N0zoM1z0
摘要:很有意思的一道题 题目源码: from string import ascii_letters from flag import flag ctoi = lambda x: ascii_letters.index(x) itoc = lambda x: ascii_letters[x] key =
阅读全文
posted @ 2023-10-01 21:55
N0zoM1z0
摘要:关于MT19937的攻击 32位的MT19937python代码: def _int32(x): return int(0xFFFFFFFF & x) class MT19937: # 根据seed初始化624的state def __init__(self, seed): self.mt = [0
阅读全文
posted @ 2023-10-01 21:20
N0zoM1z0
摘要:考察float存储小端序问题 72065910510177138000000000000000.000000, 71863209670811371000000.000000, 18489682625412760000000000000000.000000, 727232575880506870000
阅读全文
posted @ 2023-10-01 20:46
N0zoM1z0
摘要:.NET逆向 dnspy打开后 搜索 btn decode 等关键字 发现关键函数 这里采取动态调试的方法直接获取text值 直接在text处下断点 运行程序即可得到中间变量
阅读全文
posted @ 2023-10-01 19:03
N0zoM1z0
摘要:学习DES 加解密思路 (由于python2 python3 兼容问题 代码很难实现...) 由于DES是对称加密算法 所以已知加密过程后 只需要将加密过程逆过来即可 借个图 而这题的关键就是怎么求出 InvS_box 这里有个算法(AES DES等都适用): new_contrary_sbox =
阅读全文
摘要:初次接触流密码 学到了很多 题目给的加密源码: seed = 0x00000000 # you need to solve this flag = 'n1book{%x}' % seed state = seed mask = 0b10000000000000000000000001010111 d
阅读全文
posted @ 2023-10-01 13:10
N0zoM1z0
摘要:IDA打开 什么都找不到... Linux运行 很容易发现这对应的是一个字符串 直接libunm.n2s即可 K@LKVHr[DXEsLsYI@\\AMYIr\\EIZQ 问题是怎么得到flag? 学到了一种思路: 将 ord('K')^ord('f') ord('@')^ord('l')... 可
阅读全文
posted @ 2023-10-01 11:31
N0zoM1z0
摘要:题目给了 m,c,n 求指数flag 离散对数问题可以用sympy自带的discrete_log求解(我还以为用(m,n)=1能有些性质直接推...) from Crypto.Util.number import * import sympy import random n = 2**512 m =
阅读全文
posted @ 2023-10-01 09:36
N0zoM1z0
摘要:这题启动靶机后 尝试修改 然后只用点击 就能得到flag了(亏我一大堆模板注入尝试了半天...) flag{Y0u_@re_3enset1ve_4bout_deb8g}
阅读全文
posted @ 2023-10-01 00:30
N0zoM1z0
摘要:这题... 出个flag都这么离谱的吗?老早就解出flag了但是... 今天玩了玩花吻再来做这道题...(我还特地换成用C写...) IDA打开一个简单的Xor python c 都可以解 #include<bits/stdc++.h> #include<windows.h> using names
阅读全文
posted @ 2023-10-01 00:06
N0zoM1z0
摘要:两种思路 第一种 修改程序使MessageBox输出完整flag (这是修改后的版本) 查看 byte_402008 很长一串 而修改前 sub_401160只处理了28个字符 所以我们将28改为0xaf 这里由于Ollydbg打开地址偏移很难定位 直接用WinHex 找到对应的 6A 1C (pu
阅读全文
posted @ 2023-09-30 21:25
N0zoM1z0
摘要:大开眼界! main函数逻辑很清晰 只是最最关键的sub_83A 反编译不了 尝试阅读汇编代码 有一个很有意思的点: 这里有个printf("wrong on %d") 也就是根据我们输入的flag程序会告诉我们是否出错! 由于flag本体只有12位 所以可以利用pwn模块本地逐一爆破 思路就是从"
阅读全文
posted @ 2023-09-30 18:16
N0zoM1z0
摘要:花指令初步+迷宫逆向 首先进行upx脱壳 然后IDA打开 这里有一个经典的花指令 (导致找不到main函数) 我们可以发现 call的这个地址根本不存在 所以我们用Ollydbg将这些patch掉 ollydbg打开 找到这条call指令对应的地址 由于 0040102C执行了jump 所以也要跟着
阅读全文
posted @ 2023-09-30 13:17
N0zoM1z0
摘要:两个考点: 假的strcmp 实则调用的是其他的函数 用C实现反汇编中的_QWORD等 其实关于第一个考点 表层分析: 这个肯定不是flag strcmp也是看似正常的extern strcmp 我们在左边的函数列表中逐一查看 只有这个函数有变换的作用 深层分析: 在init()函数中 可以发现 f
阅读全文
posted @ 2023-09-30 12:43
N0zoM1z0
摘要:学习z3库求解方程 """ z3约束求解方程 """ from z3 import * v1,v2,v3,v4,v5,v6,v7,v8,v9,v11 = Ints('v1 v2 v3 v4 v5 v6 v7 v8 v9 v11') s = Solver() s.add(-85 * v9 + 58 *
阅读全文
posted @ 2023-09-30 11:47
N0zoM1z0
摘要:这题考了好多以前没关注的知识点 找了好久才全部解决 这里记录一下 无论哪个所谓的"讨论群"都以比赛时不让讨论... 题目源码: 第一步 要想办法让md5(password)的前6位满足 这里给出MD5截断 爆破脚本: 点击查看代码 import multiprocessing import hash
阅读全文
posted @ 2023-09-30 09:21
N0zoM1z0
摘要:outguess的使用 首先查看mmm.jpg属性可以发现 社会主义核心价值观加密 解密后为 abc 安装好outguess后 Linux outguess -k abc -r mmm.jpg flag.txt 然后再次打开flag.txt就可以得到flag了
阅读全文
posted @ 2023-09-29 19:00
N0zoM1z0

浙公网安备 33010602011771号