type
status
date
slug
summary
tags
category
icon
password

1、base192:

换表3重base64
直接动调取表,因为有对表的加密操作
 

2、let’s go

1、die检查发现有UPX的壳,还是ELF文件,决定使用IDA进行脱壳

1、脱壳

notion image
非常明显的加壳,直接在开始地方下断点
notion image
发现有一个LOAD区,进行cal函数
notion image
发现还是LOAD区,下面有一个cal,再次进入
notion image
 
发现了关键的地方,有一个syscall函数,而且看到了熟悉的基址0x40000c,可以发现这人是一个关键的
而且还有sys_mmap函数,我们直接进去看看。这个函数是加壳时候必须要有的
一直运行,看到cal就进入,发现ida生成了一个区
notion image
 
 
notion image
又有一个系统call
notion image
 
可以发现有三个向上跳转地地方,直接在退出那下断点F9
notion image
 
可以发现有一个大跳,而且是40000地,所有发现这个肯定是我们要的OEP
notion image
 
发现了关键地syscall函数,我们直接走,而且在厦门也有了基址
notion image
 
成功完成任务,直接走
notion image
可以发现我们已将来到了正确的OEP,但是不知道为什么我的代码没识别出来,可能是我脱过一次
在xor哪里使用Alt + F7使用脚本脱壳
在线搜,文章末给出脚本:
notion image
得到脚本文件
notion image
notion image
发现一切OK
下面开始解密

2、解密

notion image
notion image
notion image
notion image
 
密钥初始化,而且还是AES CFB模式
对于CFB模式他是一种神奇的模式,就是一种类似与RC4的流密码,最后会进行异或,他每次取16个字节(视情况而定,他有BLOCK的长度)
然后第一轮加密的字节作为下一轮的异或值,所有只要在他加密后的地方修改成密文的形式,那么我们就不需要去求密钥和iv,(其实是我没求出来,在网上看AES CFB加密流程发现的)
然后就可以得到再下一轮的值,一步步求,就得到flag了,如果能看到key和iv直接cyberchef一把梭,不需要了
附上代码:不需要修改,直接用
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
算法学习模板—二分法学习Unidbg使用
Loading...