问一下,怎样看应用程序的代码?

软件和网站开发以及相关技术探讨
回复
vitamin
帖子: 247
注册时间: 2008-09-23 21:13

问一下,怎样看应用程序的代码?

#1

帖子 vitamin » 2008-10-24 11:32

例如skype ,用vim打开它的deb包,全是乱码的看不懂,怎样看它当初编辑时些的程序呢?
念几句佛经就以为自己在悟道,引用几句圣经就以为自己是上帝的使者。
躲在阴暗的角落就以为看不见你那肮脏的灵魂?
游走在灰色领域就以为安然无恙?
举头三尺有神明,不是不报是时候未到。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 问一下,怎样看应用程序的代码?

#2

帖子 eexpress » 2008-10-24 11:35

deb。。。用file-roller打开吧。就压缩包而已。
● 鸣学
头像
yiding_he
帖子: 2677
注册时间: 2006-10-25 18:10
来自: 长沙
联系:

Re: 问一下,怎样看应用程序的代码?

#3

帖子 yiding_he » 2008-10-24 11:44

deb 包是一个压缩包,你需要解压才能看到内容。
你是自由的。别人也是。
vitamin
帖子: 247
注册时间: 2008-09-23 21:13

Re: 问一下,怎样看应用程序的代码?

#4

帖子 vitamin » 2008-10-24 11:58

不是啦,我不是说如何看包里包含什么,我是说如何可以像ddd调试程序一样,把它看懂它是怎么工作的。
念几句佛经就以为自己在悟道,引用几句圣经就以为自己是上帝的使者。
躲在阴暗的角落就以为看不见你那肮脏的灵魂?
游走在灰色领域就以为安然无恙?
举头三尺有神明,不是不报是时候未到。
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: 问一下,怎样看应用程序的代码?

#5

帖子 自由建客 » 2008-10-24 12:34

一般 deb 包里面都是二进制文件,源码包一般都是 .tar.gz 或 .tar.bz2。楼主搞错对象了。
vitamin
帖子: 247
注册时间: 2008-09-23 21:13

Re: 问一下,怎样看应用程序的代码?

#6

帖子 vitamin » 2008-10-24 14:44

那deb的二进制文件就不能转换成可以像 ddd下能调试看得懂的文件?
那rpm文件呢?
念几句佛经就以为自己在悟道,引用几句圣经就以为自己是上帝的使者。
躲在阴暗的角落就以为看不见你那肮脏的灵魂?
游走在灰色领域就以为安然无恙?
举头三尺有神明,不是不报是时候未到。
xyywll
帖子: 338
注册时间: 2008-05-24 1:24

Re: 问一下,怎样看应用程序的代码?

#7

帖子 xyywll » 2008-10-24 15:48

sudo apt-get source 包名
看源代码和文档比较好

用 gdb ddd 之类反编译研究,如果可以的话,windows源代码早出来了(小软件除外)
vitamin
帖子: 247
注册时间: 2008-09-23 21:13

Re: 问一下,怎样看应用程序的代码?

#8

帖子 vitamin » 2008-10-24 20:56

楼上的逻辑不通嘛,因为linux是开源所以认为可以反研究,gdb ddd是linux的,又不是windows的,当然不能反研究啦。
念几句佛经就以为自己在悟道,引用几句圣经就以为自己是上帝的使者。
躲在阴暗的角落就以为看不见你那肮脏的灵魂?
游走在灰色领域就以为安然无恙?
举头三尺有神明,不是不报是时候未到。
头像
Nile
帖子: 990
注册时间: 2006-07-15 11:20
来自: 枫叶刀市

Re: 问一下,怎样看应用程序的代码?

#9

帖子 Nile » 2008-10-24 21:02

LZ的意思是把二进制文件反汇编?
有源代码为啥非要反汇编呢?

非要反汇编的话可以用ar解包
再用ndisasm之类反汇编
Thinkpad T400
vitamin
帖子: 247
注册时间: 2008-09-23 21:13

Re: 问一下,怎样看应用程序的代码?

#10

帖子 vitamin » 2008-10-24 21:41

我的问题有那么难理解吗?我就是想从实例了解一下编程是怎么回事嘛。
拿星际译王来说,我想了解它是怎么回事,于是我想用ddd看一下它的程序,然后发觉ddd看不了,
于是我就按apt-get source stardict ,结果得到file:///home/ellawu/stardict_3.0.1.orig.tar.gz
file:///home/ellawu/stardict_3.0.1-3.diff.gz
file:///home/ellawu/stardict_3.0.1-3.dsc
三个文件,可是我依然不知道怎样可以了解它是怎样运作的。
大家不会去分析这些应用软件是怎么工作的吗?
念几句佛经就以为自己在悟道,引用几句圣经就以为自己是上帝的使者。
躲在阴暗的角落就以为看不见你那肮脏的灵魂?
游走在灰色领域就以为安然无恙?
举头三尺有神明,不是不报是时候未到。
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: 问一下,怎样看应用程序的代码?

#11

帖子 自由建客 » 2008-10-24 22:11

没有类图,没有流程图,没有开发文档,除了看源码还有什么好方法?真的很难理解楼主。
xyywll
帖子: 338
注册时间: 2008-05-24 1:24

Re: 问一下,怎样看应用程序的代码?

#12

帖子 xyywll » 2008-10-25 19:51

其实是开源才不用反向研究,反向研究叫“逆向工程(Reverse engineering )",一般是没有源代码、文档等的情况下根据二进制代码等得到软硬件的大概工作原理的过程

lz想要弄清楚程序是怎样由源代码变成二进制的,可以参考 《C Primer Plus(这本最简单)》《深入理解计算机系统 Computer Systems: A Programmer's Perspective》《C专家编程》《Linkers & Loaders》《可变目标C编译器——设计与实现》等

.tar.gz 是源文件
.diff.gz 是补丁
.dsc 是PGP签名
vitamin
帖子: 247
注册时间: 2008-09-23 21:13

Re: 问一下,怎样看应用程序的代码?

#13

帖子 vitamin » 2008-10-27 10:08

xyywll 写了:其实是开源才不用反向研究,反向研究叫“逆向工程(Reverse engineering )",一般是没有源代码、文档等的情况下根据二进制代码等得到软硬件的大概工作原理的过程

lz想要弄清楚程序是怎样由源代码变成二进制的,可以参考 《C Primer Plus(这本最简单)》《深入理解计算机系统 Computer Systems: A Programmer's Perspective》《C专家编程》《Linkers & Loaders》《可变目标C编译器——设计与实现》等

.tar.gz 是源文件
.diff.gz 是补丁
.dsc 是PGP签名
解释的好清楚阿,thanks :em03
念几句佛经就以为自己在悟道,引用几句圣经就以为自己是上帝的使者。
躲在阴暗的角落就以为看不见你那肮脏的灵魂?
游走在灰色领域就以为安然无恙?
举头三尺有神明,不是不报是时候未到。
头像
guiwen1158
帖子: 1078
注册时间: 2008-05-11 11:10
来自: 深圳
联系:

Re: 问一下,怎样看应用程序的代码?

#14

帖子 guiwen1158 » 2008-10-27 10:11

vitamin 写了:
xyywll 写了:其实是开源才不用反向研究,反向研究叫“逆向工程(Reverse engineering )",一般是没有源代码、文档等的情况下根据二进制代码等得到软硬件的大概工作原理的过程

lz想要弄清楚程序是怎样由源代码变成二进制的,可以参考 《C Primer Plus(这本最简单)》《深入理解计算机系统 Computer Systems: A Programmer's Perspective》《C专家编程》《Linkers & Loaders》《可变目标C编译器——设计与实现》等

.tar.gz 是源文件
.diff.gz 是补丁
.dsc 是PGP签名
解释的好清楚阿,thanks :em03
vitamin
帖子: 247
注册时间: 2008-09-23 21:13

Re: 问一下,怎样看应用程序的代码?

#15

帖子 vitamin » 2008-10-27 10:50

楼上的是想给我,蝴蝶和猪以及安安静静几个信号吧,你省点吧。
念几句佛经就以为自己在悟道,引用几句圣经就以为自己是上帝的使者。
躲在阴暗的角落就以为看不见你那肮脏的灵魂?
游走在灰色领域就以为安然无恙?
举头三尺有神明,不是不报是时候未到。
回复