摘要:
这题... 出个flag都这么离谱的吗?老早就解出flag了但是... 今天玩了玩花吻再来做这道题...(我还特地换成用C写...) IDA打开一个简单的Xor python c 都可以解 #include<bits/stdc++.h> #include<windows.h> using names 阅读全文
摘要:
两种思路 第一种 修改程序使MessageBox输出完整flag (这是修改后的版本) 查看 byte_402008 很长一串 而修改前 sub_401160只处理了28个字符 所以我们将28改为0xaf 这里由于Ollydbg打开地址偏移很难定位 直接用WinHex 找到对应的 6A 1C (pu 阅读全文
摘要:
大开眼界! main函数逻辑很清晰 只是最最关键的sub_83A 反编译不了 尝试阅读汇编代码 有一个很有意思的点: 这里有个printf("wrong on %d") 也就是根据我们输入的flag程序会告诉我们是否出错! 由于flag本体只有12位 所以可以利用pwn模块本地逐一爆破 思路就是从" 阅读全文
摘要:
花指令初步+迷宫逆向 首先进行upx脱壳 然后IDA打开 这里有一个经典的花指令 (导致找不到main函数) 我们可以发现 call的这个地址根本不存在 所以我们用Ollydbg将这些patch掉 ollydbg打开 找到这条call指令对应的地址 由于 0040102C执行了jump 所以也要跟着 阅读全文
摘要:
两个考点: 假的strcmp 实则调用的是其他的函数 用C实现反汇编中的_QWORD等 其实关于第一个考点 表层分析: 这个肯定不是flag strcmp也是看似正常的extern strcmp 我们在左边的函数列表中逐一查看 只有这个函数有变换的作用 深层分析: 在init()函数中 可以发现 f 阅读全文
摘要:
学习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 * 阅读全文
摘要:
这题考了好多以前没关注的知识点 找了好久才全部解决 这里记录一下 无论哪个所谓的"讨论群"都以比赛时不让讨论... 题目源码: 第一步 要想办法让md5(password)的前6位满足 这里给出MD5截断 爆破脚本: 点击查看代码 import multiprocessing import hash 阅读全文
摘要:
outguess的使用 首先查看mmm.jpg属性可以发现 社会主义核心价值观加密 解密后为 abc 安装好outguess后 Linux outguess -k abc -r mmm.jpg flag.txt 然后再次打开flag.txt就可以得到flag了 阅读全文
摘要:
看到属性中的photoshop我还去下了一个... 其实winhex打开 会发现 里面其实藏了PK文件 所以foremost分离 得到一个flag.vmdk文件 这里有个知识点: .vmdk可以用7z解压打开 在Linux上下好7k 命令行执行 7z x flag.vmdk -o./ 得到 key1 阅读全文
摘要:
学习如何利用 winhex修改图片的长宽 长宽对应位置 多尝试修改几次即可 阅读全文