安卓逆向工程师面试指南【干货】

admin 2023年9月11日00:50:55评论21 views字数 2154阅读7分10秒阅读模式
安卓逆向工程师面试指南【干货】
安卓逆向工程师面试指南【干货】

公众号:易锦课堂

点击右方领取,回复1即可领取安卓逆向教学大礼包一份。


领取



安卓逆向工程师面试指南【干货】

安卓逆向工程师面试指南【干货】

编辑:陈情丨文章:锦狸笔记

整理丨阿星


安卓逆向工程师面试指南【干货】

Android逆向工程师


面试指南

Interview Guide

安卓逆向工程师面试有哪些需要注意的?


Interview Guide

安卓逆向工程师岗位在近年来算是互联网IT行业的香饽饽之一,月薪动辄上万年薪动辄20万,让很多行业内兢兢业业拿一个五六千的外行人士很是羡慕。但是安卓逆向工程是专业技术要求很高的职业,外行人轻易抢不走你的饭碗,因此也有大量的人花很多金钱投资自己,学会了安卓逆向,想要入行分一杯羹。


光学会技术,并不等于就能找到一份好的工作。要找到一个很好的安卓逆向工程师岗位,我们一定不能忽视其中最为重要的环节——面试。

安卓逆向工程师面试指南【干货】

安卓逆向工程师在面试时,需要你掌握什么技能,面试官会怎样考核你?这些东西对于一位安卓逆向求职者来说,至关重要。毕竟相信很多和小编一样愿意花钱学好安卓逆向的人,应该都不是心血来潮,而是真的希望借此技术谋得一份高薪的工作。



好工作待遇

Interview Guide

五险一金


出国旅游


年底双薪

带薪年假


员工生日会


住房补贴



安卓逆向工程必须掌握的技能:

Interview Guide

必备技能:

1、负责安卓程序的加解密和数据传输分析、拆解、逆向等工作;

2、逆向APK,了解运行过程;

3、Andorid本地提权获得root权限;

4、熟练掌握软件逆向静态分析、动态调试、代码跟踪等;

5、熟悉Android开发,了解打包、反编译、破解流程;

6、so破解、加壳。

安卓逆向工程师面试指南【干货】


面试中对应的具体要求:

1、加解密:一般都是遇到后再折腾解密,而且解密代码和秘钥一般都在代码里面。


2、了解apk的具体含义,结合安卓开发进行反编译。


3、Andorid本地提权获得root权限,一般真机是用recovery刷机包,但是病毒提权是怎么样的,目前掌握的一种提权的是像输入命令行一样输入su并且用pm提权,还有一种是修改init.rc文件。


4、主要掌握ida动态调式和代码跟踪


5、打包,编译和破解的流程是什么样的?


6、so破解:一般就是破壳。如360等。


补充:

加壳的另一种常用的方式是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,做一些额外的工作。大多数病毒就是基于此原理。加壳的程序经常想尽办法阻止外部程序或软件对加壳程序的反汇编分析或者动态分析,以达到它不可告人的目的。这种技术也常用来保护软件版权,防止被软件破解。


安卓逆向工程师面试指南【干货】


安卓逆向工程师的任职要求

Interview Guide

岗位职责:

安卓逆向工程师面试指南【干货】


总结下来要求如下:

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。

安卓逆向工程师面试指南【干货】

面试官可能问到的问题?

Interview Guide

question:

1.Android的生命周期


  • onCreate - onStart - onResume-onPause-onStop-onDestory-onRestart


2.Android的入口函数?


  • 继承了application类中的attachContext,onCreate



3.xposed框架的原理及常用函数?

  • 替换system/bin/app_process文件,app_process就是zygote进程文件,所以xposed通过替换zygote进程实现了控制手机上所有app进程

  • 常用函数

    (1)findAndHookMethod

    (2)findAndHookConstructor hook构造函数

    (3)findClass:使用指定的类加载器查找类

    (4)findField : 在类中查找自动并将其设置为可访问

    (5)CallMethod 调用给定对象的实例或静态方法

    (6)newInstance 创建给定类的新实例

安卓逆向工程师面试指南【干货】

4.hook和注入有哪些?

  • l hook:反射(在程序运行的时候,对任意一个类,都可以获取其方法及变量)

  • l java的动态代理(smali注入)


5.反调试

  • Tracerpid不等于0

  • Ptrace自身.

  • IsDebuggerConnect

    (这部分内容比较多,反调试可以找我细细给你分析)


安卓逆向工程师面试指南【干货】


总结:

机会永远是留给有准备的人,如果你不是天才的话,在进行安卓逆向工程师面试前,最好要做好充足的准备。毕竟一份好的工作如果失去了是最大的损失,也是对自己苦苦学习安卓逆向技术的不尊重、不负责。如果你的安卓逆向技术够硬,那么不妨投一投简历,做好准备,去接受岗位与考核官的审核吧!

安卓逆向工程师面试指南【干货】


小福利

最后
推荐一个免费领取各种逆向工具包的公众号:

易锦课堂

不仅高级工具很齐全

你回复咨询还会及时解答你在逆向学习工作上的疑难杂症

长按下方二维码关注免费领取专属工具包吧

还有更多惊喜等着你哦

安卓逆向工程师面试指南【干货】





原文始发于微信公众号(映山红coin安全团队):安卓逆向工程师面试指南【干货】

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年9月11日00:50:55
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   安卓逆向工程师面试指南【干货】https://cn-sec.com/archives/1056477.html

发表评论

匿名网友 填写信息