怎样查看别人做的软件的源代码(高手进)

怎样查看别人做的软件的源代码(高手进),第1张

无论你学什么都不可能得到真正的源代码的,原因很简单,绝大多数的exe或者dll都是用高级语言诸如C/C++/delphi之类开发的,经过开发环境的编译得到计算机能够执行的二进制机器码文件exe,这个过程是通常是不可转逆的,但是这个过程称之为反汇编或者反编译,也就是说你可以用一些软件(比如W32Dasm等等)将exe之类进行反编译,得到汇编语言的代码,这种代码虽然可能执行结果与原软件相同,但已经与源代码完全不同了。因此绝大多数的软件破解工作,都是基于反汇编的调试工具上进行的,比如ollydbg或者softice等等。

当然有些特例的,比如net/java/vb等等开发的exe,是有可能用一些专用软件看到部分源代码的。

想看到源代码我觉得不可能,不是有些程序不能看到,而是所有的程序通过正当的途径都不能看到源代码,除非这个程序是你自个写的。因为几乎所有的程序在发布之前都会进行加密、加壳的 *** 作。即使你知道人家采用什么技术进行的加密也不太可能会原样的还原出来源代码。所谓的破解也并不是把原程序的源代码给还原了之后给你破解的。破解软件也只不过是反编译了软件的汇编代码而已!

将apk文件拷贝至sdcard上。

命令顺序如下:

进入Android sdk文件夹/tools目录下

输入adb shell

输入su

输入cd data

输入cd app

这时就可以看到你安装的所有的apk文件。输入cp 空格 对应的apk 空格 /sdcard/

这样就将apk文件拷贝出来了。

将apk文件后缀直接变成rar格式,可以看到熟悉的目录结构了,

其中xml文件打开后都是二进制的,无法查看。

这时就用到了一个android4me的AXMLPrinter2工具。(请自行百度搜索)

输入以下命令,将xml文件解析出来

java -jar AXMLPrinter2jar showtimes_listxml

此命令是在命令行中查看此showtimes_listxml

将showtimes_listxml生成xml文件,则输入以下命令:

java -jar AXMLPrinter2jar showtimes_listxml > hxml

目前进行到这一步,只能看到xml文件的内容,其工程中的java源文件还是看不到,看目录结构下有一个classesdex文件,我们需要将dex文件变为jar文件。

这里用到了另一个工具dex2jar。(自行搜索下载)

在Windows下解压之后的目录如下图所示:

在命令行中,进入到此目录下:

在Windows下,输入以下命令:

dex2jarbat c:\classesdex

运行完之后,在C盘会多一个classesdexdex2jarjar文件,此文件就是我们需要的jar文件。

利用jd-gui,将jar文件反向工程为java代码。(请自行搜索下载)

它分为Windows、Linux、和max三个版本,这里我下载的是Windows版本的。

解压之后,双击运行exe文件,选择classesdexdex2jarjar文件,相应的jar文件中的Java文件就被反向工程显示出来了!

Android是一种基于Linux的自由及开放源代码的 *** 作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android *** 作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到781%。 [1]  2013年09月24日谷歌开发的 *** 作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。

Android一词最早出现于法国作家利尔亚当(Auguste Villiers de l'Isle-Adam)在1886年发表的科幻小说《未来夏娃》(L'ève future)中。他将外表像人的机器起名为Android。

Android的Logo是由Ascender公司设计的,诞生于2010年,其设计灵感源于男女厕所门上的图形符号, [1]  于是布洛克绘制了一个简单的机器人,它的躯干就像锡罐的形状,头上还有两根天线,Android小机器人便诞生了。其中的文字使用了Ascender公司专门制作的称之为“Droid ” 的字体。Android是一个全身绿色的机器人,绿色也是Android的标志。颜色采用了PMS 376C和RGB中十六进制的#A4C639来绘制,这是Android *** 作系统的品牌象徵。有时候,它们还会使用纯文字的Logo。

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

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

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

到目前为止,还没有一种反编译的方法可以获得百分百完整、准确的源代码。

EXE File英文全名executable file ,译作可执行文件,可移植可执行 (PE) 文件格式的文件,它可以加载到内存中,并由 *** 作系统加载程序执行,是可在 *** 作系统存储空间中浮动定位的可执行程序。如记事本程序notepadexe ,可以用来编辑文档,如:测试txt双击打开notepadexe记事本程序来进行编辑处理。

源代码(Open source code)也称为源代码公开,指的是一种软件发布模式。一般的软件仅可取得已经过编译的二进制可执行档,通常只有软件的作者或著作权所有者等拥有程序的原始码。

需要把反编译的apk存放到apktools同级文件夹目录下,然后运行要查看的安装包,具体 *** 作如下:

1、首先把反编译的apk存放到apktools同级文件夹目录下,如下图所示。

2、按住shift+鼠标右键打开命令窗口,运行代码 apktool d ydapk(安装包的名字)。

3、apk后缀名改成zip,解压双击打开xml格式文件如下图所示。

4、打开cmd命令窗口,如下图所示依次输入命令。

5、将classesdex打包成jar包 需要用到dex2ja。

6、然后就可以查看需要的源代码,如下图所示。

以上就是关于怎样查看别人做的软件的源代码(高手进)全部的内容,包括:怎样查看别人做的软件的源代码(高手进)、如何查看软件的源代码、怎样查看 Android APP源代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存