00:00
我是王伟峰,嗯,是一名iOS开发。今天我要给大家讲的是如何对呢?APP进行分析。在我们日常的工作中,我们常常需要关注Apple上的排行榜,每天都有所变化,常常会有一些比较好玩的游戏或者应用脱颖而出,层出不穷。身为一个游戏和应用开发兼备的程序员,往往需要与时俱进,汲取其他游戏和应用的新优点和特性。优秀应用和游戏往往有着与众不同、脱颖而出的动画效果和粒子特效。那么我们怎么样才可以进行学习呢?首先第一步我们要获取IPA,首先我们要用到最多的网站就是七麦,七麦数据它是一个可以。监控这个APP上所有的应用上架嗯,或者下架,嗯,一个非常大的一个。
01:01
相当于大数据的一个网站,那么在上面我们可以看到就是呃,可以进行筛选,比如说应用啊,游戏啊,或者这个上架的地区之类的,嗯。举个例子。呃,我们从这里面选出一个我们要呃看的游戏,假如说就是这个呃瑞3D。那么打开这个详情,我们可以看到就是。这是一个。3D的游戏,然后我们可以看到这个截图,它跟这个Apple store上,呃,截图是就是上面的数据就可以在这个网站上看到,那么。我们怎么样可以进行拿到这个游戏进行。分析呢?呃,我们可以看到在漆面上的数据显示,它是在2020年11月1日的七点上架的,那么我们需要用到一个工具,就是。
02:10
这个工具还有一个,呃,Windows的平台上一般是用爱思助手,因为我是iOS开发,所以我会重点用这个mark平台上的这个软件进行嗯讲解。然后这个窗口就是。嗯,这个叫Apple config two,嗯,这个应用呢,首先你需要准备一台。苹果手机,苹果手机要登录,就是在这个软件上,你要登录上你的账户,苹果苹果账户,然后手机上也要登录,嗯,我已经事先准备好。事先准备好。下载下载过这个G3D,所以我们需要,呃,可能没有显示出来,重启一下。
03:05
重启一下。有点卡,然后我们选择添加,添加APP。诶,这个时候我们这个gear瑞3D就已经显示出来了,这个时候首先是你的手机上要保证,然后一台手机有有一台。苹果手机,嗯。应该这样写,嗯,准备一台苹果手机。苹果手机和。
04:07
软件都登录上。你的ID?并下载好你所需要的。APP这个时候我已经事先下好了这个GE3D,呃,我们在手机上不要删掉它,这个时候我们再选中它,点击添加。这个时候就要进行下载。我们已经下好了这个gear瑞3D这个APP,然后它弹出了一个提示框,说我这个手机上已经存在了这个APP,然后呢,有这三个选项,我们先不要对它进行操作,嗯,我在桌面上已经准备好了一个替身,也就是快捷方式,这个时候我们点开它,嗯,点开它以后。
05:14
我把这个路径粘一下。把这个路径占一下,嗯,这个路径是,嗯,应该是这个。入境入境。嗯,这样。呃,在这个路径下。嗯,可以拿到,就是说当你下载好了以后,先不要进行操作,这个时候它的APP是缓存在这里的,嗯,那么可以看到有一个点IPA的文件,我们把它拿到桌面上。好,然后可以关掉这个窗口,嗯,这个时候我们就已经拿到这个IPA了,拿到IP呃,同样的Windows上我们也可以下到我们这个,呃,想要的这个APP。
06:20
那么爱思助手一般上,一般来说它下载的这个APP是砸过壳的,就是他们是。砸过壳以后再上传到他们的这个爱思助手上供大家下载,这个要省事很多,在后面可以会提到,这个就很简单,只要你一下载就可以很轻松的使用,呃,甚至不用连接手机,就是直接就可以下载下来IP,那么我们现在进行下一步就是要分析这个IPA目录,因为我们要进行学习的话,我们就要首先把它改成zip的格式。
07:08
然后解压。解压完成以后。我们可以看到,诶,这里面有一个。应用程序我们右键。显示包内容。好,这个就是IP里边的东西,嗯,说一下这个另外的几个。呃,这个就是打包,就是苹果你下下来IPA以后,它这个都是包文件,是不是游戏的本身,它不是游戏的本身,可以不用重点关注IP目录我们,嗯,第一步payload文件夹下。的应用程序,右键显示包内容下载下来,IPA应为点zip格式进行。
08:21
解压。显示包内容,呃,在Windows下可以,它就是个文件夹,它就直接可以打开,呃,打开以后我们可以看到。这个里面目录是有一些这个启动图,嗯,Icon,然后还有一些这个storyboard,就是做这个应用开发是肯定不会陌生的,就是启动的一个storyboard,嗯,然后我们可以看到有一个。这些。还有一个date和一个code。
09:02
Senure啊,我这个英文不是很好,然后我们可以看到这个。啊,我们点一下这个版本记录,版本记录可以看到它是在这个1月30号。更新了是最新的1月30号。嗯,今天是1月31号啊,我们可以看到这个第一个文件是什么呢?第一个文件code center,嗯,这个文件夹下有嗯的文件。这个等于S。是。APP的上架时间就是这个时间,昨天上午的09:57。就是APP的上架时间。也就是说七卖其实他是怎么知道你APP什么时候上架的呢?就是他下载下来以后,他把这个文件夹的这个文件的,呃,时间就是修改日期。
10:12
诶,录入到他们的数据库。就可以知道这个是在什么时候过审的。嗯,然后。我们可以看到这有一个date date,通过这个date的话,我们就可以分析出来它是什么做的游戏,我们可以看到这有一个Unity,也就是说这是一个Unity游戏。Unity游戏,嗯,它有一个date,然后我们可以看到,嗯,他用了什么的这个。嗯,就是。第三方库,他用了一个这个第三方库,我们可以去frameworks文件夹下,都是放了一些库,嗯,那么这些库呢,你看很熟悉,也是UIK呀,裤裤呀,Photos呀,这些就是你用语言的包,那么你提上去以后,那么它会自动导入这些库,那么这个点framework后缀的名字呢,他们都是这个不同APP,他们会导入一些第三方库,我们可以百度一下子。
11:22
那可以看到我们已经搜到了这个它加载的其中之一的一个库,我看看它是干什么的。有点慢,嗯,我们先从这儿看一下,我们用百度快照可能会快一些。嗯。可以看到它应该是一个广告,呃手机的广告框架,也就是说我们可以看到它这个手机广告其实是用这个呃库来实现的,那么它有可能是一个这个。国外的网站,那么我们访问很慢,我们就不做示范,那么这个也是,呃,就是跟包有关的啊,没有什么太大价值啊,这个应该大概率是跟游戏有关的一个bund,那么这个是,呃,就是在。
12:20
工程里面就是那个access,就是图片的那个包。啊,这个呢,就是应用程序的二进制文件,那么他写的一些那些文字的就是代码会在,就是已经被苹果就是X code已经打包成二进制了,啊这个INF文件,嗯,就是。呃,像你这个APP的一些权限呀什么之类的,你比如说你使用了什么样的图标。啊,包括包名啊这些版本号。这些它里面做了什么配置,你看比如说这个他要打开Facebook,那么它的Facebook的PID,呃,要有一个,嗯密钥什么的,一般配置也都会在这里。
13:11
这是一个info的文件,嗯,那么。这就是一个IPA包的一个讲解。我可以写一下。这个framework用来看对方APP是用的。哪些第三方库?然后。哎,你看这个resource,哎,可以看到这有一个Unity unity3d。呃,有25兆,那么这个就是游戏的本体,这个就是游戏的本体,它在date文件夹下,一般一般来说。
14:02
U3D游戏。都会有一个贝塔文件夹,Resource子文件夹会有游戏本体,那么当你使用这个,呃。就是有那种第三方的文件,就是这软件可以对这个呃。UNITY3D进行反编译啊,那个软件应该是指在。Windows上有这边我就不多做示范了,因为它是属于逆向游戏那方面,嗯。你想游戏那方面一点,对Windows Windows Windows平台下有软件可以对。
15:07
进行运行,拿出里面的游戏资源,当然了,这个游戏资源拿出来以后是不能做商业用途的,否则会涉及到什么侵权之类的东西啊,然后这个是。嗯,这个叫做unx可执行文件,一般是APP的已经有。Appstore加密。嗯,其呃,其余的就是这些。那么在这个mark平台下应该这样写,这个是嗯,Mark。
16:09
嗯。那然后是Windows mark平台下我们要怎么样进行逆向mark平台常用的是这个软件叫做review review是一款可以。就是。呃,这个要求要高一点,你需要一个一台逆向的就是越狱的苹果手机,嗯,越狱的苹果手机,然后这个是一款正版的软件,呃,当然你可以免费使,呃尝试一下,它可以对这个APP,就是你不管是APP也好,游戏也好,它可以对这个游戏的界面进行,就是如果你越狱的话,它连接上了以后,是可以对你的这个界面直接进行直接进行分析层级的,就是说它可以,呃,就是一个可视化的工具嘛。
17:14
可视化的工具,当然了。如果你技术比较高的话,是可以用这个终端,是可以用终端来这个。进行调试的,就是也是可以直接获取这个代码,当然了,这个前提是一定要有一有一台越狱的手机,苹果手机才可以进行逆向,进行逆向分析,然后使用这个。粘一下嘛,是review APP。
18:00
这个。APP软件。对,这个。APP或者游戏进行界面层级的分析啊,当然了,一般来说是如果你要是搞代码的话,一定是在Windows下是更容易的,Windows直接下载就砸过壳了,那么它可以就是呃,因为你这个越狱手机一个正常的逆向分析的过程是呃。下载。嗯,没砸过,砸过APP,然后使用终端进行砸壳。砸完壳以后再使用软件进行逆向。这是一个流程,他。
19:13
爱思助手就直接省去了这个,他直接砸过壳了,也就是说你可以跳,如果你只是想拿代码的话,那么他已经砸过壳了,你可以直接嗯进行逆向分析,就不需要这个什么苹果手机啊,或者这个软件进行这个分析啊,如果你想学习它这个界面是怎么布局的,嗯,是用。这个软件是最好的,这个软件是公认的逆向的好软件,就是有点贵。那么这个在逆向这一块呢,逆向这一块,逆向这块的学习首先要有。扎实的。
20:01
业务能力,因为你只有业务能力强了,你才能够一眼就看出人家这个东西是怎么写的,不然你直接使用这个软件,即便你看到了人家这个软件的界面层级是怎么写的,你也不能。就是一眼就能推出来。人家代码就是。怎么实现很难。所以这个还是需要你。多加进行学习。后再说一下,就是为什么要搞这个东西,你可以看到它这个上架的时间都是七点呀,零点呀,其实不是这样的。就是说有时候七麦他现在是这样的,嗯,他有可能你没有这个登录呀,或者会员呀什么的,他就。只给你显示一个这个,呃,就是统一时间,它有可能就显示了一个时间,但其实它的上架时间是以这个时间为准。
21:00
这个时间是最准确的,呃,通过这个IPA你进行分析的话,你是可以嗯学到很多东西的,比如说像这些库,嗯,你可以看到它使用了定位,使用了image,一般来说我们只用到了这个其实就够了,但是他还用到了一些像Co Co这个是画图的一个库,那么他用这个就说明做了更精细的。嗯,一些东西,当然了,这些库有可能是因为Unity。所导入的就是Unity需要用到这些库,所以它导入了这些东西,嗯。那这就是我要讲的这个,如何对这个Apple store上上面的APP进行分析,好,谢谢大家。
我来说两句