回答数
5
浏览数
19629
寒未退
●接口设计。由于互操作性,逆向工程被用来找出系统之间的协作协议。●军事或商业机密。窃取敌人或竞争对手的最新研究或产品原型。●改善文档。当原有的文档有不充分处,又当系统被更新而原设计人员不在时,逆向工程被用来获取所需数据,以补充说明或了解系统的最新状态。●软件升级或更新。出于功能、合规、安全等需求更改,逆向工程被用来了解现有或遗留软件系统,以评估更新或移植系统所需的工作。
当爱化成泪
你好,安卓逆向一般指的是做安卓逆向开发,职位也类似于正向开发的JAVA程序员;但是需要具备很多的知识储备,JAVA正向开发,底层的C,汇编语言,了解各种协议算法加解密,会脱壳加固,比较多哈。但是这类资深大牛的工资都是年薪计算的;正向开发的人员相对饱和,逆向工程师的需求也很大。通俗的给你总结就是,可以做做软件的破解与防破解,游戏的破解与防破解,你可以看到很多的大牛都做过游戏辅助这种东西,毕竟攻与防是相互的,所以方向在于自己。难的肯定难学,但是坚持下来的都是王者!
阳光里
必须掌握的技能1、负责安卓程序的加解密和数据传输分析、拆解、逆向等工作;2 、逆向APK,了解运行过程;3 、Andorid本地提权获得root权限;4 、熟练掌握软件逆向静态分析、动态调试、代码跟踪等;5 、熟悉Android开发,了解打包、反编译、破解流程;6 、so破解。目前了解的如下:1,加解密:这就很多了,一般都是遇到后再折腾解密,而且解密代码和秘钥一般都在代码里面。2,Andorid本地提权获得root权限,一般真机是用recovery刷机包,但是病毒提权是怎么样的目前掌握的一种提权的是像输入命令行一样输入su并且用pm提权还有一种是修改文件3,ida动态调式和代码跟踪4,打包,编译和破解的流程是什么样的?5,so破解:一般就是破壳。各种壳(360,娜迦等等)加壳的另一种常用的方式是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,做一些额外的工作。大多数病毒就是基于此原理。加壳的程序经常想尽办法阻止外部程序或软件对加壳程序的反汇编分析或者动态分析,以达到它不可告人的目的。这种技术也常用来保护软件版权,防止被软件破解。6,了解反破解的技术目前掌握的技术有:1,反模拟器2,反静态代码分析器如:反jeb应该也是有很多反ida的,也就是加壳。任职要求1、具有丰富的Android开发分析经验,熟悉android系统架构,熟悉android安全机制;2、精通汇编语言、Java、CC++语言,熟悉Smali语言,对逆向工程有浓厚兴趣;3、熟练掌握ida、gdb逆向分析工具;4、熟练掌握软件逆向静态分析、动态调试、代码跟踪等;5、熟悉so和Java层hook;6、熟悉Android开发,了解打包、反编译、破解流程;7、深入理解arm Linux和Android底层运行机制;8、熟练掌握各种调试工具:Smali、Dedexer、Dexdump、Apktool、Dex2jar、jd-gui。