Wednesday, July 22, 2009

手机键盘终于活了

又拆装了四五次
多了零件,不知道在哪儿的

反正能用了

只是外壳又被弄坏了
虽然不碍事

唔,zto和sto。。。

zto: 注入,Oracle
sto: 跨站+注入,Access

……

Monday, July 20, 2009

只能接(打)电话的手机。。。

打电话属于不靠谱的操作
接电话应该没问题
除此之外,啥都不行
开了自动锁键盘,自动锁机
于是。。。。。
只因一根管脚,一根管脚,一根管脚。。。

悲剧啊

拆了一中午的手机

唉

Tuesday, July 7, 2009

Zend Guard ... 不想折腾了

把这几天记下来的东西贴上来
懒得折腾了
太麻烦了,不靠谱
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.class
  private 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...

继续?

Thursday, July 2, 2009

zend studio 7.0 beta的keygen写出来了。。。

十多行代码的函数
分析的时间超过了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为荣的。。。