文章分类 -  CyberSpace Security

摘要:第一次接触 Unity的逆向题 这种关键代码一般都在 中 dnspy打开 搜索关键词 buttton 找到 ButtonSpawnFruit类 条件是sha1(str)="..." 我们可以直接枚举所有可能的变化(注意python的sha1是小写而题目的判断是大写!) from hashlib im 阅读全文
posted @ 2023-10-05 10:23 N0zoM1z0 阅读(78) 评论(0) 推荐(0)
摘要:刚好昨天学习了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 = 阅读全文
posted @ 2023-10-01 14:30 N0zoM1z0 阅读(175) 评论(0) 推荐(0)
摘要:初次接触流密码 学到了很多 题目给的加密源码: 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