上一章我们介绍了adb shell的一些较为常见的用法,有读者朋友问我,如果是真实手机,应该如何使用adb shell命令,如何使用pc主机和手机adb 联动呢?

adb电脑端与真实手机互联

想要实现pc主机和手机端的adb联动其实不难,只需要pc主机安装 adb,手机安装adb即可,只是现在网络上的东西错综复杂良莠不齐,导致其实很多东西是假的,不能用的。

关注公证号 say_ohno 回复 “adb工具”,即可得到下载链接及密码,pc端解压即可直接在命令行模式下使用,无需安装,手机adb安装后可单独使用

adb工具解压后应包含如下图四个文件

手机安装成功后可单独使用,大家自行研究即可,使用方式这里不做过多介绍

这里介绍一种简单的方式,使电脑端adb控制手机,只需将手机数据线连接至电脑,并开启调试模式即可

而后​进入电脑adb所在文件夹,打开命令行窗口
adb devices 查看当前连接状态


使用adb shell命令可直接进入到手机adb模式


使用su命令可切换至管理员模式

至此,使用电脑控制手机adb到此结束

so文件的简单读取

读取so文件信息我推荐大家使用kali进行读取,因为不需要自己去配环境,实际上linux系统都可以去读取。

read​elf -h xxx.so 查看so文件的头部信息

readelf -S xxx.so 查看so文件的Section头信息​


readelf -l xxx.so 查看so文件程序段头信息(Program)


readelf -a xxx.so 查看so文件全部内容

由于此内容太多,所以直接将之输出到txt文件内了​

这里开始步入正题,既然是逆向,那第一步还是回归到解包脱壳

脱壳先不讲,在这里先介绍解包的两种简单的方法

反编译apk

apktool工具

apktool工具大家可以自行下载,也可以在公众号 say_ohno 回复 apktool即可获取下载链接

基础命令:

java -jar apktool_2.6.0.jar d -f xxx.apk -o 输出文件夹名字​

这里反编译出来的是smail源码,eclipse是不能直接看的,本来是有一条命令可以将反编译出来的源码后缀直接成为.java的,但是似乎人家早在上一个版本就移除了这个功能,大家可以自己试一下,推荐大家使用ide工具查看

java -jar apktool_2.6.0.jar d -d xxx.apk -o 输出文件夹名字

这一步是为了反编译得到源码,而后方便后续在AndroidManifest.xml文件中添加debuggable信息,以便开启动态调试功能,或阅读源码。

使用apktool反编译的好处在于,​AndroidManifest.xml 在未做代码混淆的情况下是可以直接阅读并修改的

解压

第二种方式,直接将apk安装包当做压缩包进行解压​,这种处理方式虽然也能获取到AndroidManifest.xml文件,但是这里的AndroidManifest.xml文件却是乱码,不能直接使用的,而且解压出来的classes.dex文件需要配合其他工具进行二次编译才能获取源码

打开AndroidManifest.xml,里面是乱的

借助dex2.jar 进行二次编译 dex源码,使其变为 .jar格式代码,而后使用 jd-gui工具或ide工具进行阅读​

dex2jar.bat classes.dex classes.dex文件路径



此时可以查看代码
dex2jar 工具可自行下载,或前往公众号,回复 "dex2jar"即可获取工具下载地址​

此时修改结束之后,​进行回编译,使其重新生成apk

java -jar apktool_2.6.0.jar b -d jst -o xxxdebug.apk 回编译成apk,注意要有apktool.yam文件


此时生成的调试版本apk不能直接安装,因为没有证书没有签名,在apk中,未签名的apk是不允许直接安装的

java -jar signapk.jar testkey.x509.pem testkey.pk8 xxxdebug.apk xxx.sign.apk


此时生成的apk可以安装,若是安装后依然可以正常使用,那么就属于有高风险,因为未做证书、签名校验,没有去抵抗反编译是一件很危险的事儿。​

获取签名证书工具,请在公众号回复"证书签名工具",即可获取下载链接

过长的篇幅会影响阅读,所以此次分享仅到此结束,后续会继续分享。​

App逆向学习--1相关推荐

  1. 《APP逆向学习》课程介绍和什么是安卓app逆向?

    来源[小肩膀 零基础一站式安卓app逆向安全(2021版)]:aHR0cHM6Ly93d3cuYmlsaWJpbGkuY29tL3ZpZGVvL0JWMUFWNDExSjd6aw== 1.课程介绍 安 ...

  2. 知物由学 | 干货!一文了解安卓APP逆向分析与保护机制

    "知物由学"是网易云易盾打造的一个品牌栏目,词语出自汉·王充<论衡·实知>.人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不会知道."知物 ...

  3. 逆向学习实战之--替换哈罗单车图片

    逆向学习实战之–替换哈罗单车图片 最近学习iOS逆向知识也有一段时间了,今天就找了一个App练下手,来检测这段时间的学习效果. 逆向的APP是哈罗单车,目的是实现替换地图上面单车的定位图片,之前好像在 ...

  4. 安卓逆向学习笔记(一)

    这些都是通过学长给予,以及网络上的资源来做的个人理解.总结,大牛们不要喷. 零基础小萌新在角落瑟瑟发抖的认真记笔记. 安卓逆向学习笔记(一) 写一个安卓程序(附上原帖链接教我兄弟学Android逆向0 ...

  5. 某直播APP逆向TCP协议分析

    概述 一枚小菜鸟终于完成对炫舞梦工厂APP的分析.该直播APP采用TCP协议,TCP连接建立之后,首先进行基础连接认证,认证通过之后,进行帐号认证,完成即可进行获取角色信息.进入房间等各类操作.发送数 ...

  6. JS逆向学习笔记 - 持续更新中

    JS逆向学习笔记 寻找深圳爬虫工作,微信:cjh-18888 文章目录 JS逆向学习笔记 一. JS Hook 1. JS HOOK 原理和作用 原理:替换原来的方法. (好像写了句废话) 作用: 可 ...

  7. Web逆向、软件逆向、安卓逆向、APP逆向,关于网络安全这些你必须懂

    逆向工程是网络安全行业里面一项很重要的技术. 先解释下逆向工程是什么. 逆向是一个相对正向而言的解释,相对正向来说,对一个程序来讲,正向就是开发的过程,从0到1. 就是在一个软件诞生的整个生命周期中的 ...

  8. 逆向工程--苹果移动端app逆向分析技术(一)

    0x01 基础准备 关于iphone移动端app逆向程序相关初级基础大家可以自己提前学习.本 文主要给大家分享关于脱壳加密app程序的技术.学习之前大家先搭建系 统环境,准备相应的工具,参考链接教程自 ...

  9. js逆向学习记录某真气网

    项目场景: 第一次写不知道能否表达清楚 在B站上学习JS逆向,结果学到最后一个练习项目时.因为之前学习得人把人家网站搞崩了.到了我来爬取得时候,这个网站反爬已经大幅度升级了,爬取难度急据升高. 声明: ...

最新文章

  1. linux服务器centos系统apache路径不区分大小写的解决办法(适用WDCP面板)
  2. Leetcode 109. 有序链表转换二叉搜索树 解题思路及C++实现
  3. 自媒体各大平台收益对比_哪些自媒体平台没有新手期,适合小白撸收益?
  4. 通过修改然后commit的方式创建自己的镜像
  5. java读取codetable_解析Java对象的equals()和hashCode()的使用
  6. 掩码 项目编码_每天进行20天的编码项目
  7. Machine Learning 学习笔记1 - 基本概念以及各分类
  8. CCF认证2014-9-2 画图
  9. 别再问如何用 Python 提取 PDF 内容了!
  10. C++实现LRU(Least-Recently Used)缓存算法
  11. EXCEL以及VBA 函数讲解集合
  12. MTK6577+Android编译之android
  13. 利用高频信号改变钢丝磁性来实现大量存储信息的钢丝录音机
  14. VC++6.0如何找到“丢失”的对话框控件工具箱
  15. 高频故障-桌面图标变成白纸图标的恢复方案
  16. html网页的框架标记分别有,新手入门前端,应该知道HTML框架排版标记标签大全...
  17. 【复变函数】常用公式大全
  18. 解决Thymeleaf报Property or field ‘replyIdContent‘ cannot be found on null的错问题
  19. php优势和技术应用
  20. 网易相册助手--批量上传下载好帮手

热门文章

  1. HDU 5730 Shell Necklace
  2. linux中test的用法,如何在Linux中使用test命令
  3. html5圆圈,javascript – 如何在HTML5画布中绘制带有文本的圆圈
  4. 谁“偷”走了我的雨伞
  5. Mysql中事务是什么?有什么用?
  6. WMI权限问题:Access is denied, please check whether the [domain-username-password] ..
  7. 在cmd中遍历局域网内的IP命令解析
  8. Mysql笔试+面试题积累(实时更新)
  9. 采用analysis-dynamic-synonym插件,动态文件的方式同步同义词
  10. 互动作业Android版本下载,互动作业app