Android逆向基础(二)

ADB

ADB(Android Debug Bridge),安卓调式桥。用于与安卓模拟器或真实安卓设备进行通信,提供了丰富的命令行工具对应用进行安装、调试。
使用手册
常用命令1
常用命令2
adb devices #列出可连接设备
adb shell   #进入手机管理(只有一个设备时)
adb -s shellID  command#指定shell,后跟命令
adb install #安装包文件
adb push computerfilepath   phonefilepath  #将文件传至手机端
adb pull phonefilepath      computerfilepath #将文件传至电脑端
adb -s shellID root  #以root权限运行

案例—登录逻辑分析

程序编写

C源程序

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

char name[20];
char pwd[20];

char __name[20] = "hello";
char __pwd[20] = "123456";

int check(char _name[],char _pwd[])
{
	if(!strcmp(__name,_name) && !strcmp(__pwd,_pwd))
	{
		printf("恭喜你登陆成功! \n");
	}
	else
	{	
		printf("请输入正确的账号密码!\n");
	}
	return 0;
}

int main()
{
	printf("************************\n");
	printf("**");
	printf("请输入账号:");
	scanf("%s",name);
	printf("请输入密码:");
	scanf("%s",pwd);
	printf("********\n");
	check(name,pwd);
	printf("\n*************\n\n");
	printf("***************\n");
	system("pause");  //需加头文件<stdlib.h>,发出一个dos命令,如pause冻结屏幕,system("dir")列出目录文件;
	return 0;
}

Android.mk编写

LOCAL_PATH  := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_ARM_MODE := arm
LOCAL_MODULE  := user
LOCAL_SRC_FILES := user.c
include $(BUILD_EXECUTABLE)

Application.mk编写

APP_ABI := all
#APP_ABI := x86 armeabi-v7a
APP_PLATFORM := android-22
#若报错Android NDK: Aborting (set APP_ALLOW_MISSING_DEPS=true to allow missing dependencies) . Stop.
APP_ALLOW_MISSING_DEPS=true

构建

使用ndk构建系统

ndk-build -C /path/project #-C 指定项目位置,从任意位置开始构建
ndk-build -B               #若源文件未修改,NDK构建系统不会重构建目标,-B可强制重构所有源代码
ndk-build clean #清理生成的二进制文件和目标文件
ndk-build -j 4 #GNU Make工具默认一次执行一条命令,-j可以并行执行命令。数字指定并行执行的命令总数。

分析

IDA远程调试

\IDA 7.0\dbgsrv
目录中选择合适的dbgsrv,使用命令在adb -s shellPID push Clipath Serpath
传至模拟器上,加权限后执行。另一窗口执行adb -s emulator-5554 forward tcp:23946 tcp:23946
。打开IDA,选择debugger-run-remote linux debugger
,配置如图,在“Debug options”选项中勾选“Suspend on process entry point”和“Suspend on library load/unload”复选框。即可开始调试。若报错debugger id is xxx, expected yyy (armlinux),检查模拟器和IDA的debugger是否匹配。

gdb调试

lldb调试

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇