androidroothook
❶ android应用服务器防火墙如何设置
Android网络防火墙的几种实现方式
a) Android应用层:敏感函数hook
i. 绝大多数Android应用都是调用Android Framework来实现网络通讯。比如:webView.loadUrl(),HttpClient.execute(),DefaultHttpClient.execute()等。只需穷举这些类的函数,并将它们都Hook住,这样就可实现拦截上网的功能了。
ii. 当然,如果想要Hook这些函数入口,有两种方式:1. 首先需要获得root权限,然后通过进程注入,将Client代码注入到应用进程,在进程上网时,应用进程将会发起IPC请求到Server进程,由Server进程来决定是否允许其访问网络。2. 通过修改应用本身来加入Hook代码,从而避免了root手机,这样相对比较安全。
iii. 使用函数hook这种方案的优点是:简单、快速、可实现网络热开关(无需杀死进程)。但缺点是也是有的,它不能拦截所有的网络访问入口。例如:某应用如果没有调用Android的库,而是自己实现了一个访问网络的库,或者甚至用native代码来实现,那么这时候这个方案将拦截不到任何的上网请求。
❷ 突破SSL Pinning抓app的数据包
做app测试时,手机安装burpsuite证书后依然抓不到数据包,可能是因为app启用了SSL Pinning(ssl证书绑定)。
APP中封装了客户端的证书,APP收仿迅到用户伪造的证书后,对该证书进行强校验,验证该证书是不是自己承认的证书,如果不是,则断开高大亏连接。
安卓手机绕过SSL Pinning
Xposed+JustTrustMe
将APK中所有用于校验SSL证书的API都进行了Hook,从而绕过证书检查。
https://github.com/Fuzion24/JustTrustMe
ios手机绕过SSL Pinning
SSL Kill Switch
https://github.com/nabla-c0d3/ssl-kill-switch2
另外推荐个屏蔽root/越狱检测的插件:戚神
IOS:liberty lite Android:RootCloak
参考资料:
https://bbs.pediy.com/thread-226435.htm
https://www.freebuf.com/column/207103.html
❸ 如何不重打包调试Android应用
安全工程师在进行Android逆向的时候常常会有动态调试的需求,不重打包绝庆隐调试Android应用的方法,就是使用Xposed的HOOK插件xinstaller开启系统中所有应用的调试功能:
1.在已经ROOT好的手机或虚拟机里安差档装好xpose框架和xinstaller插件http://repo.xposed.info/mole/de.robv.android.xposed.installer
http://repo.xposed.info/mole/com.pyler.xinstaller
2.开启模块并厅,点击xinstall插件设置专家模式,进入其他设置开启调试应用,最后重启
❹ 安卓权限详细介绍
安卓权限详细介绍
开发android程序的时候常常会设计到各种权限,程序执行需要读取到安全敏感项必需在androidmanifest.xml中声明相关权限请求,各种权限说明如下:
android.permission.ACCESS_CHECKIN_PROPERTIES
允许读写访问”properties”或弊罩表在checkin数据库中,改值可以修改上传( Allows read/write accessto the “properties” table in the checkin database, to change valuesthat get uploaded)
android.permission.ACCESS_COARSE_LOCATION
允许一个程序访问CellID或WiFi热点来获取粗略的位置(Allows an application to accesscoarse (e.g., Cell-ID, WiFi) location)
android.permission.ACCESS_FINE_LOCATION
允许一个程序访问精良位置(如GPS) (Allows an application to access fine (e.g.,GPS) location)
android.permission.ACCESS_LOCATION_EXTRA_COMMANDS
允许应用程序访问额外的位置提供命令(Allowsan application to access extra location provider commands)
android.permission.ACCESS_MOCK_LOCATION
允许程序创建模拟位置提供用于测试(Allows an application to create mock locationproviders for testing)
android.permission.ACCESS_NETWORK_STATE
允许程序访问有关GSM网络信息(Allowsapplications to access information about networks)
android.permission.ACCESS_SURFACE_FLINGER
允许程序使用SurfaceFlinger底层特性(Allows an application to useSurfaceFlinger’s low level features)
android.permission.ACCESS_WIFI_STATE
允许程序访问Wi-Fi网络状态信息(Allows applications to access information aboutWi-Fi networks)
android.permission.ADD_SYSTEM_SERVICE
允许程序发布系统级服务(Allows an application to publish system-levelservices).
android.permission.BATTERY_STATS
允许程序更新手机电池统计信息(Allows an application to update the collectedbattery statistics)
android.permission.BLUETOOTH
允许程序连接到已配衫闹对的蓝牙设备(Allowsapplications to connect to paired bluetooth devices)
android.permission.BLUETOOTH_ADMIN
允许程序发现和配对蓝牙设备(Allows applications to discover and pair bluetoothdevices)
android.permission.BRICK
请求能够禁用设备(非常危险)(Required to be able to disable the device (very*erous!).)
android.permission.BROADCAST_PACKAGE_REMOVED
允许程序广播一个提示消息在一个应用卜贺程序包已经移除后(Allows an application to broadcast anotification that an application package has been removed)
android.permission.BROADCAST_STICKY
允许一个程序广播常用intents(Allows an application to broadcast stickyintents)
android.permission.CALL_PHONE
允 许一个程序初始化一个电话拨号不需通过拨号用户界面需要用户确认(Allows an application to initiate aphone call without going through the Dialer user interface for theuser to confirm the call being placed.)
android.permission.CALL_PRIVILEGED
允 许一个程序拨打任何号码,包含紧急号码无需通过拨号用户界面需要用户确认(Allows an application to callany phone number, including emergency numbers, without goingthrough the Dialer user interface for the user to confirm the callbeing placed)
android.permission.CAMERA
请求访问使用照相设备(Required to be able to access the camera device. )
android.permission.CHANGE_COMPONENT_ENABLED_STATE
允 许一个程序是否改变一个组件或其他的启用或禁用(Allows an application to change whether anapplication component (other than its own) is enabled or not. )
android.permission.CHANGE_CONFIGURATION
允许一个程序修改当前设置,如本地化(Allows an application to modify the currentconfiguration, such as locale. )
android.permission.CHANGE_NETWORK_STATE
允许程序改变网络连接状态(Allows applications to change network connectivitystate)
android.permission.CHANGE_WIFI_STATE
允许程序改变Wi-Fi连接状态(Allows applications to change Wi-Fi connectivitystate)
android.permission.CLEAR_APP_CACHE
允许一个程序清楚缓存从所有安装的程序在设备中(Allows an application to clear the caches ofall installed applications on the device. )
android.permission.CLEAR_APP_USER_DATA
允许一个程序清除用户设置(Allows an application to clear user data)
android.permission.CONTROL_LOCATION_UPDATES
允许启用禁止位置更新提示从无线模块(Allows enabling/disabling location updatenotifications from the radio. )
android.permission.DELETE_CACHE_FILES
允许程序删除缓存文件(Allows an application to delete cache files)
android.permission.DELETE_PACKAGES
允许一个程序删除包(Allows an application to delete packages)
android.permission.DEVICE_POWER
允许访问底层电源管理(Allows low-level access to power management)
android.permission.DIAGNOSTIC
允许程序RW诊断资源(Allows applications to RW to diagnostic resources. )
android.permission.DISABLE_KEYGUARD
允许程序禁用键盘锁(Allows applications to disable the keyguard )
android.permission.DUMP
允许程序返回状态抓取信息从系统服务(Allows an application to retrieve state mpinformation from system services.)
android.permission.EXPAND_STATUS_BAR
允许一个程序扩展收缩在状态栏,android开发网提示应该是一个类似windowsmobile中的托盘程序(Allows an application to expand or collapse thestatus bar. )
android.permission.FACTORY_TEST
作为一个工厂测试程序,运行在root用户(Run as a manufacturer test application,running as the root user. )
android.permission.FLASHLIGHT
访问闪光灯,android开发网提示htcDream不包含闪光灯(Allows access to the flashlight )
android.permission.FORCE_BACK
允许程序强行一个后退操作是否在顶层activities(Allows an application to force a BACKoperation on whatever is the top activity. )
android.permission.FOTA_UPDATE
暂时不了解这是做什么使用的,android开发网分析可能是一个预留权限.
android.permission.GET_ACCOUNTS
访问一个帐户列表在Accounts Service中(Allows access to the list of accounts inthe Accounts Service)
android.permission.GET_PACKAGE_SIZE
允许一个程序获取任何package占用空间容量(Allows an application to find out the spaceused by any package. )
android.permission.GET_TASKS
允 许一个程序获取信息有关当前或最近运行的任务,一个缩略的任务状态,是否活动等等(Allows an application toget information about the currently or recently running tasks: athumbnail representation of the tasks, what activities are runningin it, etc.)
android.permission.HARDWARE_TEST
允许访问硬件(Allows access to hardware peripherals. )
android.permission.INJECT_EVENTS
允 许一个程序截获用户事件如按键、触摸、轨迹球等等到一个时间流,android 开发网提醒算是hook技术吧(Allows anapplication to inject user events (keys, touch, trackball) into theevent stream and deliver them to ANY window.)
android.permission.INSTALL_PACKAGES
允许一个程序安装packages(Allows an application to install packages. )
android.permission.INTERNAL_SYSTEM_WINDOW
允许打开窗口使用系统用户界面(Allows an application to open windows that are foruse by parts of the system user interface. )
android.permission.INTERNET
允许程序打开网络套接字(Allows applications to open network sockets)
android.permission.MANAGE_APP_TOKENS
允 许程序管理(创建、催后、 z- order默认向z轴推移)程序引用在窗口管理器中(Allows an application tomanage (create, destroy, Z-order) application tokens in the windowmanager. )
android.permission.MASTER_CLEAR目前还没有明确的解释,android开发网分析可能是清除一切数据,类似硬格机
android.permission.MODIFY_AUDIO_SETTINGS
允许程序修改全局音频设置(Allows an application to modify global audiosettings)
android.permission.MODIFY_PHONE_STATE
允许修改话机状态,如电源,人机接口等(Allows modification of the telephony state _power on, mmi, etc. )
android.permission.MOUNT_UNMOUNT_FILESYSTEMS
允许挂载和反挂载文件系统可移动存储(Allows mounting and unmounting file systems forremovable storage. )
android.permission.PERSISTENT_ACTIVITY
允许一个程序设置他的activities显示(Allow an application to make its activitiespersistent. )
android.permission.PROCESS_OUTGOING_CALLS
允许程序监视、修改有关播出电话(Allows an application to monitor, modify, or abortoutgoing calls)
android.permission.READ_CALENDAR
允许程序读取用户日历数据(Allows an application to read the user’s calendardata.)
android.permission.READ_CONTACTS
允许程序读取用户联系人数据(Allows an application to read the user’s contactsdata.)
android.permission.READ_FRAME_BUFFER
允许程序屏幕波或和更多常规的访问帧缓冲数据(Allows an application to take screen shotsand more generally get access to the frame buffer data)
android.permission.READ_INPUT_STATE
允许程序返回当前按键状态(Allows an application to retrieve the current state ofkeys and switches. )
android.permission.READ_LOGS
允许程序读取底层系统日志文件(Allows an application to read the low-level systemlog files. )
android.permission.READ_OWNER_DATA
允许程序读取所有者数据(Allows an application to read the owner’s data)
android.permission.READ_SMS
允许程序读取短信息(Allows an application to read SMS messages.)
android.permission.READ_SYNC_SETTINGS
允许程序读取同步设置(Allows applications to read the sync settings)
android.permission.READ_SYNC_STATS
允许程序读取同步状态(Allows applications to read the sync stats)
android.permission.REBOOT
请求能够重新启动设备(Required to be able to reboot the device. )
android.permission.RECEIVE_BOOT_COMPLETED
允 许一个程序接收到 ACTION_BOOT_COMPLETED广播在系统完成启动(Allows an application toreceive the ACTION_BOOT_COMPLETED that is broadcast after thesystem finishes booting. )
android.permission.RECEIVE_MMS
允许一个程序监控将收到MMS彩信,记录或处理(Allows an application to monitor incomingMMS messages, to record or perform processing on them. )
android.permission.RECEIVE_SMS
允许程序监控一个将收到短信息,记录或处理(Allows an application to monitor incoming SMSmessages, to record or perform processing on them.)
android.permission.RECEIVE_WAP_PUSH
允许程序监控将收到WAPPUSH信息(Allows an application to monitor incoming WAP pushmessages. )
android.permission.RECORD_AUDIO
允许程序录制音频(Allows an application to record audio)
android.permission.REORDER_TASKS
允许程序改变Z轴排列任务(Allows an application to change the Z-order oftasks)
android.permission.RESTART_PACKAGES
允许程序重新启动其他程序(Allows an application to restart otherapplications)
android.permission.SEND_SMS
允许程序发送SMS短信(Allows an application to send SMS messages)
android.permission.SET_ACTIVITY_WATCHER
允许程序监控或控制activities已经启动全局系统中Allows an application to watch andcontrol how activities are started globally in the system.
android.permission.SET_ALWAYS_FINISH
允许程序控制是否活动间接完成在处于后台时Allows an application to control whetheractivities are immediately finished when put in the background.
android.permission.SET_ANIMATION_SCALE
修改全局信息比例(Modify the global animation scaling factor.)
android.permission.SET_DEBUG_APP
配置一个程序用于调试(Configure an application for debugging.)
android.permission.SET_ORIENTATION
允许底层访问设置屏幕方向和实际旋转(Allows low-level access to setting theorientation (actually rotation) of the screen.)
android.permission.SET_PREFERRED_APPLICATIONS
允 许一个程序修改列表参数PackageManager.addPackageToPreferred()和 PackageManager.removePackageFromPreferred()方法(Allows anapplication to modify the list of preferred applications with thePackageManager.addPackageToPreferred() andPackageManager.removePackageFromPreferred() methods.)
android.permission.SET_PROCESS_FOREGROUND
允
❺ 安卓hook人脸文件夹位置
Android 系统默认的人脸库位置是 /data/user/0/com.android.facelock/files/facemodel,但这个文件夹掘棚的位置可能会因不同的 Android 版本、设备厂商或者 ROM 而有所不同。
如果您想要在应用中 hook Android 的人脸库,可以通过以下步骤来查找人脸库的位置:
1. 在 Android 设备中安装 Root 权限管理器,获取系统的 Root 权限。
2. 使用 Root 权限管理器打开系统文件管理器,进入 /data/data 目录。
3. 找到包名为 com.android.facelock 的应用文件夹。
4. 进入该文件夹中的 files 目录,找到名为 facemodel 的文件夹。
5. 在 facemodel 文件夹中查找人脸库文件,通常是以 .bin 或者 .dat 文件格式判销则存储。
需要注意的是,修改系统文件可能会对系统稳定性和安全性造成影响,建议谨慎操作,并备份相关文件以备不时之需。同时,应遵守相关法律法规和道德规范,不得进行非法的系统操作和信息窃取。斗颤
❻ Android权限添加了但是还是报错,求助各位
android.permission.ACCESS_CHECKIN_PROPERTIES //允许读写访问”properties”表在checkin数据库中,改值可以修改上传 android.permission.ACCESS_COARSE_LOCATION //允许一个程序访问CellID或WiFi热点来获取粗略的位置 android.permission.ACCESS_FINE_LOCATION //允许一个程序访问精良位置(如GPS) android.permission.ACCESS_LOCATION_EXTRA_COMMANDS //允许应用程序访问额外的位置提供命令 android.permission.ACCESS_MOCK_LOCATION //允许程序创建模拟位置提供用于测试 android.permission.ACCESS_NETWORK_STATE //允许程序访问有关GSM网络信息 android.permission.ACCESS_SURFACE_FLINGER //允许程序使用SurfaceFlinger底层特性 android.permission.ACCESS_WIFI_STATE //允许程序访问Wi-Fi网络状态信息 android.permission.ADD_SYSTEM_SERVICE //允许程序发布系统级服务 android.permission.BATTERY_STATS //允许程序更新手机电池统计信息 android.permission.BLUETOOTH //允许程序连接到已配对的蓝牙设备 android.permission.BLUETOOTH_ADMIN //允许程序发现和配对蓝牙设备 android.permission.BRICK //请求能够禁用设备(非常危险 android.permission.BROADCAST_PACKAGE_REMOVED //允许程序广播一个提示消息在一个应用程序包已经移除后 android.permission.BROADCAST_STICKY //允许一个程序广播常用intents android.permission.CALL_PHONE //允许一个程序初始化一个电话拨号不需通过拨号用户界面需要用户确认 android.permission.CALL_PRIVILEGED //允许一个程序拨打任何号码,包含紧急号码无需通过拨号用户界面需要用户确认 android.permission.CAMERA //请求访问使用照相设备 android.permission.CHANGE_COMPONENT_ENABLED_STATE //允许一个程序是否改变一个组件或其他的启用或禁用 android.permission.CHANGE_CONFIGURATION //允许一个程序修改当前设置,如本地化 android.permission.CHANGE_NETWORK_STATE //允许程序改变网络连接状态 android.permission.CHANGE_WIFI_STATE //允许程序改变Wi-Fi连接状态 android.permission.CLEAR_APP_CACHE //允许一个程序清楚缓存从所有安装的程序在设备中 android.permission.CLEAR_APP_USER_DATA //允许一个程序清除用户设置 android.permission.CONTROL_LOCATION_UPDATES //允许启用禁止位置更新提示从无线模块 android.permission.DELETE_CACHE_FILES //允许程序删除缓存文件 android.permission.DELETE_PACKAGES //允许一个程序删除包 android.permission.DEVICE_POWER //允许访问底层电源管理 android.permission.DIAGNOSTIC //允许程序RW诊断资源 android.permission.DISABLE_KEYGUARD //允许程序禁用键盘锁 android.permission.DUMP //允许程序返回状态抓取信息从系统服务 android.permission.EXPAND_STATUS_BAR //允许一个程序扩展收缩在状态栏,android开发网提示应该是一个类似Windows Mobile中的托盘程序 android.permission.FACTORY_TEST //作为一个工厂测试程序,运行在root用户 android.permission.FLASHLIGHT //访问闪光灯,android开发网提示HTC Dream不包含闪光灯 android.permission.FORCE_BACK //允许程序强行一个后退操作是否在顶层activities android.permission.FOTA_UPDATE //暂时不了解这是做什么使用的,android开发网分析可能是一个预留权限. android.permission.GET_ACCOUNTS //访问一个帐户列表在Accounts Service中 android.permission.GET_PACKAGE_SIZE //允许一个程序获取任何package占用空间容量 android.permission.GET_TASKS //允许一个程序获取信息有关当前或最近运行的任务,一个缩略的任务状态,是否活动等等 android.permission.HARDWARE_TEST //允许访问硬件 android.permission.INJECT_EVENTS //允许一个程序截获用户事件如按键、触摸、轨迹球等等到一个时间流,android 开发网提醒算是hook技术吧 android.permission.INSTALL_PACKAGES //允许一个程序安装packages android.permission.INTERNAL_SYSTEM_WINDOW //允许打开窗口使用系统用户界面 android.permission.INTERNET //允许程序打开网络套接字 android.permission.MANAGE_APP_TOKENS //允许程序管理(创建、催后、 z- order默认向z轴推移)程序引用在窗口管理器中 android.permission.MASTER_CLEAR //目前还没有明确的解释,android开发网分析可能是清除一切数据,类似硬格机 android.permission.MODIFY_AUDIO_SETTINGS //允许程序修改全局音频设置 android.permission.MODIFY_PHONE_STATE //允许修改话机状态,如电源,人机接口等 android.permission.MOUNT_UNMOUNT_FILESYSTEMS //允许挂载和反挂载文件系统可移动存储 android.permission.PERSISTENT_ACTIVITY //允许一个程序设置他的activities显示 android.permission.PROCESS_OUTGOING_CALLS //允许程序监视、修改有关播出电话 android.permission.READ_CALENDAR //允许程序读取用户日历数据 android.permission.READ_CONTACTS //允许程序读取用户联系人数据 android.permission.READ_FRAME_BUFFER //允许程序屏幕波或和更多常规的访问帧缓冲数据 android.permission.READ_INPUT_STATE //允许程序返回当前按键状态 android.permission.READ_LOGS //允许程序读取底层系统日志文件 android.permission.READ_OWNER_DATA //允许程序读取所有者数据 android.permission.READ_SMS //允许程序读取短信息 android.permission.READ_SYNC_SETTINGS //允许程序读取同步设置 android.permission.READ_SYNC_STATS //允许程序读取同步状态 android.permission.REBOOT //请求能够重新启动设备 android.permission.RECEIVE_BOOT_COMPLETED //允许一个程序接收到 android.permission.RECEIVE_MMS //允许一个程序监控将收到MMS彩信,记录或处理 android.permission.RECEIVE_SMS //允许程序监控一个将收到短信息,记录或处理 android.permission.RECEIVE_WAP_PUSH //允许程序监控将收到WAP PUSH信息 android.permission.RECORD_AUDIO //允许程序录制音频 android.permission.REORDER_TASKS //允许程序改变Z轴排列任务 android.permission.RESTART_PACKAGES //允许程序重新启动其他程序 android.permission.SEND_SMS //允许程序发送SMS短信 android.permission.SET_ACTIVITY_WATCHER //允许程序监控或控制activities已经启动全局系统中 android.permission.SET_ALWAYS_FINISH //允许程序控制是否活动间接完成在处于后台时 android.permission.SET_ANIMATION_SCALE //修改全局信息比例 android.permission.SET_DEBUG_APP //配置一个程序用于调试 android.permission.SET_ORIENTATION //允许底层访问设置屏幕方向和实际旋转 android.permission.SET_PREFERRED_APPLICATIONS //允许一个程序修改列表参数PackageManager.addPackageToPreferred() 和PackageManager.removePackageFromPreferred()方法 android.permission.SET_PROCESS_FOREGROUND //允许程序当前运行程序强行到前台 android.permission.SET_PROCESS_LIMIT //允许设置最大的运行进程数量 android.permission.SET_TIME_ZONE //允许程序设置时间区域 android.permission.SET_WALLPAPER //允许程序设置壁纸 android.permission.SET_WALLPAPER_HINTS //允许程序设置壁纸hits android.permission.SIGNAL_PERSISTENT_PROCESSES //允许程序请求发送信号到所有显示的进程中 android.permission.STATUS_BAR //允许程序打开、关闭或禁用状态栏及图标Allows an application to open, close, or disable the status bar and its icons. android.permission.SUBSCRIBED_FEEDS_READ //允许一个程序访问订阅RSS Feed内容提供 android.permission.SUBSCRIBED_FEEDS_WRITE //系统暂时保留改设置,android开发网认为未来版本会加入该功能。 android.permission.SYSTEM_ALERT_WINDOW //允许一个程序打开窗口使用 TYPE_SYSTEM_ALERT,显示在其他所有程序的顶层(Allows an application to open windows using the type TYPE_SYSTEM_ALERT, shown on top of all other applications. ) android.permission.VIBRATE //允许访问振动设备 android.permission.WAKE_LOCK //允许使用PowerManager的 WakeLocks保持进程在休眠时从屏幕消失 android.permission.WRITE_APN_SETTINGS //允许程序写入API设置 android.permission.WRITE_CALENDAR //允许一个程序写入但不读取用户日历数据 android.permission.WRITE_CONTACTS //允许程序写入但不读取用户联系人数据 android.permission.WRITE_GSERVICES //允许程序修改Google服务地图 android.permission.WRITE_OWNER_DATA //允许一个程序写入但不读取所有者数据 android.permission.WRITE_SETTINGS //允许程序读取或写入系统设置 android.permission.WRITE_SMS //允许程序写短信 android.permission.WRITE_SYNC_SETTINGS //允许程序写入同步设置
❼ Android无root,获取其他应用内部存储的数据
最近在负责一个项目,需要获取其他应用的内部存储中的文件,即data/data/下的文件,并转存到sdcard上。有一点Android基础蠢散的都知道data/data/中的文件对其他应用是不可见的,在没有源码的条件下,无法直接访问data/data中的文件。问了公司的大佬,大佬提供了两种思路,一种是run-as命令进入data/data,直接;另一种是hook。具体怎么实施,且听我慢慢道来。
安装包是debug包(release包也可以利用反编译重新打包,变成debug包,网上有很多文章可以参考)
1、连接手机到电脑,打开usb调试
2、命令行带氏氏中输入 adb shell run-as <包名>
示例:
com.ss.android.ugc.aweme(抖音)不是debug包,无法使用run-as命令。
com.example.yilialin.jsonreport(我自己写的app)是debug包,使用run-as命令可以进入data/data目录下,输入 ls ,可以看到data/data目录下的所有文件/文件夹
3、输入 cat <文件名> > <sdcard中的文件名> ,直接拷贝到sdcard中
示例:
不出现任何提示,表明已经成功拷贝到了sdcard中。
几行命令直接搞定
1、需要手工敲命令,难以核友实现自动化
2、debug包才能使用
没有限制,安装包是release包或者debug包都可以,手机不需要root
有关于xposed插件可以参考文章:https://blog.csdn.net/yzzst/article/details/47659479
https://blog.csdn.net/niubitianping/article/details/52571438
https://blog.csdn.net/niubitianping/article/details/52574650
其实无root也是可以使用virtualxposed的,将xposed插件和想要hook的app克隆到virtualxposed中就可以使用了。
不受root权限和debug包的限制
前期需要做的事情多,xposed插件编写比较麻烦
我研究了几个星期的xposed hook,才学会了怎么使用,原理还不是特别明白,先用着吧==
听别人说再多也只是纸上谈兵,关键是要自己动手操作,有很多问题都是在实施的过程中出现并解决的,在问题中学习不失为一种好方法。
奉上我的xposed插件,供学习参考,有什么不对的地方,还望不吝赐教!
https://github.com/Yiliayan/douyinxposed.git
❽ Android逆向之手机环境配置
该篇文章主要介绍在Android逆向开始之前的 手机环境配置 。其中包括对手机进行 刷机 (根据所需的Android手机型号、Android系统版本进行刷机。这里我以nexus 5 android 6.0.1为例,其他Google系手机型号及刷其他Android版本系统都是类似的);第二个则是安装Android逆向分析 hook框架山启卜 (Xposed、frida)及一些常用的基础插件等。
一、刷机前准备
二、开始对nexus 5刷机(Android 6.0.1)
需要使用低版本的platform-tools进行替代,具体的操作步骤,可以参考以下文章
https://www.jianshu.com/p/d40db7e08e3e
三、刷入第三方recovery(TWRP)到新系统中
四、对刚刷完的Android系统进行root
五、安装Xposed框架、frida-server 及Android逆向分析中常见的插件
综上所述,该篇文章主要是使用Android官方的系统镜像进行刷机,然后安装旁如配置Android逆向所需的框架及插件。在刷机的时候,我逗穗们也可以选择自己修改编译Android系统源码,再进行刷机,定制我们自己所需的分析环境。
更多精彩内容,请扫码关注以下公众号
❾ android常见hook框架有哪些
1、Xposed:Java层的HOOK框架,由于要修改Zgote进程,需要Root;
2、CydiaSubstrator:本地层的HOOK框架,本质上是一个inline Hook;
3、dexposed框架
4、AndFix框架;
5、Sophix 框架;
6、AndroidMethodHook框架;
7、Legend框架:在AndFix框架的基础上,在方法进行替换前进行了方法的备份;
8、YAHFA框架;
9、EPIC框架;
10、VirtualXposed:Virtual APP与Xposed的一个结合。
(9)androidroothook扩展阅读
使用框架的原因
因为软件系统很复杂,特别是服务器端软件,涉及到的知识,内容,问题太多。在某些方面使用别人成熟的框架,就相当于让别人帮助完成一些基础工作,只需要集中精力完成系统的业务逻辑设计。
而且框架一般是成熟,稳健的,可以处理系统很多细节问题,比如,事务处理,安全性,数据流控制等问题。
还有框架一般都经过很多人使用,所以结构很好,所以扩展性也很好,而且它是不断升级的,可以直接享受别人升级代码带来的好处。框架一般处在低层应用平台(如J2EE)和高层业务逻辑之间的中间层。
框架开发
框架的最大好处就是重用。面向对象系统获得的最大的复用方式就是框架,一个大的应用系统往往可能由多层互相协作的框架组成。
由于框架能重用代码,因此从一已有构件库中建立应用变得非常容易,因为构件都采用框架统一定义的接口,从而使构件间的通信简单。
框架能重用设计。它提供可重用的抽象算法及高层设计,并能将大系统分解成更小的构件,而且能描述构件间的内部接口。
这些标准接口使在已有的构件基础上通过组装建立各种各样的系统成为可能。只要符合接口定义,新的构件就能插入框架中,构件设计者就能重用构架的设计。
框架还能重用分析。所有的人员若按照框架的思想来分析事务,那么就能将它划分为同样的构件,采用相似的解决方法,从而使采用同一框架的分析人员之间能进行沟通。