zend studio 10.6 正版破解

2014-9-2 奇Yu 乱七八糟

最近换了个苹果系统。

然后 zend studio重新安装了。

但是破解的时候 找不到以前的下载文件了。

原来的作者最近网站备案。所以下载地址关闭了。

我的 ZEND STUDIO 版本是


Build ID: 10.6.1.v20140121-20140329-2132-194

本人亲测可以使用的


一、
到官方网站下载:安装完后不要启动程序先,完成以下操作再启动并注册
http://www.zend.com/en/products/studio/downloads
下载文件一定要下载 10.6版本的

破解文件对WIN MAC是通用的
二、
破解文件:安装完后把Cracked plugins jar下的这个文件覆盖到安装目录下的plugins下
com.zend.php.core_10.6.1.v20140329-2132.jar

三、
Zend Studio 10.6.1注册码:第一次启动时输入以下解码串即可
15BD3D9635621E3AD4AE0F243B9E76CCFF6383B0E254EF646FD47B1424832332148D73E944AC95FC2A22EAF9965FE00D0BBACAD80E4B73BCFD40AADBEBD606EA4C33A74AEBB140CFB189E545E351774B7A020CDBE4FD159CDFF00F3C6A08C6AAC1A4F811EDDCF59CAFD09D46C849CB780BF6EF5983D3AFC372FC2021714E6B0B



 原文让把破解文件放到安装路径下的plugins目录下替换同名文件
关键就是在这里了,windows的plugins很好找,Mac下就不那么容易了:
/Applications/ZendStudio.app/Contents/Resources/Java/plugins


ZendStudio10.6.1_cr_wishdown.zip

评论(0) 浏览(2253)

json 游览器查看工具 jsonview 谷歌和狐火插件下载

2014-9-2 奇Yu WEB开发

做网站前段开发,经常使用AJAX 难免会和JSON打交道。本人最近在做PHONEGAP 的手机APP开发,这款JSONVIEW网上又下,但是去谷歌商店貌似要翻墙了。所以放到这里下载。


jsonview for firefox

jsonview-0.5-fx.xpi.zip

jsonview for chrome

extension_0_0_32.zip

评论(0) 浏览(2314)

将单选按钮radio变成 buttion按钮样式

2014-8-26 奇Yu WEB开发

其实很简单, 就是 将单选按钮隐藏,然后使用label 显示需要的样式 

评论(0) 浏览(1755)

MAMP PRO 3.05 3.03注册码 3.06 3.07

2014-8-17 奇Yu 乱七八糟

原价:59美元 约360人民币

MAMP Pro for Mac 3.0.5介绍

我花掉59买的 现在公布序列号: SN:CB7E-F665-A199-E2E68

现在发出来了,希望百度能及时搜到我这篇日记,不要让那帮肚子赚黑心钱。

转自:http://www.douban.com/note/368451811/


3.06 3.07 注册码 mp-ded4-0a88-3a11-f9fde

本人 MAMP PRO3.03 亲测可以注册成功

评论(0) 浏览(3468)

javascript 内 RegExp exec方法和match方法的区别

2014-8-16 奇Yu WEB开发

用JS 纯正则 RegExp类



 var patt=/aaa/g;
 var obj=new RegExp("aaa","g");
创建的时候 可以用 这两种方法创建,唯一的区别在于 第二种 用NEW的方法可以在规则内使用变量,例如


var name="xaiohua";
var reg=new RegExp("aa"+xiaohua+"aa",g);
这只是我个人这么理解的。。



exec是RegExp类的匹配方法

match是字符串类的匹配方法

测试1 没有带子表达式

    var str="ab4c";

    //正则类的方法
    var reg=/ab(\d)c/;
    var res= reg.exec(str);
    console.log(res);
    //结果 ["ab4c", "4", index: 0, input: "ab4c"]

    //字符串的方法
    var res1= str.match(reg);
    console.log(res1);
    //结果 ["ab4c", "4", index: 0, input: "ab4c"]
测试2 带有子表达式.
   var str="ab3ab4";

    //正则类的方法
    var reg=/ab(\d)/;
    var res= reg.exec(str);
    console.log(res);
    //结果 ["ab3", "3", index: 0, input: "ab3ab4"]

    //字符串的方法
    var res1= str.match(reg);
    console.log(res1);
    //结果  ["ab3", "3", index: 0, input: "ab3ab4"]

两个方法的使用上,正则的是先声明表达式 然后使用exec方法 ,里面传的是字符串 字符串是使用match方法里面传的是表达式; 

在表达式后面没有加g全局的时候 其实 两种方法返回的结果都是一样的。 


但是如果加了 全局g结果就不一样了 看下面的例子

    var str="ab1cab2";
    var reg=/ab(\d)/g;
    var res=reg.exec(str);
    console.log(res);
    //结果["ab1", "1", index: 0, input: "ab1cab1"]
    var res1=str.match(reg);
    console.log(res1);
    //结果["ab1", "ab2"]



从结果内可以看出,表达式有全局g的时候字符match匹配了所有符合的,他返回的数组内是所有匹配到的整条语句,并没有包含()内的子表达式

使用正则的exec表达式加上了全局g的时候他只匹配到了一次。但是他返回的包含了括号内的子表达式;

看到网上有人说怎么使用 exec匹配所有的 网上有人说用 match先匹配然后在用循环 用exec匹配;其实大可不必,因为每次exec匹配完会指向下一个直到找不到下一个 然后返回为空,有点类似与php内的foreach循环


    var str="ab3ab4ab5ab6ab7ab8ab9";
    var reg=/ab(\d)/g;
    var res="";
   while(res= reg.exec(str)){
       console.log(res);
   }


输出的结果:

["ab3", "3", index: 0, input: "ab3ab4ab5ab6ab7ab8ab9"] test.html:13
["ab4", "4", index: 3, input: "ab3ab4ab5ab6ab7ab8ab9"] test.html:13
["ab5", "5", index: 6, input: "ab3ab4ab5ab6ab7ab8ab9"] test.html:13
["ab6", "6", index: 9, input: "ab3ab4ab5ab6ab7ab8ab9"] test.html:13
["ab7", "7", index: 12, input: "ab3ab4ab5ab6ab7ab8ab9"] test.html:13
["ab8", "8", index: 15, input: "ab3ab4ab5ab6ab7ab8ab9"] test.html:13
["ab9", "9", index: 18, input: "ab3ab4ab5ab6ab7ab8ab9"]


如果搞清楚了这些

下面的这个问题应该不难



Read the following javascript code: 

var someText="web2.0 .net2.0";
var pattern=/(\w+)(\d)\.(\d)/g;
var outCome_exec=pattern.exec(someText);
var outCome_matc=someText.match(pattern);

What is outCome_exec[1] and outCome_matc[1]? 

Choice A: true 
Choice B: false 
Choice C: null 
Choice D: Web 
Choice E: Web2.0 
Choice F: undefined
Choice G: net2.0


评论(0) 浏览(1919)

房产中介OA云办公php程序

2014-8-12 奇Yu WEB开发

之前说的中介分类信息PHP程序完成了初级功能、算是第一个版本

实现了 58同城分类信息的列表页颜色标注,详情页自动获取添加,

程序后台 权限管理,会员管理,和分类信息的业务添加编辑等管理。

QQ截图20140812132611.pngQQ截图20140812132634.pngQQ截图20140812132709.pngQQ截图20140812132716.pngQQ截图20140812132732.pngQQ截图20140812132754.pngQQ截图20140812132907.pngQQ截图20140812132900.png

标签: oa

评论(0) 浏览(2035)

jquery 将RGB颜色转成#16进制

2014-8-10 奇Yu WEB开发

//将RGB转换成#HEX
     function rgb2hex(rgb) {
         var reg=/rgb\((\d{1,3}), (\d{1,3}), (\d{1,3})\)/;
        var arr=reg.exec(rgb);
         function hex(x) {
             return ("0" + parseInt(x).toString(16)).slice(-2);
         }
         var _hex="#" + hex(arr[1]) + hex(arr[2]) + hex(arr[3]);
         return _hex.toUpperCase();
     }
网上看了很多,都是转载一个人的,正则都是错误的。。。

评论(0) 浏览(1777)

国内某物流网站 套接字 解密的反汇编代码

2014-7-30 奇Yu 系统编程

.code 
		push ebx
		push esi
		push edi
		push ebp
		add esp,-0x8h
		mov ebp,edx
		mov eax,dword ptr ss:[ebp]
		mov dword ptr ss:[esp+0x4h],eax
		mov eax,dword ptr ss:[esp+0x4h]
		test eax,eax
		je short L0048FA95
		sub eax,0x4h
		mov eax,dword ptr ds:[eax]
L0048FA95:
		mov word ptr ss:[esp],ax
		cmp word ptr ss:[esp],0x0h
		jbe L0048FB70
		movzx eax,word ptr ss:[esp]
		shr eax,01h
		mov word ptr ss:[esp],ax
		movzx edi,word ptr ss:[esp]
		test di,0dih
		jbe short L0048FB36
		mov bx,0x1h
L0048FABB:
		test bl,0x1h
		je short L0048FB06
		movzx esi,bx
		mov eax,dword ptr ss:[ebp]
		movzx eax,byte ptr ds:[eax+esi-0x1h]
		mov byte ptr ss:[esp+0x2h],al
		mov eax,ebp
		call L004056F0
		movzx edx,word ptr ss:[esp]
		movzx ecx,bx
		add edx,ecx
		mov ecx,dword ptr ss:[ebp]
		movzx edx,byte ptr ds:[ecx+edx-0x1h]
		mov byte ptr ds:[eax+esi-0x1h],dl
		mov eax,ebp
		call L004056F0
		movzx edx,word ptr ss:[esp]
		movzx ecx,bx
		add edx,ecx
		movzx ecx,byte ptr ss:[esp+0x2h]
		mov byte ptr ds:[eax+edx-0x1h],cl
		jmp short L0048FB30
L0048FB06:
		mov eax,ebp
		call L004056F0
		movzx edx,bx
		lea esi,dword ptr ds:[eax+edx-0x1h]
		mov eax,ebp
		call L004056F0
		movzx edx,word ptr ss:[esp]
		movzx ecx,bx
		add edx,ecx
		lea eax,dword ptr ds:[eax+edx-0x1h]
		movzx edx,byte ptr ds:[eax]
		xor byte ptr ds:[esi],dl
		xor byte ptr ds:[eax],0x83h
L0048FB30:
		inc ebx
		dec di
		jnz short L0048FABB
L0048FB36:
		mov eax,ebp
		call L004056F0
		mov esi,eax
		mov eax,dword ptr ss:[ebp]
		mov dword ptr ss:[esp+0x4h],eax
		mov eax,dword ptr ss:[esp+0x4h]
		test eax,eax
		je short L0048FB53
		sub eax,0x4h
		mov eax,dword ptr ds:[eax]
L0048FB53:
		mov edi,eax
		test di,0dih
		jbe short L0048FB70
L0048FB5A:
		xor byte ptr ds:[esi],0x62h
		cmp byte ptr ds:[esi],0x80h
		jbe short L0048FB67
		sub byte ptr ds:[esi],0x60h
		jmp short L0048FB6A
L0048FB67:
		add byte ptr ds:[esi],0xA0h
L0048FB6A:
		inc esi
		dec di
		jnz short L0048FB5A
L0048FB70:
		pop ecx
		pop edx
		pop ebp
		pop edi
		pop esi
		pop ebx
		retn

反编译后的代码大概是这样的可以简单的看出逻辑

char a[100];
int i=0;


for(i=0;i<a.len;i++){

    a[i]=  a[i] xor 0x62
    if(a[i]==0x80 or a[i]<0x80){
        a[i]+=0xa0;
    }else
    {
        a[i]-=0x60
    }

}


int a[]={0x9C,0x00,0x00, 0xC5,0x00,0xEC,0x02, 0x0C, 0xE8};

for(int i=0;i<8;i++){

    a[i]=  a[i] | 0x62;
    if(a[i]==0x80 || a[i]<0x80){
        a[i]+=0xa0;
    }else
    {
        a[i]-=0x60;
    }

}


评论(0) 浏览(2274)

vc控制台程序将二进制转换成UTF8

2014-7-28 奇Yu 系统编程

很久以前写的了。发现在电脑里有存档,现在黏贴在次。之前用抓包软件抓包,发现他只能转换成ANSI的所以写的

#include <stdio.h>
#include <vector>

size_t GetFileSize(FILE* fd)
{
	size_t cur_pos = ftell(fd);
	fseek(fd,0,SEEK_END);
	size_t file_size = ftell(fd);
	fseek(fd,cur_pos,SEEK_SET);
	return file_size;
}

int CharHexToInt( char c , int offset )
{
	int value = 0;

	if( c <= '9' && c >= '0'){
		value = c - 0x30;
	}else if( c <= 'f' && c >= 'a' ){
		value = 10 + (c - 'a');
	}else if( c <= 'F' && c >= 'A'){
		value = 10 + (c - 'A');
	}else
		return 0;

	value <<= (4 * offset);

	return value;
}

size_t ReSetContext( std::vector<char> &output, std::vector<char> &input)
{
	int temps = 0;
	char offset = 1;
	for( size_t i = 0; i < input.size(); ++i ){
		if( input[i] == 0x20 ){
			output.push_back((char)temps);
			temps = 0;
			continue;
		}
		temps += CharHexToInt(input[i],offset);
		offset -= 1;
		offset *= offset;
	}
	return output.size();
}

int main(int argc ,char *argv[])
{
	std::vector<char> content;
	std::vector<char> output;

	FILE *fd = fopen("./s.bin","rb");
	if(fd == NULL)
		return 0;

	FILE *fd = NULL;
	fopen_s(&fd, "./s.bin", "rb");
	if (fd == NULL)
		return 0;


	size_t size = GetFileSize(fd);
	content.resize(size,0);
	fread(&content.front(),sizeof(char),size,fd);
	
	fflush(fd);
	fclose(fd);

	ReSetContext(output,content);
	
	fd = fopen("./s.txt","a");
	if(fd == NULL)
		return 0;
	fwrite(&output.front(),sizeof(char),output.size(),fd);
	fflush(fd);
	fclose(fd);

	return 0;

}
 

评论(0) 浏览(2174)

windos扫雷用JS简单实现

2014-7-26 奇Yu WEB开发

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

</head>
<body>
<style>
    table{background-color: red;}
    tr td{width: 20px;height: 20px;background-color: yellow;}
</style>

<script type="text/javascript" src="jquery.js"></script>
<table>
<script>

    var x=9;//宽度
    var y=9;//高度
    var shu=20;//雷数
    var lei=new Array();//雷的位置
   //循环出随机雷的位置
    for(var l=0;l<shu;l++){
        var c=Math.floor(Math.random()*parseInt(String(x)+y));
        lei[l]=c;
    }


    for(var i=1;i<x;i++){
        document.write('<tr>');
        for(var s=1;s<y;s++){
            //如果这个位置是雷 显示*
            if(xunhuan(String(i) + String(s))){
                document.write('<td value="*"></td>');
            }else{
                //不是累就显示 周围的雷数
                document.write('<td value="'+leishu(i,s)+'"></td>');

            }

        }
        document.write('</tr>');


    }
    //判断一个坐标是不是雷
    function xunhuan(xy){

       if(jQuery.inArray(parseInt(xy), lei)!=-1){
           return true;
       }else{
           return false;
       }
    }
    //判断一个坐标的 上下左右的坐标
    function leishu(i,s){
        var shu=0;
        //上边
        if((i-1)>=1){
            if(xunhuan(String(i-1)+s)){
                shu+=1;
            }
        }
        //下边
        if((i+1)<y){
            if(xunhuan(String(i+1)+s)){
                shu+=1;
            }
        }
        //左边
        if((s-1)>=1){
            if(xunhuan(String(i)+(s-1))){
                shu+=1;
            }
        }
        //右边
        if((s+1)<x){
            if(xunhuan(String(i)+(s+1))){
                shu+=1;
            }
        }
        //左上
        if((i-1)>=1 && (s-1)>=1){
          if(xunhuan(String(i-1)+String(s-1))){
              shu+=1;
          }
        }
        //右上
        if((i-1)>=1 && (s+1)<x){
            if(xunhuan(String(i-1)+String(s+1))){
                shu+=1;
            }
        }
        //左下
        if((i+1)<y && (s-1)>=1){
            if(xunhuan(String(i+1)+String(s-1))){
                shu+=1;
            }
        }
        //右下
        if((i+1)<y && (s+1)<x){
            if(xunhuan(String(i+1)+String(s+1))){
                shu+=1;
            }
        }

        return shu;
    }
    $(function(){
        $("table").on("click","td", function () {
           $val=$(this).attr("value");
            if($val=='*'){
                $(this).text('雷');
            }else{
                $(this).text($val);
            }

        });
    });

</script>
</table>
</body>
</html>
扫雷.png

评论(0) 浏览(1708)

Powered by emlog 豫ICP备14014990号-1 sitemap