旧博客传送机
本来有挺多东西想搬的,但是由于贴图实在是太麻烦了放弃了博客搬家的计划😅,放个旧博客传送机
updated on 2022.11.5: 配好插件以后发现可以直接从网上dump图片,我直接进行一个家的搬😋
AES加密算法学习
算法简介
高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。(摘自百度百科)
AES属于对称加密算法,加密解密使用的密钥相同,同时也是分组加密算法,明文长度固定为128位,密钥长度分为128位,192位,256位,(也就是常说的AES128,AES192,AES256),密钥每增加64位加密函数增加两轮。
萌新是跟着这位爷和这个视频学的。
前置芝士伽罗华域(Galois Field)上的四则运算
GF(2^8)有限域上的运算问题
看了一天AES数学基础,果然最痛的还是数学😭
个人理解:有限域上的多项式运算主要是把握住加减法运算和异或运算的等效性,理解了这一层,对于有限域G ...
XCTF2023-re-部分复现
我不是病毒2.0大概是萌新唯一有能力复现的题了吧,太菜了呜呜呜呜呜,打比赛的时候做 flappy-bird 做了一天真的逆不动,看来得 allin 一下安卓了。
对着 官方wp 和 大爹战队的wp 复现的。
[原创]Python逆向——Pyinstaller逆向-软件逆向-看雪论坛-安全社区|安全招聘|bbs.pediy.com (kanxue.com)
题目是个 exe 文件,查壳发现是 pyinstaller 打包的程序
用 pyinstxtractor.py 解包,但是注意附件的 python 环境是 3.10 的,所以本地的 python 环境也得是 3.10,否则解包出来的 PYZ-00.pyz_extracted 文件夹是空的。PYZ-00.pyz_extracted非常重要,一般一个稍微大一点的项目都会分成多个py文件,甚至会依赖其他模块,这些被依赖的文件解析后都会放入PYZ-00.pyz_extracted中,可以说这里放的是核心代码。
可以看到 pyinstxtractor.py 中有检测 MAGIC_NUMBER 也就是检测了 python 版本。
我们修 ...
ChaCha20 - Salsa20学习笔记
前几天做 mcmc 遇到一个魔改的 Chacha20算法,顺便学一下,抄的这份博客 。
Chacha20 加密算法算法简介
ChaCha20-Poly1305 是一种 认证加密 算法。 ChaCha20-Poly1305加密时无需硬件加速,而且加密速度通常比AES-GCM更快,所以某些 移动设备中会优先采用ChaCha20-Poly1305加密算法。ChaCha20-Poly1305由两部分组成,分别是Poly1305和ChaCha20。 —— 摘自【维基百科】
初始化矩阵ChaCha20 加密的初始状态包括
一个128位常量(Constant),常量的内容为 0x61707865, 0x3320646e, 0x79622d32, 0x6b206574
一个256位密钥(Key)
一个64位计数(Counter)
一个64位随机数(Nonce)
一共64字节其排列成 4 * 4 的 32 位字矩阵如下所示:(实际运算为小端)
1
2
3
4
Constant
Constant
Constant
Constant
Key
Key
Key
Key
Key
Ke ...
vnctf2023 - 复现
复现期间去郑州玩了一趟,先复现一下数据安全的 re 题,当时在线下做了nm 90%最后发现密钥都写脸上了就是没出😅😅😅
Butterfly安卓逆向,先看 AndroidManifest.xml 找 MainActivity
check 函数是 static 方法,明显要逆 so ,解压以后 ida 打开,是个 arm 架构的。
字符串窗口可以搜到 check 字符,查查交叉引用,用 JNIEnv * 修复一些函数以后,发现注册了一个 native 方法
sub_1FD80 就是我们要找的 check 函数,点进去翻翻找到了 yyyyyy 这个函数,显然是被混淆了,但是没有关系,直接选中汇编创建函数然后反编译即可
同时发现相邻的函数
非常可疑,点进去一眼 AES,cipher 就是 yyyyyy 里的 v6,密钥和 iv 都是 1234567890123456
cyberchef 一把梭 flag{welc0me_backTo_obfuscation}
PZGalaxy直接 view - source 一下就能找到源码,一看是个 RC4 加密
123 ...
HGAME 2023 week3 & week4 writeup
patchmemain 函数里有个 gets,同时翻了翻发现有一段代码,里面有个 mprotect 下面是对一个大数据段的异或操作,显然是个 SMC,一个比较 pwn 的方法是利用 get 的漏洞改汇编然后跑出 flag,也可以直接逆。
由于只是一个简单异或,考虑用 idapython 直接实现 smc 的解密
12345from idc_bc695 import *addr = 0x14C6for i in range(961): PatchByte(addr, Byte(addr) ^ (0x66) & 0xFF) addr += 1
解密完的数据 analyze 以后得到关键代码
123456789101112131415161718192021#include <bits/stdc++.h>#include <stdint.h>using namespace std;long long v9[6], v13[6];int main(){ v9[0] = 0x5416D999808A28FALL; v9[1] = ...
西湖论剑初赛2023 - re复现
坐牢一天,Dual personality 一眼看出远跳转改了 CS 寄存器把程序变成了 64bit-mod 但是后面的加密逻辑静态看完全看不懂,后面又觉得 babyRE 能做,看出 base8 以后被一个 SHA-1 校验卡了一个小时,最后爆破少了后面的六位没爆出来,大失败属于是😓
babyREida 打开发现 main 函数啥也没有,一看到 TlsCallback 函数就明白了应该是个回调函数 + 异常处理的题,交叉引用找到了三个注册函数
一个一个点进去,发现这三个函数里面有六个子函数,在每个函数开始的地方下断点,一路 F9,就能找到加密函数的执行顺序。
首先可以看出输入为 0 - 9 的数字。
然后是对 408104 进行一个取反,直接调过去就行。
然后 hook 了GetLastError 函数,注册了 base8 加密,没什么用。
然后来到了 base8 加密,表就是之前的 byte_408104, 值得注意的是,这里在加密以后,是从第 16 位开始与密文进行比对的,比较长度为 96 位,前面16位是由 input 的前6位生成的,在这里没有进行比对。
再按一次 ...
unicorn模拟执行初探
从放寒假摆到现在,哈哈,再不学 re 👶要被开咯,本来想写写安洵杯的题的,结果从 pyc 开始后面全几把粪题,出题人自己都没玩明白,果断放弃(笑嘻了),RCTF 据说有个 unicorn ,之前大爹也说过 unicorn 模拟执行这个玩意儿,感觉很高级,找了一篇还能看的懂的年前起个头学一下。
什么是unicorn一些官方翻译Unicorn是一个轻量级,多平台,多架构的CPU模拟器框架,基于qemu开发,它可以代替CPU模拟代码的执行,就比如说我们需要调试某个程序,常见的调试器需要配置可执行文件需要的环境并且还需要考虑一些恶意代码导致的安全问题,但是通过unicorn我们就可以单纯的模拟代码的执行(甚至可以指定从某个地址开始执行)而不需要考虑这些问题。
它的亮点(这也归功于Unicorn是基于qemu而开发的)有:
支持多种架构: Arm, Arm64 (Armv8), M68K, Mips, Sparc, & X86 (include X86_64).
对Windows和nix系统(已确认包含Mac OSX, Linux, BSD & Solaris)的原生支持
具 ...
记一次TEC-8仿真软件patch
计组实验的仿真软件,每次打开只能做半小时,然后自动关闭(真傻逼,而且我还做不明白),看看能不能把时间给调一下。
打开软件之前发现同目录下还有licens.txt和Timekey.txt
虽然我也搞不明白完整版到底有哪些功能,但是感觉和这个自动关闭应该是有关系的,那就先搜搜这俩文件名看看有什么线索。
最后在调用TimeKeys.txt的函数中发现了一个关键的地方:
同时还发现了mainform,
经过调试,在该函数中会让软件的GUI逐渐显现出来,那么显然内置时间的操作应该就在这附近了,因为处理一个问题的函数往往会写在一起,我们随便翻一翻function界面。
运气比较好,往下点几个就能找到控制时间的函数了,再次通过交叉引用
发现有个TimerColseTimer,大概就是这个了,点进去看一看
发现有出现数字 1800 和 MainForm,哈哈,那就开始patch吧,直接在汇编窗口把1800都修改为3600
大功告成,Apply 一下重新打开.exe文件
倒计时变成60分钟了,且通过测试,确实是在60分钟以后才自动关闭的。
然而该做的实验还是得做。。。破解了不会做实验 ...
《whoami》——一部“社工观众”的电影
信息安全心理学大作业,哈哈爽看电影写影评,本来是剪了六个片段的,但是emmm不会传视频,文章的颜色标记也没了,可能阅读体验不会很好,凑合看吧(感觉大家都在看啊,可以讨论讨论呢)
《whoami》,又名《我是谁:没有绝对安全的系统》,是我很早之前就看过的一部电影,当时看时,总觉似懂非懂,不理解电影中人物的行为和动机。而本学期,在听了辛阳讲师的《信息安全心理学》课程,涉猎了杨义先教授所著的《黑客心理学》一书以后,我突然间对这部电影有了全新的理解,甚至生发出了一种想法:也许我,以及许多观众,都被这部电影的编剧和导演给“社工”了——或许作为观众的我也只是看见了我想看到的而已。
一部展现“社会工程学”的电影,为什么会让我有一种“被社工”的感受呢?下面让我们从电影本身的剧情开始,以一个“观众”,一个“受害者”的视角,结合我所学习到的“社会工程学”的一些原理,从分支剧情——主线剧情——电影本身三个阶段来剖析这部电影的“社工手段”,当然也包括电影剧情本身的“漏洞”。
在阅读之前,需要先声明本文的几个标记颜色(颜色估计没得看了,凑合凑合吧)。
1、 漏洞(男主人公故意暴露的叙事漏洞)
2、 ...