CTFShow的RE题(二)

逆向5

附件无后缀,查一下是zip,解压得到一个exe一个dll文件。

往下继续看

但也根进去看看

发现是在加载的dll文件

还有一个返回时调用的函数

发现是打印函数

根据以往的经验应该是要跳转到这里,动调一下。

发现exe链接了dll,再看一下dll,发现有Aspack壳,不知道有没有工具()

试一下,应该就是flag

所以前面第一个函数给各个变量赋值就i是障眼法,不要害怕,不会就先往后看。

红包题 武穆遗书

估计前面三个函数里有反调试吧,继续看

第一个就是反调试函数

第二个:调用链接库函数

第三个:有问题

总体:

应该就是看Src了:

但不知道了,

对呀,可以直接调试出来、

Src与input比较,Src肯定是已知的,试试

1.直接 nop debugger 函数

不行,还是会直接退出

2.修改 EIP 跳过函数

也是不行,跳过去了,f8继续执行时退出了

  1. X32dbg 有隐藏调试器功能

但是不能开地址随机化,不然不好找

成功

4,最笨方法也是最可靠的:跳进函数,每次跳转时改寄存器

红包六

Jar逆向?不就是一个压缩包吗?这能算逆向? "压缩包"算是半个hint

可以修改后缀为 zip ,解压缩得到 java 文件

应该就是一个 base64 和 DES 加密

不对,也有提示前面:

//hint: flag not here

那就只能返回去看看最初的 jar 文件了

丢进 010,

说前两个是解压出来了,第三个就是未解压的了

查了一下正常是一个 zip 压缩包一个 PK... 50 4B 03 04

但有一个 zip 是两个,估计最多就是两个吧
ctf-wiki-zip学习

我想可以先手动分成两个zip文件

不行好像,

只能试试网上那个脚本了

python 复制代码
# -*- coding: gb2312 -*-
import zlib
inflator = zlib.decompressobj(-zlib.MAX_WBITS)
f=open("D:\ctf附件2\EzJar.jar",'rb')
f.seek(659)
a=f.read(3248)
f.close()
x = inflator.decompress(a)
f=open('EzJar.class','wb')
f.write(x)
f.close()

得到EzJar.class文件,用 jd 打开

最后分析可知算法为DES,密钥为Ctf3r_me 密文为Dg/TZuRXF4+UwSZ8Dpwgw8+VOoHVl1YlPL1QRVhroCy4ptnKEcdC05iXcpLyDnuR

总结:

jar逆向,可以先当成 zip 解压缩,java 文件可以直接看,class 文件可以用jd分析或者 jadx (好看一些)

没有给 iv 的 DES 加密,一般是 ECB mode

相关推荐
NineData7 小时前
NineData智能数据管理平台新功能发布|2026年1-2月
数据库·sql·数据分析
IvorySQL8 小时前
双星闪耀温哥华:IvorySQL 社区两项议题入选 PGConf.dev 2026
数据库·postgresql·开源
ma_king11 小时前
入门 java 和 数据库
java·数据库·后端
jiayou6414 小时前
KingbaseES 实战:审计追踪配置与运维实践
数据库
NineData1 天前
NineData 迁移评估功能正式上线
数据库·dba
用户962377954481 天前
DVWA 靶场实验报告 (High Level)
安全
NineData1 天前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
赵渝强老师1 天前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
数据智能老司机1 天前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机1 天前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent