admin管理员组

文章数量:1548294

说明

主要功能:在win10上研究和学习32位arm汇编指令的执行
环境如下

主机环境: windows10
目标模拟器环境:armeabi-v7a

调试环境搭建

1、下载android studio

下载地址:https://developer.android/studio?hl=zh-cn

2、安装android studio
直接下一步即可,我把安装位置放到了D盘 `D:\arm\android-studio\bin`
3、配置android studio

3.1 安装完成进入到bin文件夹,打开studio64.exe,如果提示创建项目,随便创建一个即可,进入到主页,点击设置–>SDK Manager

3.2 配置SDK存放位置,我的改成了D:\arm\AndroidSdk,安装SDK Tools标签下面的ndk编译器,选好后点击apply等待安装

3.3 创建模拟器

随便选一个,然后下一步

选择 Other Images,下载了Android 4.1的 arm32版本镜像,(其它没有测试)

下一步,打开快速启动,RAM设置为512M,点击完成即可

4、脚本打开模拟器

模拟器存放位置在用户的.android/avd目录

通过命令行打开模拟器 D:\\arm\\AndroidSdk\\emulator\\emulator.exe -avd dev1

5、adb连接测试

6、IDA远程调试

6.1 将IDA7.0下面的dbgsrv中的文件android_server上传到模拟器
命令:adb push android_server /data/user

6.2 登录到模拟器
命令

adb forward tcp:23946  tcp:23946   # 端口映射
adb shell
cd /data/user 
chmod 777 android_server
./android_server


6.3 IDA远程连接


c编译环境配置

  • 参考官网配置: https://developer.android/ndk/guides/ndk-build?hl=zh-cn

1、新建Android.mk,内容如下

LOCAL_PATH := $(call my-dir)
LOCAL_ARM_MODE := arm
LOCAL_MODULE := hello
LOCAL_SRC_FILES := hello.c

include $(BUILD_EXECUTABLE)

2、新建Application.mk,内容如下

APP_ABI := armeabi-v7a
APP_BUILD_SCRIPT := Android.mk
APP_PLATFORM := android-16
APP_OPTIM := debug

3、新建hello.c,内容如下

#include <stdio.h>

int main()
{
    while (1)
    {
        printf("helloworld\n");
        getchar();
    }
	return 0;
}

4、新建compile.bat,内容如下

D:\\arm\\AndroidSdk\\ndk\\27.0.11902837\\ndk-build.cmd NDK_PROJECT_PATH=. NDK_APPLICATION_MK=Application.mk

5、成功编译后生成程序

6、拷贝到设备上运行

本文标签: 模拟器架构Windows