type
status
date
slug
summary
tags
category
icon
password
1、base192:
换表3重base64
直接动调取表,因为有对表的加密操作
2、let’s go
1、die检查发现有UPX的壳,还是ELF文件,决定使用IDA进行脱壳
1、脱壳

非常明显的加壳,直接在开始地方下断点

发现有一个LOAD区,进行cal函数

发现还是LOAD区,下面有一个cal,再次进入

发现了关键的地方,有一个syscall函数,而且看到了熟悉的基址0x40000c,可以发现这人是一个关键的
而且还有sys_mmap函数,我们直接进去看看。这个函数是加壳时候必须要有的
一直运行,看到cal就进入,发现ida生成了一个区


又有一个系统call

可以发现有三个向上跳转地地方,直接在退出那下断点F9

可以发现有一个大跳,而且是40000地,所有发现这个肯定是我们要的OEP

发现了关键地syscall函数,我们直接走,而且在厦门也有了基址

成功完成任务,直接走

可以发现我们已将来到了正确的OEP,但是不知道为什么我的代码没识别出来,可能是我脱过一次
在xor哪里使用Alt + F7使用脚本脱壳
在线搜,文章末给出脚本:

得到脚本文件


发现一切OK
下面开始解密
2、解密




密钥初始化,而且还是AES CFB模式
对于CFB模式他是一种神奇的模式,就是一种类似与RC4的流密码,最后会进行异或,他每次取16个字节(视情况而定,他有BLOCK的长度)
然后第一轮加密的字节作为下一轮的异或值,所有只要在他加密后的地方修改成密文的形式,那么我们就不需要去求密钥和iv,(其实是我没求出来,在网上看AES CFB加密流程发现的)
然后就可以得到再下一轮的值,一步步求,就得到flag了,如果能看到key和iv直接cyberchef一把梭,不需要了
附上代码:不需要修改,直接用
- Author:xiaowaaa
- URL:https://www.xiaowaaa.asia//article/c48aa5f7-161b-4edf-ac60-419c334a4c94
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!