首页
社区
课程
招聘
[Carvingdbg] 开发目标,角色分工
2005-4-5 18:30 15053

[Carvingdbg] 开发目标,角色分工

2005-4-5 18:30
15053
[Carvingdbg]  开发目标,角色分工

多谢看雪的兄弟支持这个 project,这个 project 跟其他的 open source project 一样,希望集合各界的力量,做出一件实用性和质素优良的作品

既然已经加入了,我们大家便是队伍的成员,我希望在这个 project 的开发过程中,不只可以制造出令人满意的东西,很希望大家 (包括我) 有机会在编程上学到更多,学习到 open source 团队合作,并且结识到一些志同道合的朋友

开发这个项目的原因是 : 我们都是常用调试器的人,我们现在常用 OD ,常用 softice, IDA 等等,我希望在有限的人力和时间上,可以开发一个 ring 3 (像 OD 一样) 的调试工具,并且是开放源码的。如果有任何兄弟需要一个特别的调试环境,可以下载我们这个东西,把它的源码修改,改变成一个专门的工具,来解决自己的问题 (特别是当市面上都没有合适的工具可用 )

以下几点是值得大家注意 :
-        每位成只员都有自己独特的长处,我们需要互相尊重,互补不足
-        每一个对 project 有利的建议,欢迎提出,研究它的可行性
-        在 sf 的系统里,大家开始时都是 “developer” ,日后会再把每个人的角色细分 (例如专门负责编写 document , 专门负责图像介面,专门设计网页,专门负责在各平台测试, 等等 )
-        即使有意见上的分歧,也不要轻易放弃,因为个人开发和团队开发的最大分别,是自己的意见有时候会不被别人接纳。这是加入团队时便应该注意到的。

-        每个人的现实生活和工作都不同,有些人的时间比较多,有些人比较忙。开发这个 project 不是一件十分迫切的事情,不需要限制在多少星期内有某个进度,每位成员都是拿出自己空余的时间来开发,不需要有太大的压力

-        遇到不懂的东西,尝试学习它,到论坛询问其他队员,一起进步

-        如果某一段时间比较繁忙 (例如考试),可以跟大家说一声,在完成自己的事情后再回来

-        我们这个 open source project 比较特别,因为我们都是来自看雪论坛,所以沟通上或许比并他外界的人容易。可是,我们不排除有外来的programmer 加入我们的 project ( 在 sf.net 上) ,如果有新成员加入,我们都是一视同仁

分工

这个 program 的主要部分分为
-        反汇编核心  ( disassembling IA32 opcode, floating point opcode, MMX, 64 bit opcode, etc )
-        使用者介面
-        调试器功能 ( memory monitor, conditional break point, tracer , etc )

每位成员可能负责某一部份 (或负责多部份 ) 的工作

请大家说一下自己的专长,和有兴趣负责的部份

[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

收藏
点赞0
打赏
分享
最新回复 (61)
雪    币: 2307
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
riijj 7 2005-4-5 19:36
2
0
sf 上我在 tracker 加入了选项,大家看看,熟习一下
document 那里我也贴上了 intel 指令集的下载 link
雪    币: 598
活跃值: (617)
能力值: ( LV12,RANK:660 )
在线值:
发帖
回帖
粉丝
prince 16 2005-4-5 22:44
3
0
我来报名,技术虽糙,但有热情,希望共同进步。细节怎么谈?
雪    币: 2307
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
riijj 7 2005-4-5 23:25
4
0
最初由 prince 发布
我来报名,技术虽糙,但有热情,希望共同进步。细节怎么谈?


http://bbs.pediy.com/showthread.php?s=&threadid=12643

先在 sf 登记
在这里留下 sf 的名字
雪    币: 2307
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
riijj 7 2005-4-5 23:58
5
0
我尝试把源码放到 sf.net 的 CVS 里,请参与开发的兄弟安装 CVS client,尝试使用 CVS 来连接

Carvingdbg 在 sf.net 上的 CVSROOT :
:ext:<your_name>@cvs.sourceforge.net:/cvsroot/carvingdbg

Module 名称:
carvingdbg

CVS client 的下载 :
http://tortoisecvs.sourceforge.net/

CVS 使用的基本说明 :
https://sourceforge.net/docman/display_doc.php?docid=14033&group_id=1
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
freshman 2005-4-6 09:44
6
0
cvs server: cannot find module `Carvingdbg' - ignored
cvs.exe [checkout aborted]: cannot expand modules

Error, CVS operation failed
雪    币: 2307
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
riijj 7 2005-4-6 10:24
7
0
最初由 freshman 发布
cvs server: cannot find module `Carvingdbg' - ignored
cvs.exe [checkout aborted]: cannot expand modules

Error, CVS operation failed


Module 的名字使用全小写试试

carvingdbg
雪    币: 598
活跃值: (617)
能力值: ( LV12,RANK:660 )
在线值:
发帖
回帖
粉丝
prince 16 2005-4-6 13:18
8
0
推荐使用图形界面的CVS,很好用的,到这里下载:
http://www.8848software.com/wincvs/
里面还有很多相关的东西,强烈推荐...
雪    币: 2307
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
riijj 7 2005-4-6 13:23
9
0
最初由 prince 发布
推荐使用图形界面的CVS,很好用的,到这里下载:
http://www.8848software.com/wincvs/
里面还有很多相关的东西,强烈推荐...


我介绍的那个 tortoisecvs 是图形的  

安装后可以直接在 window 的 explorer 中操作,只要在任何档案上 右 click 鼠标,在选单可以操作所有功能
雪    币: 2307
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
riijj 7 2005-4-6 13:35
10
0
假如大家看过源码和考虑过后,请在这个帖里自我介绍一下 (兴趣 / 专长 / 时间分配),
和说说希望负责的部份  

雪    币: 598
活跃值: (617)
能力值: ( LV12,RANK:660 )
在线值:
发帖
回帖
粉丝
prince 16 2005-4-6 14:16
11
0
最初由 riijj 发布


我介绍的那个 tortoisecvs 是图形的

安装后可以直接在 window 的 explorer 中操作,只要在任何档案上 右 click 鼠标,在选单可以操作所有功能


呵呵,我用WinCVS用习惯了...
雪    币: 2307
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
riijj 7 2005-4-6 14:31
12
0
最初由 prince 发布


呵呵,我用WinCVS用习惯了...


我用 WinCVS 时不懂得怎样设置 SSH   
我用过的 windows 的 SSH client 只有 putty…
雪    币: 598
活跃值: (617)
能力值: ( LV12,RANK:660 )
在线值:
发帖
回帖
粉丝
prince 16 2005-4-6 14:40
13
0
最初由 riijj 发布


我用 WinCVS 时不懂得怎样设置 SSH
我用过的 windows 的 SSH client 只有 putty…


我也不懂设置,只会使用,呵呵...  
对了,CheckOut时候,在服务器上的模块路径是什么?
雪    币: 2307
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
riijj 7 2005-4-6 14:51
14
0
最初由 prince 发布


我也不懂设置,只会使用,呵呵...
对了,CheckOut时候,在服务器上的模块路径是什么?


使用  carvingdbg 试试
雪    币: 598
活跃值: (617)
能力值: ( LV12,RANK:660 )
在线值:
发帖
回帖
粉丝
prince 16 2005-4-6 15:52
15
0
最初由 riijj 发布


使用 carvingdbg 试试


不行,你看我的设置对不对?

雪    币: 598
活跃值: (617)
能力值: ( LV12,RANK:660 )
在线值:
发帖
回帖
粉丝
prince 16 2005-4-6 17:42
16
0
晕~ 终于搞定了!
雪    币: 2307
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
riijj 7 2005-4-6 17:53
17
0
名字那里是没有  < >  的   
雪    币: 2307
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
riijj 7 2005-4-6 19:26
18
0
最初由 riijj 发布
假如大家看过源码和考虑过后,请在这个帖里自我介绍一下 (兴趣 / 专长 / 时间分配),
和说说希望负责的部份



为甚么没有人回应  ?
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
freshman 2005-4-6 20:35
19
0
我来吃这第一只螃蟹,我现在在一所三流大学上大三,学的机械专业。 谈起专长,真不知道怎么开口,呵呵,专长就是菜吧。近日在研究opcode,我就弄反汇编部分吧。 希望大大们多指点指点我~~
雪    币: 2307
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
riijj 7 2005-4-6 21:24
20
0
最初由 freshman 发布
我来吃这第一只螃蟹,我现在在一所三流大学上大三,学的机械专业。 谈起专长,真不知道怎么开口,呵呵,专长就是菜吧。近日在研究opcode,我就弄反汇编部分吧。 希望大大们多指点指点我~~


好的,
你有没有研究现在 carving 的 Dsm 代码 ?
雪    币: 501
活跃值: (1223)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
RoBa 16 2005-4-6 21:34
21
0
那我也说说我自己,我在天津大学(不知算几流?)上大一,学英语专业 也没啥特长,
非常抱歉的是最近可能没有很多时间,一直在忙,暑假也还得集训,加上水平太低,大概只能完成一些打杂的任务,非常不好意思,
服务组织安排,呵呵~~~~
雪    币: 2307
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
riijj 7 2005-4-6 22:03
22
0
最初由 RoBa 发布
那我也说说我自己,我在天津大学(不知算几流?)上大一,学英语专业 也没啥特长,
非常抱歉的是最近可能没有很多时间,一直在忙,暑假也还得集训,加上水平太低,大概只能完成一些打杂的任务,非常不好意思,
服务组织安排,呵呵~~~~


Roba 兄怎可能是杂务  

如果你最近比较忙碌的话,可以负责一些测试的工作,例如把一些反编译的错误指出,
发到 sf 的 bug tracker ,也希望你帮忙看看源码的各部份 (用 CVS),提出修正

你有空闲的时候记紧通知我
雪    币: 598
活跃值: (617)
能力值: ( LV12,RANK:660 )
在线值:
发帖
回帖
粉丝
prince 16 2005-4-7 00:42
23
0
今天来了个朋友,光喝酒了,呵呵,还没有来得及仔细看代码,我可以接受组织安排。嘿嘿~
雪    币: 223
活跃值: (330)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
goldenegg 2 2005-4-7 09:36
24
0
我也说几句吧,这样搞基本上一盘散沙,大家水平也良莠不齐,要做好可能有点难度。先说架构与定位:
首先,我认为这个调试器可以不支持win9x与nt4.0及以下系统,可以大大降低开发难度。
第二,我因为是时候打破单进程调试的局限性了,要支持多进程同时调试,对付多进程的壳比较有效。这一点,在一个架构问题,一开始就要想好此问题,要是以后再改,就来不及了。如果第二点达不到,恐怕也很难超越ollydbg,如果不能超越它,大家的心血,未免白流了。

第三,我认为这个调试器可以有部分的ring0级功能。可以看看我写的XIDT源码,由驱动完成极少量的核心功能,ring3级的程序用这样的核心功能组织出功能强大的其它功能。最近我在抽时间写一个System service的保护工具,已经基本写完了。可惜保护好了themida就跑不起来了,还在想办法解决中。它的实现,也是功能代码全在普通的exe中,ring0支持代码在驱动中,还是使用krmem.dll,不过krmem中加了一个ring0回调的功能。我认为这样很好,不必为写驱动浪费太多时间,必竟那个不好调试。功能代码在普通exe中,可能对它能测试的部分都在ring3级下测试好了,可以减低开发难度。而且普通exe组织代码的机动性大,容易组织出强大的功能。比如借助XIDT中的那个krmem.dll读取内核内存,写出一个内核反汇编查看器就一点难度也没有。我个人很喜欢自己的这个设计,所以希望调试器可以引入这个功能。

第四,还是架构问题,ollydbg的架构可以说很不错,窗口都是统一管理的,各个列表,内存啊模块啊什么的,都有统一的函数管理,不知在这个debugger时,谁来负责这样的基础架构设计管理呢?要是大家各写各的,你画一个模块窗口,我写一个内存窗口,最后,界面很难统一,也不易维护。

第五,以前体会不到BBS上别人说的自由软件会不如商业软件的,这句话不是绝对正确但不无道理。至少在开发上组织上就有一些死肋,不可能来一套完善的软件工程管理。我不是泼冷水,是希望大家看到这个问题,利用有限的力量尽量解决这个问题,这样才能做得更好。

最后,我想说我也想加入开发,可是我恐怕没什么时间,不知能不能先来占个坑?
雪    币: 2307
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
riijj 7 2005-4-7 11:34
25
0
最初由 goldenegg 发布
我也说几句吧,这样搞基本上一盘散沙,大家水平也良莠不齐,要做好可能有点难度。先说架构与定位:
首先,我认为这个调试器可以不支持win9x与nt4.0及以下系统,可以大大降低开发难度。
第二,我因为是时候打破单进程调试的局限性了,要支持多进程同时调试,对付多进程的壳比较有效。这一点,在一个架构问题,一开始就要想好此问题,要是以后再改,就来不及了。如果第二点达不到,恐怕也很难超越ollydbg,如果不能超越它,大家的心血,未免白流了。

第三,我认为这个调试器可以有部分的ring0级功能。可以看看我写的XIDT源码,由驱动完成极少量的核心功能,ring3级的程序用这样的核心功能组织出功能强大的其它功能。最近我在抽时间写一个System service的保护工具,已经基本写完了。可惜保护好了themida就跑不起来了,还在想办法解决中。它的实现,也是功能代码全在普通的exe中,ring0支持代码在驱动中,还是使用krmem.dll,不过krmem中加了一个ring0回调的功能。我认为这样很好,不必为写驱动浪费太多时间,必竟那个不好调试。功能代码在普通exe中,可能对它能测试的部分都在ring3级下测试好了,可以减低开发难度。而且普通exe组织代码的机动性大,容易组织出强大的功能。比如借助XIDT中的那个krmem.dll读取内核内存,写出一个内核反汇编查看器就一点难度也没有。我个人很喜欢自己的这个设计,所以希望调试器可以引入这个功能。
........


利用 source forge 写开放源码,一点也没错,绝对是一盘散沙  

这个 project 跟其它 open source project 一样,不是一个人的个人编程表演,加入的人绝对是没有质素保证。我不可以邀请最顶尖的程序员加入,因为我没有这个能力; 我也不可以要求最一位加入的成员每天工作 8 小时写这个东西,因为我没有支付薪金

我觉得,每一个人都是出于自愿希望为这个 project 作出支持而来,这是我唯一能够肯定。看看我在看雪的帖子,我只会问大家对那一部份有兴趣开发,我不主动指挥某某人,因为帮助开发是一件自愿的事情,我能够做的,是决定是否把那部份交给那一个人。

这个 project 奉行 GPL license, 它最重要的一点是任何人 (包括这个开发成员以外的人) 也可以使用这个 project 的成果,来开发自己的 open source东西。
如果有一天这个 debugger 不能满足某一个人的需求,他可以下载源码,在这个 project 的基础上开发自己合适的 debugger 给自己使用 (当然它的成果必须依循 GPL)

对于这个 debugger 的开发阶段,现在是让大家选择合适的部份去做,再召开会议讨论各细节,现在还没有详细讨论任何关于 debugger 的设计和开展方向等问题。

(你提到的进程调试问题,窗口管理问题,我也注意到,将来讨论的时候会研究。 Ring 0 那一部分现在不会考虑,现在先把基本的 ring 3 调试器完成)
游客
登录 | 注册 方可回帖
返回