PWN July 14, 2020

AFL-fuzz初探

Words count 23k Reading time 21 mins.

一、下载与安装

这里附上官网下载地址:https://lcamtuf.coredump.cx/afl/

下载下来解压后,放到虚拟机中,进入文件夹,执行下面的命令进行安装:

1
2
make
sudo make...
Read article

RE May 22, 2020

smc加密研究

Words count 4.8k Reading time 4 mins.

一、smc的概念

所谓SMC(Self Modifying Code)技术,就是一种将可执行文件中的代码或数据进行加密,防止别人使用逆向工程工具(比如一些常见的反汇编工具)对程序进行静态分析的方法,只有程序运行时才对代码和数据进行解密,从而正常运行程序和访问数据。计算机病毒通常也会采用SMC技术动态修改内存中的可执行代码来达到变形或对代码加密的目的,从而躲过杀毒软件的查杀或者迷惑反病毒工作者对代码进行分析。现在,很多加密软件(或者称为“壳”程序)为了防止Cracker(破解者)跟踪自己的代码,也采...

Read article

兴趣研究 May 17, 2020

IOT固件mips环境安装与漏洞复现

Words count 45k Reading time 41 mins.

一、mips的编译环境安装

1、下载buildroot

1
2
3
wget http://buildroot.uclibc.org/downloads/snapshots/buildroot-snapshot.tar.bz2
tar -jxvf buildroot-snapshot.tar.bz2
cd buildroot

2、配置buildroot

1
2
3
4
sudo apt-get install libncurses-dev patch
make clean
make qemu_mips32r2el_malta_defconf...
Read article

兴趣研究 May 13, 2020

angr的学习与使用探究

Words count 6k Reading time 5 mins.

一、什么是angr?

angr 是一个功能强大的二进制程序分析框架,可用于程序的静态分析和动态符号执行。支持 x86、ARM、MIPS 和 PPC 架构中 32 bit 和 64 bit 可执行程序的分析,是一款非常强大的python库。

二、angr怎么安装?

1、安装 virtualenvwrapper

virtualenv 是一个可以在同一台计算机中隔离多个 Python 环境的工具。它能够用于创建独立的 Python 环境,使得多个 Python 环境互不影响。virtualenvwrapper...

Read article

PWN May 09, 2020

ubuntu19下的smallbin的unlink

Words count 21k Reading time 19 mins.

一、原理

利用的机制是当malloc走到smallbin的时候,如果smallbin的size和malloc的nb相同,会从smallbin链bk上解下来一个chunk,同时会将这条链上剩余的chunk放到对应size的tcache_entry中,终止条件是该smallbin为空或者对应的tcache_entry被装满。

仔细观察smallbin插入tcache_entry的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
size_t tc_idx = csize2tidx...
Read article

密码学 May 08, 2020

RC4校验算法研究

Words count 8.3k Reading time 8 mins.

一、RC4算法原理

1、概念

rc4是一种基于密钥流的加密算法,它的密钥长度可变,密钥长度在1-256字节范围,主要是因为这个算法的非线性度良好,因为加解密使用的是相同的密钥,所以也是对称加密算法。

2、原理

最关键的点就是明文x和密钥经过动态的s盒生成的密钥流进行了一一异或加密,得到了密文,这里rc4是对明文进行一个个加密的,密钥流的长度和要加密的明文长度一致。

3、代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35...
Read article

RE April 23, 2020

windows下的壳研究

Words count 3.5k Reading time 3 mins.

一、什么是壳

加壳的全称是可执行程序资源压缩,是保护文件的常用手段。加壳过的程序可以直接运行,但是不能查看源代码。要经过脱壳才可以查看源代码。

加壳是利用特殊的算法,对EXE、DLL文件里的资源进行压缩、加密。类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成,因此我们需要dump内存。

壳的类型通常分为压缩壳和加密壳两类。压缩壳的特点是减小软件体积大小,加密保护不是重点,

例如: Aspack, UPX(ctf比赛中中最常见的壳), PeCompact...

Read article

RE April 17, 2020

看雪ctf二进制题解

Words count 2.6k Reading time 2 mins.

一、keygenme(逆向)

是一个crackme,已经知道用户名是KCTF的情况下,计算出序列号。这题真的是很好地锻炼了动态调试的能力,学到了~

1、首先ida分析逻辑:

这里要求输入name是大于3位小于20位,sn一定是64位的

接着进入check

这里因为进行了去符号表:

所以我们可以通过修复符号表+自定义函数名来进行加密算法的查看:

ida中shift+f5然后导入我们的静态链接库,这个库可以从github下载:

https://github.com/push0ebp/sig-database...

Read article

ANDROID January 29, 2020

安卓开发入门

Words count 138k Reading time 2:06

一、准备工作

1、android studio +自带模拟器(或者真机root)

2、frida(一个hook神器)

3、jeb(反编译利器)

4、java环境变量jdk的配置(谷歌)

5、gradle安装

6、ndk的配置与安装

二、开始编程

1、程序基础

1
2
3
4
5
6
7
8
public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState...
Read article

ANDROID January 14, 2020

安卓动态调试专题

Words count 20k Reading time 18 mins.

安卓动态调试smali

安装smalidea # 下载链接: https://bitbucket.org/JesusFreke/smali/downloads/smalidea-0.05.zip

  1. 下载
  2. Android Studio安装smalidea
    进入Settings->Plugins点击Install plugin from disk选中下载好的压缩包
  3. 安装完成 解包并配置AS
  4. 反编译成smali代码 apktool d 应用调试.apk 2. AS打开
  5. 设置smali根目录
  6. 配置...
Read article
Load more
0%