在boss上看到的要求总结如下:
- 工具使用:Apktool、dex2jar、IDA、JEB、Frida、Xposed等
- 熟悉arm,smail指令
- 文件格式
- 调试:静态调试、动态调试、代码跟踪v
- hook :Frida、Xposed
- 反编译、反调试、反混淆
- 加固、脱壳
- 加解密算法
- 抓包
- 开发:正向安卓开发(Java C++ c )
- 系统原理和安全机制
安卓开发
下载安装Android studio,运行默认hello world 程序。
下面大致了解下开发时候的文件结构。
之所以有这么多mipmap开头的文件夹,其实主要是为了让程序能够更好地兼容各种设备。
Activity
android四大组件分别为activity、service、content provider、broadcast receiver
Activity:打开应用显示的画面(活动卡片),它的主要功能就是可以和用户进行交互操作,所以几乎所有的Activity都会负责创建一个显示窗口,然后通过setContentView显示特定的UI
(1) 一个Activity通常就是一个单独的屏幕(窗口)。
(2) Activity之间通过Intent进行通信。
(3) android应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity。(除了BroadcastReceiver可以动态注册外,四大组件在使用之前必须先在 AndroidManifest.xml清单文件中进行声明)
激活默认的activity
创建另一个activity
1.创建空白activity
创建后
2.将组件在AndroidManifest.xml文件中注册
我这里是自动生成的
3.鼠标悬停在startActivity2上,创建onClick监听事件
4.跳转到第二个activity
5.设置第二个activity画面
6.结果显示
默认activity
点击按钮跳转
Activity 生命周期
protected void onCreate(Bundle savedInstanceState);
Activity创建,用于初始化数据
protected void onStart();
Activity UI可见
protected void onRestart();
Activity UI从不可见变为可见
protected void onResume();
Activity UI可操作
protected void onPause();
Activity 暂停,UI可见,不可操作
protected void onStop();
Activity停止,UI不可见
protected void onDestroy();
Activity销毁