又拆装了四五次
多了零件,不知道在哪儿的
反正能用了
只是外壳又被弄坏了
虽然不碍事
Wednesday, July 22, 2009
Monday, July 20, 2009
只能接(打)电话的手机。。。
打电话属于不靠谱的操作
接电话应该没问题
除此之外,啥都不行
开了自动锁键盘,自动锁机
于是。。。。。
只因一根管脚,一根管脚,一根管脚。。。
悲剧啊
拆了一中午的手机
唉
接电话应该没问题
除此之外,啥都不行
开了自动锁键盘,自动锁机
于是。。。。。
只因一根管脚,一根管脚,一根管脚。。。
悲剧啊
拆了一中午的手机
唉
Tuesday, July 7, 2009
Zend Guard ... 不想折腾了
把这几天记下来的东西贴上来
懒得折腾了
太麻烦了,不靠谱
Java代码里没找到验证的部分
很多验证都是在调用resource下的几个程序
而这几个程序居然用OpenSSL。。。
DSA签名啊。。。
=============================================================
RegisterWizard.class:
a.n:
a.r:
所以,a.e() 返回输入的文件名
直接看 GuardLicense.class 的
// -> ZendEncoder.a().d() : .a()初始化对象,.d()是继承 ZendUtility 的 d()方法
代码如下
回来
下边的代码是处理文件存在的时候,将文件备份成***.bak文件
========================================================================================
从Java代码里很难找到验证相关的代码
看了看resources下的几个exe文件
都有license验证的提示
Ollydbg载入,看字符串参考
满眼全是 OpenSSL相关的东西
phpchina的sample license的内容,看着像是不对称加密的数据
相对而言,zendenc_sign的文件最小,内容较少
考虑调试这个东西
但是,从提示看
license的验证更像是验证证书的签名和有效性
而后的加密,貌似就是用这个分发的证书再对文件做签名
很诡异
如果真是证书的方式,那就可以不用考虑了
伪造证书、签名肯定不靠谱
懒得折腾了
太麻烦了,不靠谱
Java代码里没找到验证的部分
很多验证都是在调用resource下的几个程序
而这几个程序居然用OpenSSL。。。
DSA签名啊。。。
=============================================================
RegisterWizard.class:
String str1 = null;
if (this.a.a())
try
{
File localFile = File.createTempFile("ZGLicense", null);
localFile.deleteOnExit();
str1 = localFile.getPath();
String str2 = str1;
1 local1 = new 1(this, str2);
getContainer().run(true, true, local1);
}
catch (Exception localException)
{
CommonUIPlugin.a(localException);
return false;
}
else
str1 = this.a.e();
RegisterWizardPage1.classprivate RegisterWizardPage1 a;a.a(); -> 返回 a.n
a.n:
this.n = this.b.getSelection();a.e(); -> 返回 a.r
a.r:
this.r = str1;----->
String str1 = this.l.getText().trim();
所以,a.e() 返回输入的文件名
int i = GuardLicense.a(str1, GuardConsole.b().newOutputStream(), null);GuardConsole.b():单件模式初始化对象
直接看 GuardLicense.class 的
public static int a(String paramString, OutputStream paramOutputStream, IProgressMonitor paramIProgressMonitor)
int i2 = ZendUtility.g;// -> ZendUtility.g 一个static 的 int
String str = new File(ZendEncoder.a().d()).getParent();
// -> ZendEncoder.a().d() : .a()初始化对象,.d()是继承 ZendUtility 的 d()方法
代码如下
String str1 = GuardCorePlugin.a().getBundle().getSymbolicName();
StringBuffer localStringBuffer = new StringBuffer();
localStringBuffer.append("/resources/");
localStringBuffer.append(c());
// 这里c()返回的是 GuardEngine的文件名,Windows下加了 .exe 的扩展名 String str2 = localStringBuffer.toString();
URL localURL = FileLocator.find(Platform.getBundle(str1), new Path(str2), null);
if (localURL != null)
{
localURL = FileLocator.resolve(localURL);
String str3 = localURL.getFile();
this.b = new Path(str3).toOSString();
}
// 后边这个等着查javadoc吧回来
String str = new File(ZendEncoder.a().d()).getParent();
File localFile1 = new File(str, "zend_guard.zl");
File localFile2 = null;
File localFile3 = new File(paramString);
boolean bool = localFile1.getCanonicalPath().equals(localFile3.getCanonicalPath());
按照File的参数判断,str这个应该是取resources目录的绝对路径,或者类似的下边的代码是处理文件存在的时候,将文件备份成***.bak文件
if ((localFile1.exists()) && (!(bool)))
{
localFile2 = new File(localFile1.getAbsolutePath() + ".bak");
localFile1.renameTo(localFile2);
localFile1 = new File(str, "zend_guard.zl");
}
========================================================================================
从Java代码里很难找到验证相关的代码
看了看resources下的几个exe文件
都有license验证的提示
Ollydbg载入,看字符串参考
满眼全是 OpenSSL相关的东西
phpchina的sample license的内容,看着像是不对称加密的数据
相对而言,zendenc_sign的文件最小,内容较少
考虑调试这个东西
但是,从提示看
license的验证更像是验证证书的签名和有效性
而后的加密,貌似就是用这个分发的证书再对文件做签名
很诡异
如果真是证书的方式,那就可以不用考虑了
伪造证书、签名肯定不靠谱
Sunday, July 5, 2009
Zend Guard ?
升级了 jd-gui 到 0.2.10版,支持直接解包jar了(虽然只是简单的zip而已,但是毕竟方便了不少)
看了看老版本的license,结构貌似很复杂
继续在core下找,看到了一个 LicenseFileParser和一个LicenseFileWrite的 class文件
然后core.resource下的几个exe和dll,居然都是vc6debug模式编译的,连壳都没加
hmm...
继续?
看了看老版本的license,结构貌似很复杂
继续在core下找,看到了一个 LicenseFileParser和一个LicenseFileWrite的 class文件
然后core.resource下的几个exe和dll,居然都是vc6debug模式编译的,连壳都没加
hmm...
继续?
Thursday, July 2, 2009
zend studio 7.0 beta的keygen写出来了。。。
十多行代码的函数
分析的时间超过了5天
但是官方的key却没法通过之前根据java代码重写的验证算法
anyway,
注册成功了 :P
感谢傅奎的支持和帮助
分析的时间超过了5天
但是官方的key却没法通过之前根据java代码重写的验证算法
anyway,
注册成功了 :P
感谢傅奎的支持和帮助
Zend Studio
Professional Edition
Build ID: 20090621
Licensed to: sskaje
Expires on: Never
Copyright (c) 1998-2008 Zend Technologies Ltd. All rights reserved.
Visit http://www.zend.com
This product is based on Eclipse technology.
Visit http://www.eclipse.org
Wednesday, July 1, 2009
送走了28 。。。
团队里边唯一一个离开北京的
除去提前回家的linxinsnow,其他人基本都来了
00的sherman,01的萧剑风,02的傅奎,redhat,04的小塞,05的我,wwwjfy,也云,seer和这次fb的主角 28度的冰 以及07的大企鹅,生物学叫兽,小猴子,瞧瞧,Fipl,神的孩子
还有提前回去了的罗老师
算是ISCC史上最全的一次内部聚会了
甚至可以说是最强的。。。。
只是28将成为离开北京,为国家安全。。。。。。。。
我们会以28为荣的。。。
除去提前回家的linxinsnow,其他人基本都来了
00的sherman,01的萧剑风,02的傅奎,redhat,04的小塞,05的我,wwwjfy,也云,seer和这次fb的主角 28度的冰 以及07的大企鹅,生物学叫兽,小猴子,瞧瞧,Fipl,神的孩子
还有提前回去了的罗老师
算是ISCC史上最全的一次内部聚会了
甚至可以说是最强的。。。。
只是28将成为离开北京,为国家安全。。。。。。。。
我们会以28为荣的。。。
Subscribe to:
Posts (Atom)