首页
社区
课程
招聘
[讨论]成立“看雪逆向团队”
发表于: 2007-11-15 20:31 74436

[讨论]成立“看雪逆向团队”

2007-11-15 20:31
74436
  我们应该成立一个逆向团队。
  看雪汇集了一大批国内逆向,破解方面高手,精英,爱好者。我们这些人聚到一起,能不能做些什么有意义的事呢?做一些几年甚至十年后看来还是有意义的事呢?
  我们天天上网,享受着网上大量的资源,最新的音乐(制作好的mp3),最新的电影(压好的字幕),最新的软件(破解过的)。这些都是有热心的人在义务为大家服务。可是,我们做什么了?在我们理所应该享受这一切的同时,我们是不是也应该做些什么呢?
  首先,开发一款软件是不合适的。有用的,有意义的软件都有人做了,无论是shareware还是freeware。而且软件开发选题不易,一个题材可能只能吸引少量人。特别是,软件开发需要长时间大块时间,需要有人从头至尾跟踪维护这个软件。既使是一个高手,如果他有几个小时空闲时间,下载源码,读懂,再改进也是不可能的。所以,我们不能开发软件。
  我有个主意。我们可以成立一个逆向团队,把一些知名的重要的软件,模块反汇编,逆向,最终成C++!
  首先,把一个软件逆向成易读的C++是可行的。我做过几次这种项目,知道其中规律。熟练以后,看汇编就跟看C++源码一样,只是手上累点。聪明的初学者经过短期培训也能上岗。
  其次,这样做是有意义的。虽然因为Windows源码泄漏事件我们可以看到少量的Microsoft源码,但我们经常需要知道更多。有经验的程序员都会说,MSDN虽然详细,但想根据它就能写程序还远远不够。随便分析一个Microsoft小程序,甚至 Notepad 你都会发现里面使用了大量未公开的API。你不会它,你写的程序永远不如它。甚至你写的 Notepad 都不如它。
  逆向工作可以分为两步,一是用IDA反汇编,在汇编一级就把程序分析透,定义好每一个结构,枚举,定义好每一个变量名,函数名。第二步是根据分析好的反汇编结果,写出C++源码。或许你可以说还有第三步,就是调试通过。但这并不重要,因为一般看代码是为了学习,不是为了替换。
  逆向工作的这两步,都非常适合小块时间。一个高手,即使他只有几分钟时间,用IDA打开反汇编,他都可以马上上手。搞懂一个函数,找到一个结构,改一个变量名,这都是几分钟就可以入手的。或者第二步,看着分析好的反汇编,写C++,也应该是几分钟就可以写一个函数。只不过是工作量而已。所以,这件事,大家都可以参与。只有你愿意每周贡献一小会的自由时间,都欢迎你热心加入。当然了,你的IDA功底要好。如果你还不熟,花两天时间去学一下。
  我们期望一个什么结果呢?我希望将来有任何一个程序员想深入了解一个API,想知道一个DLL怎么用,想参考一个驱动怎么写,都会首先想到要到我们这里来下载一个分析好的IDB,甚至C++源码!是不是意义非凡,功德无量,永垂不朽? :)
  会不会有法律问题呢?我想关系不大。如果有作者发信过来不希望我们放他软件的逆向,我们把它从下载区去掉就是了。自然会有得到过它的人放到P2P网络上去,大家就都有了。当然了,我们尽量不要去逆向整个软件,只选最重要的模块。比如如果我们逆向一个 ole32.dll 微软肯定懒得找茬。
  还有个问题,单是Windows下的DLL与SYS就有几千个,我们什么时候能干完呀?其中任何一个都可能是一个人年的工作量。我们并不是立志要把这些都干完。我们会找最重要,最有意义的来做。比如,即使我们花了一年时间做好了一个 wsock32.dll 那也是很大的成就啊!即使我们分析了几个月还没干完,需要的程序员能下载到这个分析一半的IDB也是莫大的帮助。
  我们人多,我们中国有的是能人,有的是高手。只要大家都来关心这件事,抽时间就做一点,我们就能做好这件有意义的事。
  今天先写这么多,明天继续

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (186)
雪    币: 8209
活跃值: (4528)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
2
先把你的trw2000贡献一下吧
2007-11-15 20:47
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
3
先把你的扭曲消灭吧
2007-11-15 20:49
0
雪    币: 214
活跃值: (46)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
大牛~大牛~你的尾巴为什么那么长~~
不过说一下,想看winsock的代码,直接找W2K源码就好了,open source里也有比close source里更好的代码
什么都只陷在逆向别人的代码基础上,永远都写不出好东西来

以上个人看法~
2007-11-15 20:50
0
雪    币: 214
活跃值: (46)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
不过还是支持一下,谁能把netio.sys等几个网络驱动给逆一下啊,顺便再把NmpContext之类的邪恶结构也挖出来给我看就好了
2007-11-15 20:52
0
雪    币: 50161
活跃值: (20625)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
6
支持刘涛涛的这个提议,这样做,不仅能逆向获得一些程序源码,同时,也会培养出一批高水平的逆向者。不过,仅仅靠兴趣来,这个团队的热情估计长久不了。
得想个比较好的激励措施。
2007-11-15 20:55
0
雪    币: 214
活跃值: (46)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
再从另一个角度看一下,什么样的环境才能造就高手呢?
是一个到处都是close source,然后什么都需要自己动手调试,逆向才能探索出来的环境

还是到处都是open source,open idb,然后想要什么代码copy一下就可以了的环境呢?
2007-11-15 20:55
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
这个想法非常好啊,我看了很佩服你的精神,真的很好 ,非常棒,强烈支持!
2007-11-15 21:11
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
太好了,强烈支持!!!!!!!!!!
2007-11-15 21:17
0
雪    币: 257
活跃值: (44)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
逆向是永远需要的 open source有他的范围和应用 close source也有自己的范围和应用 所有软件都开源是不可能的
大牛的建议很不错 但是“逆向工作非常适合小块时间”这个观点我不认同 要逆出整个程序的源码必须要有全局观念才行吧 只怕这个更需要“从头至尾跟踪维护”
大牛读汇编就跟读C++源码差不多了?强烈建议大牛出本书传授此道 重点不在加密与解密 而是怎样从汇编代码建立C++源码(一定要附上一个著名的程序的完整例子 这个可以与作者协商) 这个应该是比成立逆向团队更具意义的事情!
2007-11-15 21:27
0
雪    币: 224
活跃值: (10)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
11
加入有没有什么条件限制???
2007-11-15 21:47
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
貌似看雪实验室也成立很久了啊
2007-11-15 21:51
0
雪    币: 50161
活跃值: (20625)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
13
性质不同,那个是想开发一款产品出来。
2007-11-15 21:52
0
雪    币: 468
活跃值: (340)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
14
今天发这一贴,只是让大家讨论一下这样做的可行性,大家是否支持。如果认同的人比较多,我们再讨论具体的细节。大家再报名加入。
可能是细节有
   * 如何报名,如何协同工作,如何管理
   * 是全FREE还是只把IDB公开,而把C++源码收费
   * 选项,先逆哪个呢?我最近对 zipfldr.dll 比较感兴趣

TRW2000还有一个作者,我会征求一下他的意见。如果同意,我们会公开源码。但我不建议大家学这个,毕竟Win9x下的东西,过时了。
2007-11-15 21:53
0
雪    币: 154
活跃值: (80)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
15
顶一个,不错的想法
2007-11-15 22:02
0
雪    币: 301
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
16
这个想法非常棒.强烈支持!

引用"聪明的初学者经过短期培训也能上岗。"
希望能用IDA系统一点从入门到提高的教程.

我对逆向现在是非常感兴趣,但只是对OD和脱壳方面稍有入门.
无奈对IDA和汇编无有入门
2007-11-15 22:07
0
雪    币: 224
活跃值: (147)
能力值: ( LV9,RANK:970 )
在线值:
发帖
回帖
粉丝
17
我也有做过这样的事情,虽然有乐趣,但是,是工作需要:)
2007-11-15 22:10
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
18
对这个东西貌似有些兴趣,纯粹的逆向跟脱壳与破解并不一样,破解目的太单一,局限性比较大,脱壳太讲究技巧和精力。LZ说的这个项目可能会有些问题,我个人觉得可能有以下几个问题:

1、要找到合适的人。貌似只热衷逆向分析的人不多,大部分都去破解和脱壳了;

2、需要分析的东西不能很大,否则人的精力坚持不了。目标文件最好大小在300k以内,并且无壳,当然windows里面很多此类东西;

3、windows基于com,随便挑一个系统里面的DLL,会看到导出函数就很郁闷。所以你老是不是考虑换个项目?比如可以挑卡巴或者星际去分析?虽然不如windows出名,但毕竟也是经典,还可以在分析过程中感受一些娱乐。

4、应该有几个人专门负责整理结果。比如我这种人就很排斥IDA,搞出来的东西肯定不是你要的那个库,就算大家都用IDA,也不能保证每个人的风格都一样。所以最好能有那么1、2个人专门负责整理大家的分析结果。
2007-11-15 22:14
0
雪    币: 214
活跃值: (46)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
19
看到某几楼后,我对该项目多久之后会半途而废或者楼主变成光杆司令或者变成初学者乐园,非常感兴趣
2007-11-15 22:26
0
雪    币: 202
活跃值: (77)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
20
有意义就是好好活,好好活就是做很多很多有意义的事
2007-11-15 22:30
0
雪    币: 101
活跃值: (12)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
21
等到ida支持team模式的时候偶就加入
2007-11-15 22:33
0
雪    币: 7325
活跃值: (3803)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
22
你想逆这个,我想逆那个,怎么办呢?
如果有这个实力,早就逆好了。如果自己没实力又没别人愿意去逆怎么办?
还有,自己逆出来的东西共享出来,自己能获取什么?(相信不少人手上有很多IDB)

有些东西也许不一定要写成C++,一个IDB,甚至一个思路就够了

假设团队里面掌握了大量的IDB(这里指有商业价值的),怎么处理?有人要花钱买,卖不卖?

很多细节还值得研究
2007-11-15 22:36
0
雪    币: 1126
活跃值: (156)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
23
首先做一个可以共享的IDA出来倒是有用的,大家一块对一个IDA进行合作分析。
2007-11-15 22:36
0
雪    币: 214
活跃值: (46)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
24
貌似楼主有team action的IDA
2007-11-15 22:53
0
雪    币: 99
活跃值: (2568)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
25
当源码规模庞大到一定程度,想分析清楚是一件很困难的事。试问有几个能对Linux内核有全面了解的?
逆向的目的要获得算法而不是源码。就算拿到完整的Windows源码,也没什么用。
逆Windows还不如去看Linux的内核源码。
2007-11-15 23:06
0
游客
登录 | 注册 方可回帖
返回
//