GitHub企业版xxx
1. 背景
开发团队用atlassian系列软件系统进行故障跟踪和团队协作,VCS用SVN(安装了bitbucket,未普遍使用)。 代码走查一直做的不太好,主要原因是这个风气没有很好的建立起来。 之前在代码合入流程里增加了走查这个必选环节,大部分人只是走了一下流程,并没有实际展开走查工作。 除了在团队内部再次宣贯,沟通,提高走查意识和过程质量意识外,想着在流程上进行优化,更好的落实和支撑走查工作。
2. Pull Request
前一段时间,接触并了解GitHub,本来对Git有所了解,在团队这种强调合入控制和集中管理的要求下,Git跟SVN并没有本质的不同,加上大家对SVN的操作很熟悉,因此一直使用SVN。 直到我接触了GitHub的Pull Request流程后,我觉得这个PR过程,在企业内部也是强化走查的一种方式。
Pull Request是GibHub开创的一种社会化编程模式,其流程请参考以下链接
GitFlow Flow
Pull Request流程出现后,业界其他公司仿效这种模式,也推出了对应的产品,目前支持PR(Pull Reqeust)的几个主流系统有以下几个
- GitHub
- 在线版
- 占有率最高的代码托管平台Github.com, 开源系统的集中地,影响力最大,PR流程就是这个公司开创的
- 独立部署版
- 提供内网部署的企业版GitHub,45天试用,商用购买很贵,20个人1年5000刀
- 在线版
- GitLab
- 在线版
- GitHub的山寨版本,gitlab.com,开源系统
- 独立部署版
- GitLab CE版本,免费
- GitLab EE版本,收费,
- 在CE版基础上,增加LDAP等企业功能
- 在线版
- BitBucket。
- 在线版
- bitbucket.org
- 独立部署版
- 商用版本,根据用户数一次性收费,门槛低
- 在线版
3. xxx
公司代码不能在外部托管,必须内网独立部署,因业界来说GitHub口碑最好,于是瞄准了GitHub,外面没有人放出破解版,尝试自己动手搞。
3.1 安装
到https://enterprise.github.com去注册下载github企业版,github企业版使用虚拟机镜像方式发布,根据自己的情况,选择Vmware格式的OVF文件下载,配置虚拟机,IP等,按部就班来
3.2 获取试用License
注册,获取试用License
技巧:
使用.cn域名等电子邮件,等了几天都没消息
后来试着用.icloud.com邮箱,立马收到确认邮件,并成功下载到license文件
3.3 基本配置
忽略
3.4 破解过程
使用ssh登陆,摸索
github使用Ruby语言编写,这是动态语言,按理说可以直接看到源代码,直接修改即可,可实际发现所有的.rb文件,打开后是这样的
require "ruby_concealer.so"
__ruby_concealer__ "x\x9C%\x92ko\x94@\x14\x86\xCF\x00\xCB\xCC\xB2\xC0\xC2\xE2.-\xCCl\xA36QW\xFB\xA1\x17/\xA9&\xCA\xC2\x94\x8E\b\xB3\x85a{I\
明显被加密了
在网上找资料,得知这是ruby的一个工具带的加密程序,把动态脚本加密了。 不经意间找到这样的一个文章,基本了解了license的处理过程 参考文档
根据这个文档的说明,在网上(其实是github)找了一个处理代码,把所有的rb文件全部解密了
然后阅读解密后的代码,基本确定了修改的区域,多次尝试,最好完成了xxx过程
tips
如果所有的rb文件都被解密,系统启动失败,应该根据实际需要,解密部分文件
重点关注文件名包含license的文件
xxx一般有2种办法
-修改license校验机制,提供伪造license;
- 直接在license代码里写死
后者相对简单粗暴,但有效
-