强壮逆向人!
好好学逆向 moectf题真的好,每日一题 2025.6.19 考完试一定写🥲 2025.7.19 会写的会写的😫 A_game 好清晰的逻辑,好清晰的函数名🥲 首先输入49个字符的字符串,将这49个字符填入9x9的box数组中值为0的位置,经过3个check函数验证是否正确,如果正确,那么将str与magic数组异或得到flag 接下来我们查看check1函数的代码 每一行必须包含数字 1~9,不能重复,也不能缺少 check2函数:每一列必须包含数字 1~9,不能重复,也不能缺少 check3函数:每一个 3x3 小宫格中都包含 1~9 各一次 很明显,这是数独游戏的规则,我们需要填入正确的49个数字 直接用python脚本 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364from typing import Listbox=[0, 0, 5, 0, 0, ...
web签个到
buuctf[ACTF2020 新生赛]Include打开靶机看到页面只有一个tips 点击一下 看源码什么也没有,结合题目include猜测是文件包含 来个链接学一下 https://blog.csdn.net/m0_46467017/article/details/126380415 我们可以用php伪协议,再来个链接 https://blog.csdn.net/cosmoslin/article/details/120695429 我们可以用php://filiter读取源码 php://filter/read=convert.base64-encode/resource=flag.php base64解密以下得到flag 12好久没学新东西了,突然发现web的入门题还是很好玩的。脑子有点混乱了,还有很多东西要学啊,没关系,今天又进步了一点😊
hgame2025
...
VNCTF-re
😫今天终于想起来复现了,这次比赛没做出来一道题,好惨 hook_fish分析过程 总之就是输入flag验证是否正确 先找到主函数 check验证函数应该在hook_fish.dex中,根据fish函数的参数hookfish找到下载链接 输入的flag先经过本地encrypt函数加密,再经过hook_fish.dex中的check方法进行混淆 解密过程 check方法用哈希映射加密,在mainactivity中保留了decode方法,可以用hook方法解密 123456789101112Java.perform(function() { var MainActivity = Java.use("com.example.hihitt.MainActivity"); console.log("找到类: com.example.hihitt.MainActivity"); //hook 掉删除的方法,并直接在此方法中进行解密 MainActivity.fish_fade.implementation...
TEA
TEA原理TEA是一种分组加密算法,使用64位的密文分组和128位的密钥,它使用Feistel分组加密框架,需要进行 64 轮迭代,尽管作者认为 32 轮已经足够了。该算法使用delta作为倍数,以保证每一轮加密都不相同,TEA中定义为0x9e3779b9 加密函数: 12345678910111213141516171819void Encrypt(long* EntryData, long* Key){ //分别加密数组中的前四个字节与后4个字节,4个字节为一组每次加密两组 unsigned long x = EntryData[0]; unsigned long y = EntryData[1]; unsigned long sum = 0; unsigned long delta = 0x9E3779B9; //总共加密32轮 for (int i = 0; i < 32; i++) { sum += delta; x += ((y << 4) +...
简单的z3
z3-solver求解器z3-solver是由Microsoft Research(微软)开发的SMT求解器,它用于检查逻辑表达式的可满足性,可以找到一组约束中的其中一个可行解,缺点是无法找出所有的可行解 pip安装:pip install z3-solver 基本用法: 123456789import z3x.Int('x')y.Int('y')s=z3.Solver()s.add(x+y=4)if s.check() == z3.sat: print(s.model())else: raise Exception("NO SOLUTION!") 实数:y = z3.Real(name = 'y') 位向量:z = z3.BitVec(name = 'z', bv = 32) 布尔:p = z3.Bool(name = 'p') 对于布尔类型的式子而言,我们可以使用 z3 内置的 And()、Or()、Not()、Implies()...



