国内一线互联网公司面试题汇总,完整PDF

ゝ一世哀愁。 2021-07-20 15:32 544阅读 0赞

为什么想跳槽?

简单说一下当时的状况,我在这家公司做了两年多,这两年多完成了一个大项目,作为开发的核心主力,开发压力很大,特别是项目上线前的几个月是非常辛苦,几乎每晚都要加班到12点以后,周末最多只有一天休息。在最困难的时候,老板给大家打气,“大家再坚持坚持,项目上线赚钱了,就给大家涨工资,公司是绝对不会亏待大家的”,在老板豪情壮语的加薪鼓励下,大家要紧牙关拼上了。终于,半年前,项目上线了,运行也慢慢稳定了,公司赚钱也多了起来。

是的,公司赚钱了,利润很可观,这是大家都知道的事情。但是,一两个月过去了,加薪的事情完全没影,老板就像从来没提过一样。于是,我向人事经理说出了希望加薪的请求,最后,得到的回复(在小公司,这当然是老板的意思):
(1)我目前的工资与外面相比,基本是持平的。
(2)我目前的工作很悠闲,工作量不饱和。

关于(1)实际上是个难题,两个人的工资要怎么比较,几乎都是老板一个非常主观的想法。而关于(2),却是事实:由于新的项目还在调研中,所以,我的工作暂时就轻松了不少,主要就是维护线上的系统,加加小功能,修修小bug,比较清闲。

今天本文主要讲解:

APK文件反编译

  • 什么是反编译
  • 如何防止反编译
  • APK文件的基本构造

APK加固的方案原理

  • APK加固总体架构
  • APK打包基本流程
  • Dex文件的意义

AES加密项目实战

  • APK加固项目实战
  • APK脱壳技术实战

59ec4dbdeced41eb7f8e7c87a22790fc.png

一.APK文件反编译

1.什么是反编译
  • 定义:
    利用编译程序从源语言编写的源程序产生目标程序的过程
2.怎么进行反编译?

先了解apk的文件构造结构745079e72dd451765d5061ad431c8c41.png
e21cfa8163ece804b392c0b0e9f0b25f.png

二.加固方案思想

一个程序员的故事:

辛辛苦苦找到一个对象,结婚后发现是个母夜叉。不给管钱就闹,晚上睡觉她趴着睡,导致这程序员无法去洗脚了。然而这个程序员很努力,平时除了上班,还能够做点外包,赚点外快。所以他就想到了把工资卡上交,而把赚到的外快放到了自己的小金库。从此过上了性福生活

一个加密的故事:

通过将非核心的dex文件进行暴露来达到保护核心dex文件的目的。

58edfc988d16eed2676f79cac49f940b.png

三.基本原理

3.1Apk打包流程

加壳是在原来apk的基础上加一层保护壳,dex文件修改了就需要重新打包,否则apk安装不了。这就需要我们详细学习apk如何打包的

3.2Dex文件是什么

加固的目的是保护dex,直接而言就是对dex文件进行操作,对dex文件动刀子,必须知道dex文件是什么,能否直接动刀子

3.3Dex文件加载流程

加壳后的文件是不能直接用的,dex文件是加密的,所以我们需要对他进行解密,解密后的dex文件如何加载?

3.4APK文件是怎么生产的

image.png
1dcf7d2bf8e504b59552a0ff0b92fe3c.png

四.加固总体框架

acf53104567410df54575945ee8ba98c.png
那么问题来了:

  • 如何达到加密效果?
  • 为什么是两个系列的dex?
  • 壳dex 怎么来的
  • 壳dex如何保护源dex?
  • 如何签名?
  • 如何运行新dex(如何脱壳)?
4.1加密过程

e067e28a77cdf6d27e0cbee38f9b2d1f.png

4.2APK文件如何签名

21ae7b09eb7c1b0f5efdff73cf7f38da.png
09f9b4f20fb1556fafe023222ecec742.png

4.3APK文件如何运行(脱壳)

2b56e0e985041fd4807082d1f95d1d4c.png

4.4如何制定某些类在 main dex中
  • multiDexKeepFile:手动加入要放到Main.dex中的类

    com.umeng.analytics.Abb.class

  • multiDexKeepProguard:以Proguard的方式手动加入要放到的Main.dex中的类

    -keep public class com.tencent.bugly.*{;}

设计模式学习笔记

a21bda97714da10b55341a39a632944d.png

设计模式系列学习视频

5c21039b44c0de9670970edb57ee4907.png

  • 以上进阶BATJ大厂学习资料可以免费分享给大家,需要完整版的朋友,【点这里可以看到全部内容】。

Y-1622531067187)]

  • 以上进阶BATJ大厂学习资料可以免费分享给大家,需要完整版的朋友,【点这里可以看到全部内容】。

发表评论

表情:
评论列表 (有 0 条评论,544人围观)

还没有评论,来说两句吧...

相关阅读