如何找到软件的源代码

如何找到软件的源代码,第1张

源码就是指编写的最原始程序的代码。运行的软件是要经过编写的,程序员编写程序的过程中需要他们的“语言”。音乐家用五线谱和音符,建筑师用图纸和笔,那程序员的工作的语言就是“源码”了。

人们平时使用软件时就是程序把“源码”翻译成我们可直观的形式表现出来供我们使用的。[1]

任何一个网站页面,换成源码就是一堆按一定格式书写的文字和符号,但我们的浏览器帮我们翻译成眼前的模样了

一、安卓APP

用android-killer可以反编译apk,比较方便,不过只能看到smail文件,学习一点smail,你可以看明白他的源代码的意思,如果有壳的话,先改apk后缀后为zip,找到加壳的so文件,一般如名字中带xxxprotectso 用百度,360,腾讯厂商加固的话,也都有对应特点,然后把这个so文件用IDA pro打开,找到它的关键加密算法。找到后,一版是不让进加密算法,直接return。就可去壳,去了壳之后,再进行重打包签名,测试下。

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

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

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

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

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

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

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

虽然存在一些特殊情况下,我们可以推测出exe程序是用什么程序写的。但是多数情况下,我们是无法只根据一个exe程序就判断出来的。

根据exe程序我们是无法直接得到程序的源码的。虽然也有一些用于逆向工程的办法,但那不可能把已经是exe的程序反回到它原始的源码情况。而且这些工具都很难用。

你可以用“反编译”搜到很多工具,但是说实话,即便是这方面的专家,要看懂反编译以后的程序也不是一件轻松的事情。

对于现在的软件来说,源代码是最基础的部分,得到了源代码也就几乎得到了软件的全部。源代码对于商业性质的软件来说是极其重要的,一旦泄露就会造成非常大的损失,所以源代码是一个软件开发团队的最高机密。

正因如此,很多人出于不同目的,会想办法得到软件的源代码,但是我们知道,软件的最终产品一般是已经编译过的文件,就像我们初学C语言时生成的 exe 文件一样,是一些二进制符,不能直接查看源码。

想要查看一个软件的源代码,首先要确定这个软件的开发者是否已经将其开源,如果开源的话就不必大费周章地去反编译了,直接去开源社区里就会发现该软件的源码,开发者一般也会提供源码的下载链接。

如果软件不开源,那就要进行反编译了,查看大多数软件的源码都需要用到这个方法,即使反编译了,看到的源代码也是非常混乱的,因为为了保护源码,开发者在编译前都会进行混淆,目的就是即使有人反编译成功,也无法看懂代码里的逻辑,这也是保护源码的最后一道防线。

Android开发中,如何获取本APP的信息呢?

代码如下:

PackageManager manager;

PackageInfo info = null;

manager = thisgetPackageManager();

try {

info = managergetPackageInfo(thisgetPackageName(), 0);

} catch (NameNotFoundException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

infoversionCode;

infoversionName;

infopackageName;

infosignatures;

这样,以上的信息就都可以获取到了。

APP就是安装在手机上的软件,一般都是存在版权问题的,一般是公司开发的,也有可能是个人开发的,要购买源码是要联系开发该软件的公司或者个人。

但是有一些网站是很多代码是开源的,比如:GitHub里面有非常的多APP源代码可以提供下载和使用,这个是不需要付费的,还有挺多网站是可以根据需求来帮助写源代码然后提供,当然这个是需要付费的,就是购买源码的一种方式。

以上就是关于如何找到软件的源代码全部的内容,包括:如何找到软件的源代码、如何看到一个APP应用的源代码、安卓app代码怎么提取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9464996.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存