如何看一款软件的源代码?怎么看懂?

2021/09/09 13:34:24

  如今是互联网时代,互联网中不管是什么样的软件都能获取都源代码,电脑中我们打开网页后,就可以获取到网页源代码,软件的话又该如何获取到源代码呢?

  一、安卓APP

  用android-killer可以反编译apk,比较方便,不过只能看到smail文件,学习一点smail,你可以看明白它的源代码的意思,如果有壳的话,先改apk后缀后为zip,找到加壳的so文件,一般如名字中带xxxprotect.so。

       用百度,360,腾讯厂商加固的话,也都有对应特点,然后把这个so文件用IDA pro打开,找到它的关键加密算法。找到后,一版是不让进加密算法,直接return。就可去壳,去了壳之后,再进行重打包签名,测试下。

  二、ios上的app一般走如下流程

  1、拿个越狱机-下好工具。

  2、去越狱平台下个想分析的应用(或者去app store下,用解密工具解密一下)。

  3、导入reveal分析页面,得到想要的知道的具体视图类或者大致范围。

  4、分析class-dump中,找到想要的类和函数。

  5、在IDA或者Hopper中找到具体函数,查看汇编逻辑。

  6、修改相应的逻辑,达到篡改目的,重新打包。

  源代码拿到了,但是如果你不是学习计算机的,肯定是无法看懂源代码的。

  1、先按照教程先把系统搭建起来,本地web打开这个开源的网站。

  2、然后随便点点整个软件,把系统流程走走,注册登录,发问题,写文章,回答,回复,怎么管理帖子,账户中心,等等都操作一遍,先把整个系统有哪些功能可以熟悉一下。

  3、接着打开chrome调试工具,从一个开源网站的最基本的账户系统开始,先了解请求从chrome前端发出到后端框架响应输出怎么走的,入口在哪,这套模式适合所有模块。

  4、跟踪请求到代码那个controller,哪个action,输出view模版在哪,都弄清楚来,把套路熟悉

  5、这下你就可以在代码里面加一些var_dump()之类的语句,了解请求参数,业务逻辑怎么处理,输出了什么,操作了哪些模型表,view是怎么输出的,其实这些都主要是业务逻辑,你还得多看才明白。

  6。照着上面的套路把剩下的模块也都看看。注意看的过程中为了防止断断续续导致忘记,遗漏什么的,可以自己搞一个思维导图,一部分一部分针对性去了解,实在不懂的可以去百度,毕竟开源的东西别人也有经验之谈或源码解析,可以辅助你了解源码。

  如果你是初学者,在看软件的源代码的时候,最好先弄懂计算机的其他代码知识,可以到教育平台上的网课学习。这样在看软件源代码的时候才会看懂。最重要的,软件的源代码如果不是公开的,我们在找到之后只可以用来学习,千万不要用于它途。

  推荐阅读:

  在线教学平台怎么获得开发源码?开发难度如何?

  开源在线教育平台源码怎么得到?如何找源码?

  为什么网页源代码是公开的?是什么原因?

拓展阅读
格子匠认为:考试类培训的学习系统中,很重要的一点就是题库。让学员花更多的时间在题库里做题,模拟考试。TODAY,格子匠小编就跟大家好好介绍,格子匠的题库功能是怎么帮助教育机构的学员提升分数滴。
2021/01/22 17:06:23
人类社会的进步离不开教育,教育行业是所有人都会关注的一个行业。在线教育的出现给教育行业带来一些变化和新的发展。有关数据显示2018年在线教育行业规模将突破3000亿元,行业竞争愈发激烈,教育机构获得流量招生的成本也随之变高。今天格子匠就来和大家分享如何降低招生成本,希望对大家有所帮助。
2021/01/13 17:06:33
互联网的出现,催生了很多新的行业,在线教育就是其中之一。教育借助互联网的便利,能够打破时间、空间的限制,有助于教育公平化,也受到了大家的喜爱。但也有部分人质疑在线教育,觉得通过网络来学习,效果是不是不好。因此在线教育需要做好口碑运营,那么在线教育怎么打造良好口碑呢?
2021/01/12 17:28:10
在线教育本就是互联网+教育的产物,因此在线教育做营销推广的时候是少不了线上营销的。线上营销具有传播范围广、速度快、无时间地域限制等特点,大家做好线上营销能够大大提升品牌知名度获得更多用户。那么在线教育如何做好线上营销一起来了解一下吧。
2021/01/12 17:09:33
互联网的出现,不仅连接了消费者和服务的供应方,也在快速的发展中促使知识经济迈向了新的巅峰。对于在线教育,新一代在线教育解决方案——格子匠的创始人周星先生表达了自己的看法:“作为迅速崛起的行业,在线教育既体现了知识的价值,也打破了传统壁垒,可谓是教育行业的全新变革。”
2021/01/08 16:15:11
如今流量获取难,获客成本高,用户生命周期短,在线教育该去哪里去寻找新的用户呢?微信小程序将是一个巨大的流量阵地!如何抓住小程序红利呢?
2020/12/30 16:25:39
相对强制性的传统教育,在线教育具有更灵活便捷的知识传播方式,也让受众拥有更多的学习途径。在线教育解决方案——格子匠的创始人周星先生在采访中谈到:“在知识付费的年代,线上教育想要谋求良好发展,既离不开传统教育课程的内容质量和内容整合,也离不开互联网支撑的教育系统平台。只有线上线下相结合,才能得到广大受众的信赖与支持。”
2020/12/27 17:14:15
虽然课程的完成率不是评价课程好坏的标准,但是提升课程的完成率可以增加学员的粉丝黏性,同时也可提升课程的复购率,而粉丝黏性和复购率,是知识分享者可持续发展的命脉所在,所以提高课程完成率是每个老师都必须思考的问题。
2020/12/25 17:11:46
官方公告
热门文章
推荐阅读