
CTF
文章平均质量分 60
沐一 · 林
人若无言,方可潜心向学。
人若无名,方可潜心练剑!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
第二届广东省大学生网络攻防大赛 simple_re
2022 年 5 月广东省省赛 simple_re程序梳理:程序将关键函数以对象元素的形式存在对象里,然后在申请内存中搭配指针间接调用。sub_140002110 有反调试,主要是 IsDebuggerPresent 和获取 ThreadContext 并检测是否有硬件断点。加密流程为先打乱每个字节的比特顺序,其实就是把比特串倒过来;然后利用打乱比特顺序的前 4 字节输入 SMC 解密一段代码,并开一个线程检测 SMC 解密后的代码段是否有 0xcc,有的话说明前 4 字节输入错误;之后调用上述代码段原创 2022-05-31 22:31:54 · 883 阅读 · 0 评论 -
Base-N 算法加密解密实现:
目录Base-N 算法加密解密实现:Base64 加密解密:(C 语言、python)Base32 加密解密:(C 语言)Base-N 算法加密解密实现:Base64 加密解密:(C 语言、python)Base64 介绍:Base64 是一种基于 64 个可打印字符来表示二进制数据的表示方法。由于 2^6=64,所以每 6 个比特为一个单元,对应某个可打印字符。3 个字节有 24 个比特,对应于 4 个 Base64 单元,即 3 个字节可由 4 个可打印字符来表示。它可用原创 2022-05-26 11:46:06 · 2501 阅读 · 0 评论 -
2022 年网刃杯 ez_algorithm
2022 年网刃杯 ez_algorithm下载附件:..照例扔入 exeinfope 中查看信息,64 位无壳:..照例运行一下,查看主要回显信息:..照例扔入 IDA64 中查看伪代码,有 main 函数看 main 函数:..进入到 encryption2 和 嵌在里面的 encryption3 分析可知它们两个是加密解密同一函数的:..然后,嗯~代码比较长,我曾一度想在脑子中梳理逆向逻辑,结果梳乱了,所以还是写在纸上了,写完之后再写脚本思路就很清晰:原创 2022-05-23 19:47:30 · 347 阅读 · 0 评论 -
第二届广东省大学生网络攻防大赛 pyre
2022 年 5 月广东省省赛 pyre..以前做过 pyc 逆向,直接的 python exe 逆向还是第一次:第一种方法:用 pyinstxtractor.py 将 exe 文件转换成 pyc 文件。..用 PyInstaller 打包后,pyc 文件的前 8 个字节会被抹掉,所以最后要自己添加回去。前四个字节为 python 编译的版本,后四个字节为时间戳。想要获得编译版本可以查看打包文件里 struct 的信息,我这里还是提取出 struct 这个文件,有 struct 作为对原创 2022-05-22 18:28:08 · 1083 阅读 · 4 评论 -
对 IDA 结构体操作的一些理解
对 IDA 结构体操作的一些理解前言:刚学逆向时把 IDA pro 权威指南过了一遍,但读得并不是很细,满足日常使用还是没问题的,但是对于一些细节的操作或提高效率的方法倒是没能掌握。比如 IDA 对结构体和数组的操作,看过,但是不记得了,就算记得也不会用,或者根本不知道什么时候用,在哪用。虽然凭借着最基本的操作依旧能分析得出来,但是效率却大打折扣。有一天从 水番正文 的视频中得到启发,发现应用 IDA 结构体后能使代码可读性大大提高,便回去精读了 数据类型和数据结构 这一章,并整理出自己的 IDA原创 2022-05-20 09:27:33 · 686 阅读 · 0 评论 -
2022 *CTF REVERSE 的 NaCl
2022 *CTF REVERSE的Nacl下载附件:..照例扔入 exeinfope 中查看信息:..照例扔入虚拟机中运行一下,查看主要回显信息:..照例扔入 IDA64 中查看伪代码,没有 main 函数,根据关键字符串交叉引用定位到函数 sub_8001774 处:..因为是当时我不会做,所以赛后我尽力梳理逻辑,我的做法就是每一条指令都尽力理解它的作用,所以基本每条都有注释。...然后。。。。我误解了别人的博客,或者说是大佬们写的实在是太简略了啊!!原创 2022-05-08 00:35:28 · 1147 阅读 · 3 评论 -
2022HGAME中REVERSE的creakme2
2022HGAME中REVERSE的creakme2下载附件:..照例扔入 exeinfope 中查看信息:..照例扔入 IDA64 中查看伪代码,有 main 函数看 main 函数:..F5 未生成的异常与回调函数处理:但是常规的 XTEA 解密算法并不对,一开始怀疑题目错了,果然还是自己太菜了,出人意料的结果都是表明中间存在未分析的操作啊!(这里是除 0 异常和异常处理回调函数,虽然不知道那里限定了 loc_140001141 就是回调函数)..修改一下 XT原创 2022-04-30 00:00:00 · 806 阅读 · 0 评论 -
2022年4月网刃杯RE部分
2022年4月网刃杯freestyle:照例扔入 exeinfope 中查看信息:..64 位 ELF 文件,照例扔入虚拟机中运行一下,查看主要回显信息:..照例扔入 IDA64 中查看伪代码,有 main 函数看 main 函数:..最终 flag 就是 3327105 的 md5 值:比较有意思的是一开始我这样提交时并不对,搞到我以为是其它数,乱想了很久,但是后来又对了,浪费了太多时间,得吐槽一下。flag{31a364d51abd0c8304106c16779d83原创 2022-04-27 21:00:49 · 285 阅读 · 0 评论 -
2022 *CTF REVERSE的Simple File System
2022 *CTF REVERSE的Simple File System..下载附件,有四个文件:..照例扔入虚拟机中运行一下,查看主要回显信息:..照例扔入 IDA64 中查看伪代码,有 main 函数看 main 函数:..那么流程就是从 flag 文件中取出 flag -----> plantflag 命令加密存入磁盘节点中。关键就是存入磁盘节点中也是写入磁盘文件中啊,而出题者取出的 flag 是完整的 flag 啊,所以磁盘中一开始里面就有加密后原创 2022-04-18 21:31:02 · 685 阅读 · 2 评论 -
2022年HGAME中REVERSE的fake shell
2022年HGAME中REVERSE的fake shell下载附件:..照例扔入 exeinfope 中查看信息:..照例扔入虚拟机中运行一下,查看主要回显信息:结合题目暗示可以看出这的确是一个假的 shell,只是简单的 if 命令分情况执行而已。..照例扔入 IDA64 中查看伪代码,有 main 函数看 main 函数:..跟踪前面说得 RC4 加密函数:(特征是 256 字节数组)..那直接下断点把要比较的密文提取出来加密即可,但是发现用密钥 "h原创 2022-04-11 17:16:57 · 1228 阅读 · 3 评论 -
2022年HGAME中REVERSE的upx magic 0
2022年HGAME中REVERSE的upx magic 0下载附件:..照例扔入 exeinfope 中查看信息:..照例扔入虚拟机中运行一下,查看主要回显信息:..照例扔入 IDA64 中查看伪代码,有 main 函数原创 2022-04-09 21:31:33 · 1078 阅读 · 0 评论 -
2022年HGAME中REVERSE的猫头鹰选择在白天走迷宫
2022年HGAME中REVERSE的猫头鹰选择在白天走迷宫下载附件:..照例扔入 exeinfope 中查看信息:..先运行一下看主要回显信息:..64 位无壳,照例扔入 IDA64 中查看伪代码,有 main 函数看 main 函数:..把 byte_404020 数组内容提取出来整理成 64*64 矩阵即可:(下面是学到的整理代码)map=[0x20,0x20,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x原创 2022-04-09 11:28:05 · 660 阅读 · 0 评论 -
2022年HGAME中CRYPTO的Easy RSA
2022年HGAME中CRYPTO的Easy RSA照例下载附件:..结合遍历列表中元祖,直接常规RSA解密即可import libnumfrom Crypto.Util.number import long_to_byteslist1=[(12433, 149, 197, 104), (8147, 131, 167, 6633), (10687, 211, 197, 35594), (19681, 131, 211, 15710), (33577, 251, 211, 38798), (原创 2022-04-04 16:21:50 · 517 阅读 · 0 评论 -
2022年HGAME中CRYPTO的RSA Attack2
2022年HGAME中CRYPTO的RSA Attack..照例下载附件,一个 task.py,一个output.txt:import refrom math import ceilfrom Crypto.Util.number import getPrimefrom libnum import s2nfrom secret import flagflag_parts = list(map(s2n, re.findall(rf".{{,{ceil(len(flag) / 3)}}}",原创 2022-04-04 16:21:26 · 1166 阅读 · 0 评论 -
2022年HGAME中CRYPTO的RSA Attack
2022年HGAME中CRYPTO的RSA Attack..照例下载附件,一个task.py和output.txt:rom Crypto.Util.number import getPrimefrom libnum import s2nfrom secret import flagm = s2n(flag)e = 65537p = getPrime(80)q = getPrime(80)n = p * qc = pow(m, e, n)print("e =", e)prin原创 2022-04-04 16:20:48 · 715 阅读 · 0 评论 -
2022年HGAME中CRYPTO的RSA Attack3
2022年HGAME中CRYPTO的RSA Attack3..照例下载附件,照例先 CTF-RSA-tool 工具先行:..解毕!敬礼!原创 2022-04-04 16:20:29 · 449 阅读 · 0 评论 -
2022年HGAME中CRYPTO的Multi Prime RSA
2022年HGAME中CRYPTO的Multi Prime RSA..照例下载附件,看了一眼,发现是变形的RSA加密,变形处为 n = p ** 2 * q ** 3 * r ** 5 * s ** 7:from Crypto.Util.number import getPrimefrom libnum import s2nfrom secret import flagp = getPrime(256)q = getPrime(256)r = getPrime(256)s = get原创 2022-04-04 16:19:52 · 1315 阅读 · 0 评论 -
2022年HGAME中REVERSE的creakme
2022年HGAME中REVERSE的creakme下载附件,照例扔入 exeinfope 中查看信息:..32 位无壳,照例扔入 IDA 32中查看信息,有 main 函数看main 函数:..那么直接给出解密脚本:#include <stdio.h>#include <stdint.h> void decrypt (uint32_t* v, uint32_t* k) { uint32_t v0=v[0], v1=v[1], sum=11835原创 2022-04-04 16:19:26 · 576 阅读 · 0 评论 -
2022年HGAME中REVERSE的猫头鹰是不是猫
2022年HGAME中REVERSE的猫头鹰是不是猫..下载附件,照例扔入 exeinfope 中查看信息:..64 位无壳,ELF 文件,照例扔入虚拟机中运行一下,查看具体回显信息:..照例扔入 IDA64 中查看伪代码,有 main 函数看 main 函数:..所以就是用户输入经过与两个除 10 后的 64*64 矩阵相乘后与预定义值比较的程序。首先得回顾处矩阵乘法,是一行乘以一列来得出一个数,乘以全部列才得出一行数。..知道这些后先下断点拿出两个除 10 后的原创 2022-04-04 16:18:46 · 276 阅读 · 0 评论 -
2022年HGAME中REVERSE的Flag Checker
2022年HGAME中REVERSE的Flag Checker照例下载附件:..APK 文件,运行不了,照例扔入 JEB 中查看代码:..既然是 RC4 加密,那么直接搬上解密代码,结果发现解码错误:..那就修改编码为 Unicode-escape 编码,正确代码如下:(相关编码细节可以查看另一篇博客)# -*- coding: utf-8 -*-import base64def get_message(): print("输入你的信息: ") s=input() r原创 2022-04-04 16:19:11 · 981 阅读 · 0 评论 -
[FlareOn1]Shellolololol
[FlareOn1]Shellolololol..下载附件,照例扔入 exeinfope 中查看信息:..32 位无壳,照例运行一下查看主要回显字符串:..一开始我以为这是一个弹框程序,后来才发现这是我自己电脑的异常处理,而且还创建了一个什么文件,因为我的火绒拦截了,但是这个被拦截的文件也没啥子用。..照例先扔入 IDA32 中查看伪代码,没有 main 函数:..然后就懵了,跟踪不进,断下不了:..既然是动调的话还是 OD 比较好,用 OD F7单步跟进原创 2022-03-24 21:02:12 · 533 阅读 · 0 评论 -
[HDCTF2019]Maze
[HDCTF2019]Maze..照例下载附件,扔入 exeinfope 中查看信息:..32 位 UPX 壳,照例脱壳,这次用 UpxUnpacker:..按流程来,常规运行一下看一下主要回显函数:..照例扔入 IDA32 中分析伪代码,有 main 函数看 main 函数:..这道题坑比较多,第一个就是你硬拼凑数5和-4都给你过:..第二个就是 string 窗口看到的迷宫和双击跟踪看到的迷宫是不一样的,导致我一开始没法排序,真的离谱!!!..然原创 2022-03-19 22:19:05 · 671 阅读 · 0 评论 -
BUUCTF中Crypto的RSAROLL
BUUCTF中Crypto的RSAROLL..照例下载附件,两个 txt 文件:RSA roll!roll!roll!Only number and a-z(don’t use editorwhich MS provide){920139713,19}7047967927522111522747041641841402236827083548329523526307290545978847648329523545978847666355179247520680原创 2022-03-18 10:03:17 · 3896 阅读 · 0 评论 -
[SUCTF2019]REVERSE的hardcpp
[SUCTF2019]REVERSE的hardcpp..下载附件,照例扔入 exeinfope 中查看信息:..64 位 ELF 文件,无壳,照例运行一下查看主要回显信息:..照例扔入 IDA64 中查看信息,有 main 函数看 main 函数:..上面的变量名是被我注释过的,现在看一下那些有冗余代码运算函数的分析过程:(看到函数内有一堆大数基本都是冗余代码了)..所以一个 while 循环的逻辑就是:enc=((pre_single_flag%7)+原创 2022-03-17 16:32:15 · 846 阅读 · 0 评论 -
[De1CTF2019]REVERSE的Re_Sign
[De1CTF2019]REVERSE的Re_Sign..照例下载附件,扔到 exeinfope 中查看信息:..提示 UPX 壳,但是好像无法使用 UPX -D 来脱壳:..那么先尝试一下手动脱壳,扔入 OD 中,利用 ESP 脱壳定律:..然后嘛~脱壳后导入表乱了,用 ImportREC 修复也修复不了,(我曾想着自己修复,但还是太年轻了 ~ ^ ~):然后经友人推荐使用了 UpxUnpacker.exe ,直接脱壳且能运行!不得不说这个几百KB的工具真的专业,希原创 2022-03-15 12:08:21 · 1465 阅读 · 1 评论 -
2018年九月份安恒杯月赛之NewDriver
2018年九月份安恒杯月赛之NewDriver这题是复现的,用于研究 RC4 加密,首先拿到附件:..照例扔入 exeinfope 中查看信息:..32 位无壳,照例扔入 IDA32 中查看信息,有 main 函数看 main 函数:(这次就用老版7.0 IDA 来分析算了)..分析第一个自定义函数:..分析第二个自定义函数:..分析第三个自定义函数:..所以总的流程是,用户输入------>base64加密------>RC4数据初原创 2022-03-08 21:16:38 · 1274 阅读 · 0 评论 -
解析 RC4 加密算法(C语言、python)
目录解析 RC4 加密算法(C语言、python):RC4加密算法是一种对称加密算法:加密(解密)原理:RC4算法中的几个关键变量:RC4代码介绍:rc4初始化介绍:包含三个参数:RC4加密:包含三个参数:代码实现:(已注释)C语言代码:Python代码:三丶RC4的逆向小技巧1:逆向特征2:魔改RC4解析 RC4 加密算法(C语言、python):RC4加密算法是一种对称加密算法:对称加密(也叫私钥加密)指加密和解密使用相同密原创 2022-03-08 16:36:03 · 18485 阅读 · 1 评论 -
2022年 HSC-1th中MISC的汝闻,人言否
2022年 HSC-1th中MISC的汝闻,人言否先下载PNG,感觉尾部冗余数据,linux上用 foremost xxx.png 分离出来:..分离之后虽然还是PNG,但是图片大小已经发生了变化,16进制对比后发现后面应该是一个zip压缩包:..把后半部分单独复制出来不断的修改部分错误文件头字段(50 4B )和不断的按照50 4B后面的(03 04、07 08、01 02、05 06)移动位置后终于得到一个没有损坏的压缩包了,但是它不是zip伪加密,我也没有字典,爆破不出来:..原创 2022-02-28 17:39:08 · 293 阅读 · 0 评论 -
2022年 HSC-1th中MISC的DORAEMON
2022年 HSC-1th中MISC的DORAEMON常规的图片长宽高题,下载附件,根据提示爆破6位数字密码:..打开图片后修改宽高如下,可以看到二维码:.最后拼接二维码扫描即可。..解毕!敬礼!原创 2022-02-28 17:27:28 · 157 阅读 · 0 评论 -
2022年 HSC-1th中REVERSE的WAY
2022年 HSC-1th中REVERSE的WAY下载附件,照例扔入exeinfope中查看信息:..可以看到有upx壳,用万能脱壳工具脱壳:..扔入32位IDA中查看逻辑:..常规的 5*5 迷宫题,直接手动走迷宫,小写sdsddwd后MD5加密即可:..解毕!敬礼!...原创 2022-02-28 17:23:17 · 184 阅读 · 0 评论 -
2022年 HSC-1th中REVERSE的ANDROID
2022年 HSC-1th中REVERSE的ANDROID下载附件,是APK逆向,用雷电模拟器打开查看主要内容:..直接写解密脚本即可:secret=[102, 13, 99, 28, 0x7F, 55, 99, 19, 109, 1, 0x79, 58, 83, 30, 0x4F, 0, 0x40, 42]flag=[]for i in range(17): if i%2==0: flag.append(secret[i]^i) else: flag.append(0)fo原创 2022-02-28 17:18:50 · 2334 阅读 · 0 评论 -
2022年 HSC-1th中REVERSE的hiahia o(*^▽^*)┛
2022年 HSC-1th中REVERSE的hiahia o(▽)┛下载附件,是个 exe 文件,照例扔入 exeinfope 中查看信息:..64 位无壳,照例用 IDA64 打开,定位 main 函数:..简单的加减加密,直接逆向逻辑得到 flag:scret=list("igdb~Mumu@p&>%;%<$<p")for i in range(20): if i > 9: if i&1==0: a[i]=chr(ord(a[i原创 2022-02-28 17:12:32 · 292 阅读 · 0 评论 -
2022年 HSC-1th中CRYPTO的BABY-RSA
2022年 HSC-1th中CRYPTO的BABY-RSA照例下载附件,是 py 文件:from Crypto.Util.number import *def lfsr(status,mask): out = (status << 1) & 0xffffffff i=(status&mask)&0xffffffff lastbit=0 while i!=0: lastbit^=(i&1) i原创 2022-02-28 16:57:18 · 649 阅读 · 0 评论 -
2022年 HSC-1th中CRYPTO的RSA
2022年 HSC-1th中CRYPTO的RSA照例下载附件,是 py 文件:import gmpy2import sympyfrom Crypto.Util.number import *flag = b'????'z=getPrime(1024)p=sympy.nextprime(z)q=sympy.prevprime(10*z)n=p*qm=bytes_to_long(flag)e=0xe18ec=pow(m,e,n)print("n=",n)print("c=",原创 2022-02-28 16:28:01 · 513 阅读 · 1 评论 -
2022年 HSC-1th中CRYPTO的LINE-GENERATION-TEST
2022年 HSC-1th中CRYPTO的LINE-GENERATION-TEST照例下载附件,是一张 png 图片:..矩阵??没接触过的加密类型,以矩阵加密为关键字搜索,发现是古典密码-希尔密码Hill:https://www.cnblogs.com/labster/p/13848395.html...原创 2022-02-28 15:55:28 · 204 阅读 · 0 评论 -
2022年 HSC-1th中CRYPTO的AFFINE
2022年 HSC-1th中CRYPTO的AFFINE照例下载附件,是 py 文件:# -*- coding: utf-8 -*-import stringimport hashlibletter=string.ascii_letters+string.digits#abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789def encrypt(m, c, a, b): for i in range(len(m))原创 2022-02-28 09:36:47 · 314 阅读 · 0 评论 -
2022年 HSC-1th中CRYPTO的Easy SignIn
2022年 HSC-1th中CRYPTO的Easy SignIn下载附件,一个 txt 文本:5445705857464579517A4A48546A4A455231645457464243566B5579556C7053546C4A4E524564565646644D515670455130354C5755644F5231685256314A5452315A5552304E57576C5A49525430395054303950513D3D.无非是传统密码的混合,直接用 ciphey 工具即可原创 2022-02-28 08:40:07 · 466 阅读 · 0 评论 -
第二届BMZCTF公开赛CRYPTO的simple
第二届BMZCTF公开赛CRYPTO的simple..照例下载压缩包,解压,需要密码,直接 ARCHPR-4.5(密码8835)爆破:..解压后是两个附件,一个 txt,一个jpg:..RC4算法原理迟点在研究,照例用工具解密RC4:..最终flag:flag{You_Guess_It}..解毕!敬礼!...原创 2022-02-03 21:45:35 · 439 阅读 · 0 评论 -
第二届BMZCTF公开赛CRYPTO的DO_YOU_KNOW_IT
第二届BMZCTF公开赛CRYPTO的DO_YOU_KNOW_IT..下载附件后是一张图片,图片内容看起来像数学符号,后来查了资料后发现是 latex 数学符号,与latex 结合的密码学,长见识了:..用在线 latex 编辑器 来识别图片转成 latex 公式:..整理了半天,第二个向上左拐的还是没找到,但大致整理出来了:flag{\prod \ltimes \aleph y _{-}\wp \infty \therefore \heartsuit _{-}\Longleft原创 2022-02-03 21:34:10 · 547 阅读 · 0 评论 -
第二届BMZCTF公开赛CRYPTO的签到
第二届BMZCTF公开赛CRYPTO的签到打开附件发现一串密文:56465a7757464977546d464e656b354b5632786b5346457862336c4f4d4842485632785a4d6c5a47556c46554d557057556a464e656c5a466146465756444135554651774f5642525054303d..直接用 ciphey 智能分析看看:直接得到flag。..解毕!敬礼!...原创 2022-02-03 21:19:32 · 436 阅读 · 0 评论