Main

它它它它 Archives

人们浏览网页时的视线轨迹

人类的阅读视线变换:

The eyes most often fixated first in the upper left of the page, then hovered in that area before going left to right. Only after perusing the top portion of the page for some time did their eyes explore further down the page.

uploads/200510/25_134008_20051021054645348.jpg

网页的价值分块:

Dominant headlines most often draw the eye first upon entering the page -- especially when they are in the upper left, and most often (but not always) when in the upper right.

uploads/200510/25_134028_20051021054646286.jpg

注意:这只是,人们第一次去看某个页面的时候的视线图,如果某个人常去某个网页,他会形成自己的看法,会改变看这个网页的视线轨迹。
那时候,上面的图可能就有点不太适用了。

国际&国内crack组织

国际的crack组织

crack技术发展到如今,全世界涌现出了不少著名的破 解组织和个人,其中以Core,TMG,DAMN三个组织技术最高,在crack界声誉也是最高。下面简单介绍一下这三个组织。

Core——Chanllenge of Rever Engineering CRACK!

成立于1997年6月。创办者是eGIS和hambo。eGIS是全世界最著名的cracker(请注意后面没有“之一”),身份一直神秘。据我猜测他有可能是华人,因为他做的acdsee 2.4的注册机用的vc++5.0中文版编译。据说他曾经在1997年的时候花了3400美元买了一套正版的watcom c(仙剑奇侠传就是用这个编写的)研究。那时他大概17~18岁。eGIS做出了很多大家公认超级难度的注册机——AcdSee 3.0,WinRAR 2.8 Beta2等等,对于密码学有着深厚的研究和敏锐的嗅觉。当初,WinRAR就是被他看出来椭圆算法的实现上有个漏洞而做出来的。而AcdSee 3.0全世界据说只有他一个人做出了注册机。我还看过一篇文章,说“超级兔子”系列软件可以用eGIS作为万能注册名(就是可以随便输入注册码都可以成功)注册,不过那是1~2年前的事情了,超级兔子升级了这么多的版本,估计现在不行了,由于他的带领,Core也差不多成为了全世界cracker们的 Core(核心)了。

TMG——The Millenium Group

2000年新成立的组织。由于其中有全世界最著名的cracker——tHE EGOiSTE而名声鹊起,成为可以与core比拼的破解组织。tHE EGOiSTE也是一位优秀的密码学研究者。他做的RsaTools和DSATools在破解和研究RSA以及DSA算法上,都显示出卓越的功效。另外,TMG还做出过CloneCD的注册机,堪称绝响。以前大家认为CloneCD用的是单纯的椭圆算法,最后TMG研究出来它还用了TAE算法,并且为这两种算法都写了相应的注册机,可见起成员功力之深厚。TMG对其成员要求极度严格,一个月差不多要求写出100个注册机——也就是一天三个,够恐怖!难怪他们能够后发制人,跻身“三足”之列。

DAMN

这个组织全称就叫DAMN。该组织集中精力研究密码学,基本上所有成员都对密码学有很深的研究。Recca曾经写出过RSA1024的注册机,虽然利用了漏洞,不过功力仍然不能小看。其首领ivanopulo更加是个中高手,令人难望其项背。该组织所做的KeyGen(注册机)和Patch(程序补丁)每一个都是精品,他们从来不以发布破解的数量来赢得自己的名声,只是集中精力研究大家公认的难题,取得一个又一个辉煌的成绩,进而得到全世界的认可。

除了上述公认的三强外,破 解界还有Amok,TNT,Team Cracking组织,在此就不再赘述了。

当然,除了这些组织,还有很多独立的不加入任何组织的优秀cracker,他们坚信crack只能是一种个人的探索行为,一旦成立或者加入了什么组织,就违背了crack最初的精神。这些独行侠们只在自己感兴趣的bbs上崭露才华,而且大都身份神秘。

除了组织和个人之外,当然还需要有著名的网站和空间给他们提供一个崭露自己的舞台。全世界最著名的逆向工程技术性网站就是架在woodmann上面的Fravia,最初由cracker的开山鼻祖+ORC建立。 +ORC以其18篇“How To Crack……”奠定了其cracker中的鼻祖地位。那18篇文章就是如今读来,仍然给人启迪不小,国内著名vb和delphi研究者小楼曾坦言从中获益良多,如今还常常翻阅,温故知新。+ORC其人也是如迷如幻,现金还无人得知他是何方神圣。他自称The Red Crack,所以,很多人猜测他是苏联时期的东欧那边的人。现在Fravia的版主是+tsehp,主要是收集Fravia论坛里的精华文章,大部分都是e文,所以大家注意了,赶快去补补e文呦!经过这么多年的积累,Fravia已经可以算是博大精深了。如果你能看完Fravia里的文章,并且大部分理解,那你也差不多成了国际的一流选手了!

除了Fravia以外,还有一个经典的逆向工程技术性的网站:CrackZ’s Reverse Engineering Page,这个站点是CrackZ的个人主页,里面内容丰富,分类有加密狗,时间限制,Visual Basic,注册机源代码收集,密码学基础。很多都是CrackZ的原创精品,另外也有一部分其他人的经典作品。想进一步提高自己水平cracker们,不能不去看看这个站。不过最近由于一些没有公开的原因,CrackZ把他的网站暂时关闭了,不能访问。据估计一段时间以后才能恢复。网上有人发布过他的网站的打包,总共200多M,有兴趣的朋友不妨去收索一下。

国内的crack组织

国内的破解起步比较晚,是受台湾的Error Free,Heibow,yhq等人的破解文章影响而起步的,可是经过了十多年的发展,现在国内的破解水平已经领先台湾很多了,据我所知,宝岛上现在还有的大虾有PeterS,ken等人,他们和大陆的交流也算频繁,关系不错。

国内现在水平最高的破解组织是CCG——China Cracking Group,头儿就是大名鼎鼎的SunBird,另外核心成员还有“似曾相识”,“jojo”,“BlowFish”等,他们每一个人都拥有不逊色于国际高手的实力!每一个国内的cracker都梦想着能够通过CCG的考试,成为其正式的成员,因为那是对实力的肯定。

除了CCG,较有影响力的组织还有BCG——Beginners’ Cracking Group,它是由CCG成员CrackerABC成立的专门面向初学者的破解组织,人员众多,里面也不乏高手。很多汉化界的老大们也纷纷加入,给BCG添砖加瓦,BCG现在人丁兴旺,很有发展前途。

国内比较出名的逆向工程技术性站点就是Toye的“看雪学院”,由于看雪论坛的火暴,终于打造出了“看雪”这个crack界的金字招牌。国内每一个cracker都曾经在看雪学院汲取过营养,得到提高。那里的确是个cracker们交流。学习的地方。

为了让大家对crack有个更加感性的认识,给大家介绍一些国内破解界的名人,因为crack是个专业性很强的领域,里面的人和事大家以前都接触得少,如果想在crack上有所建树,就要以他们为榜样了。

Ljtt——当之无愧的国内第一“脱星”(软件脱壳)。对于PE文件格式,软件加壳,脱壳和系统底层技术了解非一般人能及。

Aming——国内FoxPro破解第一高人。曾写过VFP&EXE,断剑,ReFox等工具,有“VFP杀手”之称。

BlowFish——国内破解综合实力第一强,更是密码学的超人。研究生毕业,在深圳闯荡一番后,现在到北京谋求更大发展。该人对于算法,系统,网络,皆精通,编程语言从asm到java似乎还没有发现其不会者,能在win98/2000/linux/unix等各种系统下破解。

AsmBoy——国内磁盘解密高手。当KV300,瑞星等加密磁盘火热非常的时候,他已经能轻松在自己的机器上成批“生产”那些加密盘了。

zoudan——计算机系毕业。大家用的那个能显示ip的qq就是他做的,他对于qq有自己深刻的研究,俨然集hacker和cracker于一身的高人。不知道有没有看过他的《CIH病毒源代码分析》,那篇文章可是不可多得的分析教材。

高手还有很多,上面列举的只是最近比较活跃,知名度比较高的一些。还有很多前辈高手和一些隐士们,由于刻意对自己的身份加以保密,很少有人知道他们的真实身份。这里对他们的介绍就无从说起了。

解密ZEND加密后的PHP

ps:本人还没有测试过,方法仅供参考.此方法只作为学习之用,请勿作其他用途.
先下载: vld-0.8.0

下载地址 http://www.huanle.net/down/vld.php

执行

引用自
#tar -xzf vld-0.8.0.tgz //解压
#mv vld-0.8.0 vld //重命名
#cd -R vld ../php-4.3.8/ext //拷贝vld目录到php的解压目录下的ext中
#cd php-4.3.8
#rm configure //删除configure,因为下面的buildconf会重新生成新的configure
#./buildconf //如果出现错误,就按提示加上相应的参数.
#./configure --with-mysql --with-apxs2=/usr/www/bin/apxs --enable-vld 重新检查php
#make 编译
#make install 安装[/quote]服务器必须先安装ZendOptimizer
运行Zend后的文件,查看源代码就可以看到了.

方法二:
只要你有linux主機,再裝一個程序,就能瀏覽源碼了.

引用自
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#include "php.h"
#include "php_ini.h"
#include "ext/standard/info.h"
#include "php_vld.h"
#include "srm_oparray.h"

static zend_op_array* (*old_compile_file)(zend_file_handle* file_handle, int type TSRMLS_DC);
static zend_op_array* vld_compile_file(zend_file_handle*, int TSRMLS_DC);

static void (*old_execute)(zend_op_array *op_array TSRMLS_DC);
static void vld_execute(zend_op_array *op_array TSRMLS_DC);

function_entry vld_functions[] = {
{NULL, NULL, NULL}
};

zend_module_entry vld_module_entry = {
#if ZEND_MODULE_API_NO >= 20010901
STANDARD_MODULE_HEADER,
#endif
"vld",
vld_functions,
PHP_MINIT(vld),
PHP_MSHUTDOWN(vld),
PHP_RINIT(vld),
PHP_RSHUTDOWN(vld),
PHP_MINFO(vld),
#if ZEND_MODULE_API_NO >= 20010901
"0.8.0",
#endif
STANDARD_MODULE_PROPERTIES
};

#ifdef COMPILE_DL_VLD
ZEND_GET_MODULE(vld)
#endif

ZEND_BEGIN_MODULE_GLOBALS(vld)
int active;
int skip_prepend;
int skip_append;
int execute;
ZEND_END_MODULE_GLOBALS(vld)

ZEND_DECLARE_MODULE_GLOBALS(vld)

#ifdef ZTS
#define VLD_G(v) TSRMG(vld_globals_id, zend_vld_globals *, v)
#else
#define VLD_G(v) (vld_globals.v)
#endif

PHP_INI_BEGIN()
STD_PHP_INI_ENTRY("vld.active", "0", PHP_INI_SYSTEM, OnUpdateBool, active, zend_vld_globals, vld_globals)
STD_PHP_INI_ENTRY("vld.skip_prepend", "0", PHP_INI_SYSTEM, OnUpdateBool, skip_prepend, zend_vld_globals, vld_globals)
STD_PHP_INI_ENTRY("vld.skip_append", "0", PHP_INI_SYSTEM, OnUpdateBool, skip_append, zend_vld_globals, vld_globals)
STD_PHP_INI_ENTRY("vld.execute", "1", PHP_INI_SYSTEM, OnUpdateBool, execute, zend_vld_globals, vld_globals)
PHP_INI_END()

static void vld_init_globals(zend_vld_globals *vld_globals)
{
vld_globals->active = 0;
vld_globals->skip_prepend = 0;
vld_globals->skip_append = 0;
vld_globals->execute = 1;
}

PHP_MINIT_FUNCTION(vld)
{
ZEND_INIT_MODULE_GLOBALS(vld, vld_init_globals, NULL);
REGISTER_INI_ENTRIES();
old_compile_file = zend_compile_file;
old_execute = zend_execute;

return SUCCESS;
}

PHP_MSHUTDOWN_FUNCTION(vld)
{
UNREGISTER_INI_ENTRIES();

zend_compile_file = old_compile_file;
zend_execute = old_execute;

return SUCCESS;
}

PHP_RINIT_FUNCTION(vld)
{
if (VLD_G(active)) {
zend_compile_file = vld_compile_file;
if (!VLD_G(execute)) {
zend_execute = vld_execute;
}
}
return SUCCESS;
}

PHP_RSHUTDOWN_FUNCTION(vld)
{
zend_compile_file = old_compile_file;
zend_execute = old_execute;

return SUCCESS;
}

PHP_MINFO_FUNCTION(vld)
{
php_info_print_table_start();
php_info_print_table_header(2, "vld support", "enabled");
php_info_print_table_end();

}

static int vld_check_fe (zend_op_array *fe, zend_bool *have_fe TSRMLS_DC)
{
if (fe->type == ZEND_USER_FUNCTION) {
*have_fe = 1;
}

return 0;
}

static int vld_dump_fe (zend_op_array *fe TSRMLS_DC)
{
if (fe->type == ZEND_USER_FUNCTION) {
fprintf(stderr, "Function %s:
", fe->function_name);
vld_dump_oparray(fe);
fprintf(stderr, "End of function %s.

", fe->function_name);
}

return ZEND_HASH_APPLY_KEEP;
}

#ifdef ZEND_ENGINE_2
static int vld_dump_cle (zend_class_entry **class_entry TSRMLS_DC)
#else
static int vld_dump_cle (zend_class_entry *class_entry TSRMLS_DC)
#endif
{
zend_class_entry *ce;
zend_bool have_fe = 0;

#ifdef ZEND_ENGINE_2
ce = *class_entry;
#else
ce = class_entry;
#endif

if (ce->type != ZEND_INTERNAL_CLASS) {
zend_hash_apply_with_argument(&ce->function_table, (apply_func_arg_t) vld_check_fe, (void *)&have_fe TSRMLS_CC);
if (have_fe) {
fprintf(stderr, "Class %s:
", ce->name);
zend_hash_apply(&ce->function_table, (apply_func_t) vld_dump_fe TSRMLS_CC);
fprintf(stderr, "End of class %s.

", ce->name);
} else {
fprintf(stderr, "Class %s: [no user functions]
", ce->name);
}
}

return ZEND_HASH_APPLY_KEEP;
}

/* {{{ zend_op_array vld_compile_file (file_handle, type)
* This function provides a hook for compilation */
static zend_op_array *vld_compile_file(zend_file_handle *file_handle, int type TSRMLS_DC)
{
zend_op_array *op_array;

if (!VLD_G(execute) &&
((VLD_G(skip_prepend) && PG(auto_prepend_file) && PG(auto_prepend_file)[0] && PG(auto_prepend_file) == file_handle->filename) ||
(VLD_G(skip_append) && PG(auto_append_file) && PG(auto_append_file)[0] && PG(auto_append_file) == file_handle->filename)))
{
zval nop;
ZVAL_STRINGL(&nop, "RETURN ;", 8, 0);
return compile_string(&nop, "NOP" TSRMLS_CC);;
}

op_array = old_compile_file (file_handle, type TSRMLS_CC);

if (op_array) {
vld_dump_oparray (op_array);
}

zend_hash_apply (CG(function_table), (apply_func_t) vld_dump_fe TSRMLS_CC);
zend_hash_apply (CG(class_table), (apply_func_t) vld_dump_cle TSRMLS_CC);

return op_array;
}
/* }}} */

/* {{{ void vld_execute(zend_op_array *op_array TSRMLS_DC)
* This function provides a hook for execution */
static void vld_execute(zend_op_array *op_array TSRMLS_DC)
{
// nothing to do
}
/* }}} */

Click Here To Download

天黑 手电

迫切需要一个手电.
晚上出去嘘嘘,太黑了~..

看不见~.危险系数比较大.

所以,为了保证生命安全.
很快要弄一个才行..

移动硬盘

靠了,今天把XX仿睫的线借过来.
接一个也是很正常.FT~!

竟然是线的问题...

憋肚子了,我去嘘嘘....

body 标签的所有参数

text - 用以设定文字颜色
link - 设定一般文字连结颜色.
alink - 设定刚按下时文字连结颜色。
vlink - 设定连结后的颜色。
background - 设定背景图片。
bgcolor - 设定背景颜色。
leftmargin - 设定整份文件显示画面的左方边沿空间,单位为像素.(只适用于 IE)
topmargin - 设定整份文件显示画面的上方边沿空间,单位为像素.(只适用于 IE)
bgproperties="fixed" - 固定背景墙纸,当卷动文字时墙纸不会跟着卷动.(只适用于 IE)

About 它它它它

This page contains an archive of all entries posted to a one and a two in the 它它它它 category. They are listed from oldest to newest.

学习学习 is the previous category.

幸福生活 is the next category.

Many more can be found on the main index page or by looking through the archives.

Creative Commons License
This weblog is licensed under a Creative Commons License.