前言:2019年 新个税实施在即,全国几乎所有在职员工都会下载“个人所得税”app来使用,并且 注册使用过程需要填写身份证号等相当私密重要的个人信息。

至今,各大app平台应用下载榜首仍然“无人能出其右”。

最近有翻阅到一些有趣的新闻,eg:360 查杀 “个人所得税”app 含有62种木马。。。随后大量人员无法注册、登录。。。有人被就业。。。

于是,引起了本人探索这个app的好奇心。。。

一. 用户评论:

“个人所得税”app,在App Store上当前评分2.7,夸好的当然是各种优秀,集中的中下评论主要集中于产品性能极差的方面

二.使用体验:

        貌似原生,貌似跨平台的外观。整体布局并没有符合iOS 开发风范,UI尺寸 文字大小规格可以看出(但这可能是产品风格所致)

交互体验比较死板

发现一个严重bug,主页面点击右上角按钮后,无法再返回,一直是当前页面的死循环

三.获取ipa,拆包

        自从iTune v12.7.0 开始已经不支持查看ipa了,我研究了两天,降级也好,技术网友给的安装什么插件都不行。

降级得先删除当前的iTunes,但是我无法修改iTunes的权限,强制修改一直提示iTunes很重要,系统需要什么的无法删除。

我在谷歌上搜到一个软件 iMazing,是可以拿到手机里的ipa,只能先使用这个方案。(如果越狱就是是无门槛,但是我不想越狱。。。)

里面关键指正内容如下:

是的,没错全是js,基本确定非原生,一个越狱手机的技术网友专门分享了透视图:

一个UIWebview 搞定。。。

四. 初级反编译

class-dump 查看头文件,原理基于OC 语言runtime,操作一番,没有找到有效头文件。。。

 五. native app & hybird app   

(1)  native app  原生app

(2) Hybird app 混合在一起的app  “混合模式app”:是指介于 Web App(套壳)、Native App(原生)这两者之间的 app ,

兼具“ Native App 良好用户交互体验的优势 ”和“ Web App 跨平台开发的优势 ”。

也就是说,Hybrid App 是运用既包含类似移动端浏览器打开网站的相关技术,又包含原生应用调取底层接口(摄像头、传感器等等)的相关技术开发出来的应用。

(3) 参考3链接里 相对比较中肯的介绍了混编成分占比类型应用 适用场景,优势劣势

对比来看,这个“个人所得税” 非原生代码部分占比在 80% - 100%,至少当前状态的应用是这样。

好处:省时省力,一套代码基本就够了。

坏处:兼容性差,功能体验不佳,安全性有局限。

文章原话是这样形容该类型app的:“但随着Native APP开发的成本逐年提高,预算有限情况下,选择这种方式做开发的公司也是有的。

当然,还有种情况是本来公司做APP只是为了交差,成本越低越好,这和十年前每个单位基本都必须有一个网站,结果诞生了无数奇葩网站的情况一样。”

六.总结

(1)“个人所得税”app迭代效率还是很高的,最近一个月内迭代5次。相信这个app会越来越稳定

(2) 超过千万用户级别应用开发的确是一个挑战。

(3)无论以哪种方式开发app 安全稳定 应该是第一位

(4)本人对后端的了解不够深,仅从小花瓶查不出很深刻的结果,今后会注重这方面的深入了解和学习。

(5)如何提高代码安全性,参考文章 《iOS 提升代码的安全性,可以做哪些措施???

参考:

1.  https://support.apple.com/en-us/HT208079

2. https://imazing.com/guides/how-to-manage-apps-without-itunes

3. https://blog.csdn.net/zx48822821/article/details/79974552

4.https://www.cnblogs.com/someonelikeyou/p/10318345.html

iOS 个人所得税 app 基础解析实践的更多相关文章

  1. App架构师实践指南一之App基础语法

    第二章:App基础语法1.编程范式编程范型或编程范式(programming paradigm),是指从事软件工程的一类典型的编程风格.常见的编程范式有过程化(命令行)编程.事件驱动编程.面向对象编程 ...

  2. App架构师实践指南三之基础组件

    App架构师实践指南三之基础组件 1.基础组件库随着时间的增长,代码量的逐渐积累,新旧项目之间有太多可以服用的代码.下面是整理的公共代码库. 2.关于加密密钥的保护以及网络传输安全是移动应用安全最关键 ...

  3. App架构师实践指南四之性能优化一

    App架构师实践指南四之性能优化一     1.性能维度常见用来衡量App性能的维度如图9-1所示.其中,性能指标包括电池(电量/温度).流量(上行流量/下行流量等).CPU(平均/最大/最小).内存 ...

  4. APP测试入门篇之APP基础知识(001)

    前言        最近两月比较多的事情混杂在一起,静不下心来写点东西,月初想发表一遍接口测试的总结,或者APP测试相关的内容,一晃就月底了,总结提炼一时半会也整不完.放几个早年总结内部培训PPT出来 ...

  5. [转载]iOS 10 UserNotifications 框架解析

    活久见的重构 - iOS 10 UserNotifications 框架解析 TL;DR iOS 10 中以前杂乱的和通知相关的 API 都被统一了,现在开发者可以使用独立的 UserNotifica ...

  6. 【如何快速的开发一个完整的iOS直播app】(原理篇)

    原文转自:袁峥Seemygo    感谢分享.自我学习 目录 [如何快速的开发一个完整的iOS直播app](原理篇) [如何快速的开发一个完整的iOS直播app](播放篇) [如何快速的开发一个完整的 ...

  7. iOS:app直播---原理篇

    [如何快速的开发一个完整的iOS直播app](原理篇) 转载自简书@袁峥Seemygo:http://www.jianshu.com/p/7b2f1df74420   一.个人见解(直播难与易) 直播 ...

  8. 如何快速的开发一个完整的iOS直播app(原理篇)

    目录 [如何快速的开发一个完整的iOS直播app](原理篇) [如何快速的开发一个完整的iOS直播app](播放篇) [如何快速的开发一个完整的iOS直播app](采集篇) 前言 大半年没写博客了,但 ...

  9. 【如何快速的开发一个简单的iOS直播app】(代码篇)

    开篇([如何快速的开发一个完整的iOS直播app](原理篇)) 好久没写简书,因为好奇的我跑去学习直播了,今天就分享一下我的感慨. 目前为止直播还是比较热点的技术的,简书,git上有几篇阅读量和含金量 ...

随机推荐

  1. Mac 安装Jupyter notebook

    python:mac下自带Python 2.7.10 1.先升级了pip安装工具:sudo python -m pip install --upgrade --force pip 2.安装setupt ...

  2. SQL语句,标准表达式中数据类型不匹配

    id索引进行数据查询时提示错误! 标准表达式中数据类型不匹配. 两边的单引号去掉就好了,否则是在使用文本型. 改为:去掉两个单引号 ok,成功!

  3. nib文件的默认搜索规则

    if you do not specify a nib name, and do not override the loadView method in your custom subclass, t ...

  4. 如何隐藏js

    前端好像一直会遇到js容易被查看的问题,针对这种情况,如何隐藏js呢? 突发奇想,想到一个办法,如果说一段js只需要执行一次的话 可以尝试在所有js加载操作完毕后把它去掉.看代码 <!DOCTY ...

  5. Python学习笔记14—模块

    在python中所有的模块都被加入到了sys.path中,用下面的方法可以看见模块的位置. >>> import sys >>> import pprint > ...

  6. soundpool播放声音

    一般大家使用的是MediaPlayer来播放音频,它的创建和销毁都是非常消耗资源的,如果我们的需求是播放一些短促而且频繁播放的音频的话MediaPlayer就有些不合适了,我们来讲讲SoundPool ...

  7. 高级service之ipc ADIL用法

    感谢 如果你还没有看过前面一篇文章,建议先去阅读一下 Android Service完全解析,关于服务你所需知道的一切(上) ,因为本篇文章中涉及到的代码是在上篇文章的基础上进行修改的. 在上篇文章中 ...

  8. JZOJ.5315【NOIP2017模拟8.19】小串串

    Description

  9. Angular2+学习第3篇 基本知识-组件

    一.插值表达式 基本用法与ng1一样. 可以使用 Angular 内置的 json 管道,来显示对象信息,管道用来格式化数据 import { Component } from '@angular/c ...

  10. 170324、Spring 处理器和Resource

    1.Spring 框架允许开发者使用两种后处理器扩展 IoC 容器,这两种后处理器扩展 IoC 容器,这两种后处理器可以后处理 IoC 容器本身,或对容器中所有的 Bean 进行后处理.IoC 容器还 ...