- 博客(26)
- 收藏
- 关注
原创 [BJDCTF 2020]encode
有一个upx的壳,直接脱就行,没有另外的东西,并且和ubuntu系统相关的。接下来就用rc4脚本了,base64用这个。进去没看出什么,就看相关字符串,发现了。
2025-09-12 21:44:24
289
原创 [LitCTF 2023]程序和人有一个能跑就行了
先附上rc4解密脚本/*RC4初始化函数*/for (i = 0;i < 256;for (i = 0;i < 256;s[j] = tmp;/*RC4加解密函数unsigned char* Data 加解密的数据unsigned long Len_D 加解密数据的长度unsigned char* key 密钥unsigned long Len_k 密钥长度*/
2025-09-10 17:28:48
886
原创 [HNCTF 2022 WEEK2]Easy_Android
逻辑简单,就看checkSN里面就行。只要输入22个字符,看与谁比较就行。(如果学习版的jeb调试不了就凑合用正版demo吧。先会调试,之后就很简单了。
2025-06-28 18:51:51
869
原创 [NSSRound#X Basic]ez_z3
我们知道v6取值,使用找出dword_140025520即可找出str即flag。知道文件的UPX被魔改位XYU,用WenHex改过来就行。现在我们只知道后面两个的结果为enc,依次往上找关系。a1就是&unk_140025588,在里面就是a1。先看最后一个,找到最后加密得到的数组。这里是dword_140025520。dword_140025520在。里面就是一系列的条件约束了。在往上看,关键的一步。主要就这几个加密函数。
2025-05-08 14:08:05
321
原创 [青海民族大学 2025 新生赛]你的flag被加密啦!
print("加密后的flag是:", encrypted_flag)直接原代码,这里的shift就是位移量,解密就直接减shift就行。一道ROT加密的变种。
2025-04-24 22:22:22
210
原创 [HGAME 2022 week1]easyasm
查无壳,直接丢及IDA看逻辑第一处是判断的逻辑。第二处xor ax,axshl al,1shl al,1shl al,1shl al,1;push ax;暂存高 4 位移后的结果第三处xor ax,axshr al,1shr al,1shr al,1shr al,1;pop bx;第四处就是相加后与0x17异或且加密后字符串在 seg001中。
2025-04-21 22:05:22
336
原创 [NSSRound#V Team]Shatter_Time
for x in range(268435456):#循环里是0x10000000,只要比寄存器里能存的最大数大就行。还有看看那个文件是干什么的,根据字符串提示,可以找到一些线索。这要动调改数了,可以知道,在里面改变了b。不知道干啥的,看看main1和2。循环里的结果要使i变为1。找数的,懒得思考就爆破。改变寄存器的值就行。
2025-04-17 22:49:58
159
原创 [HNCTF 2022 WEEK2]Try2Bebug_Plus
可以找到flag是(不知道为什么不一样,第一次写的时候是对的,有没有老师傅在评论区讲解一下)printf("暂停2秒后继续执行\n");我的里面没有,我就直接shift+F12了。一个elf文件,用不了OD,丢尽IDA里。提示我们用debug,开始调试,可以参考。printf("开始执行\n");
2025-04-13 21:54:53
532
原创 [SDCTF 2022]A Bowl of Pythons
挺有意思一题的。看到是py文件直接分析def d():h(FLAG)def e(f):d()d()= f:d()else:我们一段一段看这是一个def a(n):把16进制变为明文就是“h”就等同于”print“,eval函数会执行传入的字符串代码h(b('496e636f727265637420666c61672120596f75206e65656420746f206861636b206465657065722e2e2e'))//用18进制转字符串就知道了。
2025-04-12 23:20:44
841
原创 [zer0pts 2020]easy strcmp
只知道加密后为zer0pts{********CENSORED********},而a2是什么并无法确定。在sub_6EA中,key也在里面,(用python写EXP会麻烦,可以试试用c写)看到了a1,a2和加密方式,现在主要看最后的那个函数是什么了。第一步,查出来是个elf文件,改完后缀,丢入IDA中。在sub_795中发现了,它是strcmp。接下来基本借鉴大佬的WP了。函数不多就要看看内容了。
2025-04-09 22:31:48
212
原创 [MTCTF 2021]Random
对于这些Random,都可以考虑用动调看看随机的结果,毕竟都是伪随机。(我这一个不一样,利用了c的伪随机)第一步,无壳第二步,IDA看到两个关键,一:随机结果,二:加密结果在随机结束的地方下断点发现了这个。这就要看流程图了(不能只会看伪代码)问的学长,涉及c++异常结果分析,这里就是,总共随机了3次(图里不全)提取加密结果。
2025-03-26 17:16:55
469
1
原创 [HNCTF 2022 Week1]Little Endian
第一步查无壳第二步,IDA可以知道,enc[i]是加密后的数据。而且是每四个字节加密提取出enc[i],
2025-03-26 15:40:37
236
原创 [moectf 2022]chicken_soup
第一步,查无壳第二步,IDA看到有爆红的,nop一下,注意有的一键nop可能出错,可以手动nop之后创建新函数(用P键)再看伪代码。
2025-03-24 21:41:37
460
原创 [GWCTF 2019]xxor
这是一个64位的elf文件,将他的后缀改为elf三个重点,倒着看,用z3求出a1,s=Solver()s.add(a[2]-a[4]==0x42D731A8)#注意表示单位,不然会计算错误print(m)一个魔改的tea加密,a2在align 20表示32位为一个元素,所以。
2025-03-21 20:11:09
458
原创 [LitCTF 2023]For Aiur
以下是一个完整的示例,展示了如何创建、激活、安装包、停用和删除环境:bash# 创建一个名为 myenv 的环境,并安装 Python 3.9# 激活环境# 安装 numpy 包# 查看已安装的包conda list# 停用环境# 删除环境通过以上步骤,你可以在 Conda 中轻松地创建和管理环境。
2025-03-20 20:59:50
1600
原创 [SWPUCTF 2023 秋季新生赛]IDA动态调试
提示可以动态调试,看ff1()中有什么,但找不到v1的信息,看看v2。一个异或,直接下断点。
2025-03-20 11:22:27
351
原创 [SWPUCTF 2023 秋季新生赛]test your cmd
按照提示,主要在return/exit之前用动调暂停程序即可。或者,按算法,看看data_start里面有什么直接算[狗头]
2025-03-12 17:31:58
169
原创 [watevrCTF 2019]Timeout
然而看不出信息,但在exports中发现一个generate函数,主要看不出其他函数什么用,应该为一个elf文件,再看看在IDA中怎么说,发现,函数内部有这个。再根据提示,在下面找到。
2025-03-12 17:18:26
231
原创 [SWPUCTF 2023 秋季新生赛]UPX
一个正常的upx壳,正常脱壳就行。第二步,丢IDA里,结果显而易见。第一步,看看是什么UPX的壳。
2025-03-12 16:18:07
273
原创 [MoeCTF 2022]fake_key
第一步,查无壳。第二部,IDA找到关键,根据提示,要动调找到key找到且enc为提取出来,找到enc长度生成随机数i<29;可以解出。
2025-03-12 16:02:52
266
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅