VM-master前言 之前出题的时候,想在github上找个好点的vm板子,但是这样的资源好少好少,就看到个外国的库写的,我用这个改编了一份简单点的,出了2024newstar新生赛的vm题。(虽然被小登非预期了,应该加个前后加减预防单字节爆破的)
源码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788...
浅谈ctf中的游戏逆向前言 最近打了好几场大比赛,感觉每场都会有奇怪的游戏逆向出来,有c++写的,有python写的,有c#写的,藏flag的方式也是多种多样啊,感觉挺有意思的,来个总结也当复现赛题了。想把此篇当为游戏逆向的总章。
2024强网拟态-challenge 一个吃豆人的游戏,github上找到了源码NJU-TJL/PacManX: 基于C++控制台(Windows平台)的一个吃豆人小游戏。很精妙的设计,去了符号表,增加整个游戏逆向的难度,该题不是正常的通关游戏给flag的那种,将关键点藏到了退出函数那,也是我玩着玩着发现的。
直接对exit...
swift-re常见的加密解密在xcode里用swift写了点加密解密,以后都放着这里了。。
RC412345678910111213141516171819202122232425262728293031323334353637import Foundationclass RC4 { var state = [UInt8](repeating: 0, count: 256) init(key: [UInt8]) { var j:Int = 0 for i in 0..<256 { stat...
VM简介一个虚拟机指令集,相当于自己写了个虚拟机,执行自己写的指令,来实现程序的运行,我觉得有点套中套的味道了
要求分析代码能力,扎实的汇编基础,chatgpt的熟练使用
例子简单学习一下vm,以WcyVM(nctf2018)为例
这就是一个经典的vm题目,下面的一堆case就分别代表不同的指令集,上面的v4,v5就代表不同的寄存器,用来存储和操作数据,那么我们首先需要做什么呢?
opcode
opcode也就是操作码,用来判断这个程序是根据什么顺序运行的,有些题的opcode是只有操作的,但是有些题的opcode还会有带上参数什么的,这题就是
寄存器
操作分析case 0x8
传入...
ios常见加密前言 在学习篇(1)中有提及过CCCrypt,最近在学习登录加密算法的时候发现ios的加密大部分都是调用函数库的,现在来总结一下现在遇到的比较多见的加密。
CC_MD5 最简单也是最常用的
123456789101112-(NSString *)stringWithMD5{ const char *cStr = [self UTF8String]; unsigned char digest[CC_MD5_DIGEST_LENGTH]; CC_MD5( cStr, strlen(cStr), digest ); // This is the...
maimaidx导分查分器研究前言 原因是一个maimai菜鸡+残疾人,习惯了使用break一键导分,而在突然的某一天break寄了以后,突发奇想,想搞一个本地的break进行自己本地的一键导分一键查分。进行作为一个学逆向的,搞这种web和爬虫的东西从头学起真的很难,为什么我不是web仔??
手机下的抓包 因为之前有某o的导入抽卡数据的经验,这边尝试用手机上的抓包工具stream进行对maimai官方的网页抓包的,结果直接好像被ban了,可能是微信检测出来了。。。
windows下的抓包 因为在微信中访问网页是用微信自带的浏览器进行访问的,无法进行F12查看源码,所以我们...
分组加密及模式最近感觉做了很多分组加密的题,每次解密的模式都是赛博厨子一个一个试过来的,逻辑啥的也有点不理解,在比赛里最头疼的就是这种比较难的加密了,主要不知道为什么错,想一步一步分析步骤,又很难看,最终还是得归总一下。
常见分组加密AES,DES,blowfish,sm4……(比赛里现在只遇到这些,以后遇到了会继续补充)
KEY密钥是加密中最关键的一个东西,也是解密中不可获取的东西,以下为各种分组加密的表:
加密方式
AES
DES
Blowfish
SM4
密钥长度(位=8bits)
16/24/32
8
4—56
16
重复次数
10...
2024CISCN初赛 Reverse最近太忙了,终于等pycc搞完,有点时间,进行赛后复现一下
可惜了差道Goreverse,还需再练练,除了安卓其他题都出的挺好的
asm_re汇编看得太慢了,不太熟练,直接取巧提取一下放ida里解析了
一个简单的*+^操作,当时还奇怪为什么是int类型的密文,现在知道了,第一天的签到
123456789101112131415#include <stdio.h>int main(){ int pw[38]={0x00001FD7, 0x000021B7, 0x00001E47, 0x00002027, 0x0000...
ios学习篇(2)ipa文件结构 ipa以压缩包的形式打开后进入payload中会有很多的文件存在,我们如何进行有效的辨别每个文件是什么,以快速找到对于逆向最有用二进制文件呢,先从ipa的结构入手。
本文章将以一个开源的社交app为例子进行简单介绍
Info.plist Info.plist是一个应用的相关配置文件(类似于android的AndroidManifest.xml)
可以用plist Editor来查看大致的相关配置信息,当然用vscode看也行不过比较难看
后面还涉及一些权限啥的配置,不展开细讲
_CodeSignature
ipa包签名文件...
ios学习篇(1)引言 哎,感觉学安卓太难了,没有用过安卓系统,但是之前有过ios越狱经验,干脆直接学ios逆向好了。学了一个星期,才刚把基础题做出来。为了省钱不买mac,就用windows硬搞,吃尽了苦头啊。。。
工具/设备iphone 7:dopamine(多巴胺),牛蛙助手,巨魔商店,open-ssh,debugserver
windows系统:ssh,爱思助手,ida
无根越狱(仅适配ios17以下版本)看了很多教程,试过了WinRa1n,直接报错差点成为苹果板砖了。感觉还是多巴胺一键最简单
前置步骤
先去把爱思助手下了,爱思能帮你配好很多环境,还有唯一可见的...