android逆向工程,Android逆向工程
Android 有没有逆向工程的工具? 效果如何?
1、有。
网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了兴宁免费建站欢迎大家使用!
a)源码逆向:安卓的安装程序apk就是个压缩包,你可以直接用解压工具(winrar等)直接解压,出来最主要的是有个dex文件(classes.dex,程序代码都在这个里面),可以通过dex2jar逆向成jar文件,用jdgui等工具查看源码。一般程序都会经过混淆了,所以阅读起来比较有难度(方法、类名基本都是a、b、c这样无意义命名的)。
b)资源逆向:安卓界面布局主要使用xml文件进行灵活配置,可能也是被处理加密过了,所以你直接打开解压后的xml文件可能会是乱码,可以使用AXMLPrinter进行解密;或者也可以使用主要用于汉化等的AndroidResEdit_By_hanhualangzi_v_1.5.exe的gui工具;
2、效果不一定,取决于多方面的。
Android逆向工程师前景怎么样
逆向更偏重于技术,逆向在学习的过程中需要涉及编程语言,安全知识,Windows原理方方面面,工具使用,核心操作分析等众多方面。是一个技术含量,入门门槛都很高的技术岗位。 如果想深造的话可以关注下任鸟飞团队,我们是做这方面培训的
Android逆向工程相关工具集合
刷机包 sparse img - ext4 img 线刷包里面找到system.img/vendor.img
$ file system.imgsystem.img: Android sparse image, version: 1.0, Total of 849920 4096-byte output blocks in 2454 input chunks.
使用Android源码编译得到out/host/linux-x86/bin/simg2img即可将Android的sparse image转为ext4的image
dat - ext4 img system.new.dat.br转system.new.dat
brotli –decompress system.new.dat.br –output=system.new.dat
system.new.dat system.patch.dat system.transfer.list转ext4 img
payload dump odex/oat/vdex Android =4.4 odex to dex
Android =7 oat to dex
Android 8 vdex to dex
Android 9 vdex-cdex-dex
tools/deodex/run.sh -h
dex dex转smali apktool工具 针对 apk包括dex和资源
baksmali、smali 针对dex
dex转jar/java
googe enjarify工具dex转jar
dex2jar
结合jd-gui
二合一工具
Android逆向工程师是做什么的
必须掌握的技能
1、负责安卓程序的加解密和数据传输分析、拆解、逆向等工作;
2 、逆向APK,了解运行过程;
3 、Andorid本地提权获得root权限;
4 、熟练掌握软件逆向静态分析、动态调试、代码跟踪等;
5 、熟悉Android开发,了解打包、反编译、破解流程;
6 、so破解。
目前了解的如下:
1,加解密:这就很多了,一般都是遇到后再折腾解密,而且解密代码和秘钥一般都在代码里面。
2,Andorid本地提权获得root权限,一般真机是用recovery刷机包,但是病毒提权是怎么样的
目前掌握的一种提权的是像输入命令行一样输入su并且用pm提权
还有一种是修改init.rc文件
3,ida动态调式和代码跟踪
4,打包,编译和破解的流程是什么样的?
5,so破解:一般就是破壳。各种壳(360,娜迦等等)
加壳的另一种常用的方式是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,做一些额外的工作。大多数病毒就是基于此原理。加壳的程序经常想尽办法阻止外部程序或软件对加壳程序的反汇编分析或者动态分析,以达到它不可告人的目的。这种技术也常用来保护软件版权,防止被软件破解。
6,了解反破解的技术
目前掌握的技术有:
1,反模拟器
2,反静态代码分析器如:反jeb
应该也是有很多反ida的,也就是加壳。
任职要求
1、具有丰富的Android开发分析经验,熟悉android系统架构,熟悉android安全机制;
2、精通汇编语言、Java、C/C++语言,熟悉Smali语言,对逆向工程有浓厚兴趣;
3、熟练掌握ida、gdb逆向分析工具;
4、熟练掌握软件逆向静态分析、动态调试、代码跟踪等;
5、熟悉so和Java层hook;
6、熟悉Android开发,了解打包、反编译、破解流程;
7、深入理解arm Linux和Android底层运行机制;
8、熟练掌握各种调试工具:Smali、Dedexer、Dexdump、Apktool、Dex2jar、jd-gui。
什么是android逆向工程师
相当于破解安卓应用工程师,反编译,
通过逆向工程得到安卓应用的源代码,这样好理解不?
名称栏目:android逆向工程,Android逆向工程
分享网址:http://scyanting.com/article/dssccgo.html