Unicorn学习笔记之一

本文介绍了如何利用Unicorn框架在Windows环境下模拟执行Android的armeabi-v7a平台上的本地库函数。通过编写C代码并用NDK编译生成SO文件,然后在IDA中获取函数关键信息,最后使用Unicorn进行模拟运行,验证了模拟结果与原始C程序执行相同。

参考资料:

1、unicorn

2、Unicorn 在 Android 的应用

搭配环境:

VS2019

Windows10 64位

python3.7

前言介绍:

   Unicorn是一款跨平台的模拟器执行框架,可以辅助我们模拟执行x86、arm等等平台的代码。从而达到调试器的作用,它的实用场景例如ollvm还原、静态脱壳机等等。

1、搭建编译环境

1、首先VS安装该组件

 2、搭配好Path环境cmd输入python

 3、根据官网介绍安装pip install unicorn

 4、创建python项目并且在python环境找得到unicorn则为配置环境成功

2、我们使用NDK编译一个so文件测试

我们写一个最简单不包含任何外部函数的Func1()函数,然后我们用Unicorn直接调用这个Func1函数

Execute.c

#include <stdio.h>
#include <stdlib.h>
#include <dlfcn.h>

//函数指针
int Func1(unsigned int a1, unsigned int a2)
{
int result; // eax@1<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值