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

相关推荐
秋田君41 分钟前
QT_QT布局详解
开发语言·数据库·qt
m0_738120721 小时前
PHP代码审计基础——超全局变量(三)
开发语言·安全·网络安全·php
可乐ea1 小时前
【Redis八股|第8篇】Redis 分布式锁原理与 Redisson 使用
数据库·redis·分布式·面试题·redis八股
ClouGence2 小时前
Oracle 到 OceanBase 迁移方案横评:停机导出/导入 vs OMS vs CDC 工具
数据库·oracle
Meya11272 小时前
不同规模机房怎么选 U 位系统?8 柜小型机房、40 柜数据中心完整选型参考
服务器·网络·数据库
m0_738120723 小时前
PHP代码审计基础——面向对象(四)
android·开发语言·网络·安全·github·php
从此以后自律3 小时前
MySQL 删除数据全方式详解
数据库·mysql
带娃的IT创业者3 小时前
监控并非安全:当隐私成为技术的祭品
java·开发语言·安全·数据安全·监控·隐私保护·加密技术
青山木4 小时前
Redis 高可用的最后一公里:Cluster 分片、Gossip 与故障转移全流程
数据库·redis·后端·缓存
MartinYeung54 小时前
[论文学习]LLM-based AI Agent 安全威胁与防御系统性综述
人工智能·学习·安全