存档

2009年5月 的存档

关掉QQ空间

2009年5月30日 没有评论

QQ空间臃肿,花俏,不和口味,开完后一直想关掉,终于找到了个办法,从别人blog 上看见。
申请关闭QQ空间的网址:http://imgcache.qq.com/qzone/web/load_login_2.htm
点击这个链接,如果跳到http://imgcache.qq.com/images/warning.gif,那就将链接复制到地址栏再打开即可。

分类: Computer 标签: ,

让WP在前台显示发表新文章链接

2009年5月29日 没有评论

RT
发现大部分的WP主题前台都没有发表新文章的链接,只能点管理之后再点发表新文章,对我这种在线发布博文的人来说,很是不爽,今天没事,粗略看了下php,改了下,以下付更改方法。
具体找到正在用的主题的sidebar.php在其适当地方添加如下代码:

1
2
3
<?php if (is_user_logged_in()):?>
<li><a href="wp-admin/post-new.php"><?php _e('Add New Page')?></a></li>
<?php endif;?>
分类: Computer 标签:

羽毛球比赛规则(2006年版)

2009年5月29日 没有评论

RT,打球不可不知规则!!!!
国际羽联对21分制做了最后修订,并宣布新规则将从2006年2月1日起正式实施。据介绍,新规则的最大变化是取消了发球得分制,另外将所有单项的每局获胜分统一定为21分。
具体规定如下:

单打

1、每场比赛采取三局两胜制;
2、率先得到21分的一方赢得当局比赛;
3、如果双方比分打成20比20,获胜一方需超过对手2分才算取胜;
4、如果双方比分打成29比29,则率先得到第30分的一方取胜;
5、首局获胜一方在接下来的一局比赛中率先发球;
6、当一方在比赛中得到11分后,双方队员将休息1分钟;
7、两局比赛之间的休息时间为2分钟。

双打

1、改双发球权为单发球权;
2、后发球线保留,现行规则适用;
3、比赛开始前,双方通过投掷硬币方式确定由哪一方来选择是先发球或后发球。
国际羽联最新规则(21分制)双打规则改变 阅读全文…

分类: Sports 标签: , ,

BCB实现更改外部exe图标(图标来源ICO文件,支持多图片ico)

2009年5月29日 3 条评论

这是很久之前玩杂志打包工具时的副产物,这个是比较原始的一个版本,改进的版本可以支持从exe等文件中提取图标。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <classes.hpp>
#pragma   pack(push,1)
typedef struct ICONDIRENTRY
{
    BYTE bWidth;
    BYTE bHeight;
    BYTE bColorCount;
    BYTE bReserved;
    WORD wPlanes;
    WORD wBitCount;
    DWORD dwBytesInRes;
    DWORD dwImageOffset;
}ICONDIRENTRY;
 
typedef struct ICONDIR
{
    WORD idReserved;
    WORD idType;
    WORD idCount;
}ICONDIR;
typedef struct GRPICONDIRENTRY
{
    BYTE bWidth;
    BYTE bHeight;
    BYTE bColorCount;
    BYTE bReserved;
    WORD wPlanes;
    WORD wBitCount;
    DWORD dwBytesInRes;
    WORD nID;
}GRPICONDIRENTRY ;
 
typedef struct GRPICONDIR
{
    WORD idReserved;
    WORD idType;
    WORD idCount;
    GRPICONDIRENTRY idEntries[];
}GRPICONDIR ,*lGRPICONDIR;
 
#pragma   pack(pop)
AnsiString icongroupname;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include "modifyico.h"
bool CALLBACK EnumIconProc(HMODULE hModule,LPCTSTR lpszType,LPTSTR lpszName,LONG lParam)
{
    icongroupname=lpszName;
}
 
 
bool __fastcall changefileicon(AnsiString filename,AnsiString iconfile){
    HMODULE hexe=LoadLibrary(filename.c_str());
    if(NULL==hexe)return false;
    EnumResourceNames(hexe,RT_GROUP_ICON,(ENUMRESNAMEPROC)EnumIconProc,0);
    FreeLibrary(hexe);
    ICONDIR stID;
    ICONDIRENTRY stIDE;
    GRPICONDIR stGID;
    HANDLE hFile;
    DWORD  nGSize, dwReserved;
    HANDLE hUpdate;
    BOOL ret;
    hFile = CreateFile(iconfile.c_str(), GENERIC_READ, NULL, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    if (hFile == INVALID_HANDLE_VALUE)
    {
       return false;
    }
    ZeroMemory(&stID, sizeof(ICONDIR));
    ret = ReadFile(hFile, &stID, sizeof(ICONDIR), &dwReserved, NULL);
    TList *list=new TList();
    TStringList *sizelist=new TStringList();
    int i=0;
    nGSize= stID.idCount*sizeof(GRPICONDIRENTRY)+6;
    BYTE *GIcondata=new BYTE[nGSize];
    ZeroMemory(GIcondata,nGSize);
    int offset=0;
    *((WORD*)(GIcondata+offset))=0;
    offset+=2;
    *((WORD *)(GIcondata+offset))=1;
    offset+=2;
    *((WORD *)(GIcondata+offset))=stID.idCount;
    offset+=2;
    for (i = 0; i < stID.idCount; i++) {
        ZeroMemory(&stIDE, sizeof(ICONDIRENTRY));
        SetFilePointer(hFile,i*sizeof(ICONDIRENTRY)+sizeof(ICONDIR),NULL,FILE_BEGIN);
        ret = ReadFile(hFile, &stIDE,sizeof(ICONDIRENTRY), &dwReserved, NULL);
        CopyMemory(GIcondata+offset,&stIDE,12);
        *((WORD*)(GIcondata+offset+12))=0x1000+i;
        SetFilePointer(hFile, stIDE.dwImageOffset, NULL, FILE_BEGIN);
        BYTE *icondata=new BYTE[stIDE.dwBytesInRes];
        ret=ReadFile(hFile,(LPVOID)icondata, stIDE.dwBytesInRes, &dwReserved, NULL);
        if(!ret)
        {
            CloseHandle(hFile);
            list->Free();
            delete [] icondata;
            delete []GIcondata;
            sizelist->Free();
            return false;
        }
        list->Add(icondata);
        sizelist->Add(IntToStr(stIDE.dwBytesInRes));
        offset+=sizeof(GRPICONDIRENTRY);
    }
    hUpdate = BeginUpdateResource(filename.c_str(), false);
    ret = UpdateResource(hUpdate, RT_GROUP_ICON, icongroupname.c_str(), GetSystemDefaultLangID(), (LPVOID)GIcondata, nGSize);
    i=0;
    for (i = 0; i < stID.idCount; i++) {
            ret = UpdateResource(hUpdate, RT_ICON, MakeIntResource(0x1000+i), GetSystemDefaultLangID(), (LPVOID)list->Items[i], StrToInt(sizelist->Strings[i].c_str()));
    }
    EndUpdateResource(hUpdate, false);
    if (!ret)
    {
       CloseHandle(hFile);
       list->Free();
       sizelist->Free();
       delete []GIcondata;
       return false;
    }
    CloseHandle(hFile);
    list->Free();
    sizelist->Free();
    delete []GIcondata;
    return true;
}
分类: Computer 标签: , ,

FLASH吸血鬼的工作原理及Anti-vampire的几种思路

2009年5月29日 没有评论

继续补全之前blog的博文~~
FLASH吸血鬼是众多网友用来从exe可执行文件中提取swf的利器,其直接读取内存,从内存中取出swf文件。
经过分析,发现其原理还是比较简单的。

第一步。通过GetWindowThreadProcessId函数获得进程PID。为以后基本的进程内存搜索奠定基础。
第二步。通过OpenProcess打开前面获得的pid的进程对象。
第三步。通过VirtualQueryEx函数和ReadProcessMemory函数遍历进程的内存,在内存中搜索swf文件的文件头“CWS”和“FWS”。如果搜索到,则进行解密,并输出swf文件。

Anti-vampire的启示:
1、阻止吸血鬼得到窗口句柄
2、阻止吸血鬼打开程序内存
3、使swf文件不完整的存在于程序内存中
其中第一种实现后用起来很怪异,第二种强度凑合,但是如果吸血鬼采取一定的跟进措施,很容易搞定,第三种就目前来说,算是比较有效的。

分类: Computer 标签: , ,

搬家完毕~子目录绑定

2009年5月28日 2 条评论

继续折腾,换了个linux主机,感觉好多了,无论是伪静态还是php组件支持,以及子目录绑定等等。先用着试试~

分类: Computer 标签: ,

UAE 6 pre-release 2 game[stop]

2009年5月18日 47 条评论

【09.06.15更新】
收到官方email知会,uae,asv停止更新,请不要再询问下载信息~

RT,only a game
game是有规则的,此game规则如下:
1、这里提供Url action editor 6 pre-release 2原版文件。
2、提供由购买者给出的用户名和邮箱算出来的注册文件。
3、获得此版本软件和注册文件者严谨私自对外提供,或转某些不受本人欢迎的论坛,如520du。
4、需要此版本软件者,留言回复本文,留下需要的用户名及邮箱,之后会email到此邮箱。
5、来自520du者请勿回复本文,回复后也是没结果的,不用浪费彼此时间。
6、无售后服务。本game仅用于研究,请勿用于商业用途,使用软件造成一切后果自负。
7、部分本人不愿与之合作的id,本人有权选择不发送email,SO,如果长时间没收到email,也不用再次找我了。
8、一旦发现有违规则的事出现,例如私自对外提供等,本人无条件终止game。
9、本人不会每时每刻在线,但会保证每天最起码上线一次,解决之前的回复。

另:最后欢迎asv,uae,asr的正版用户免费提供原版文件(不带有注册信息)供偶分析,以搞出新的game,以飨网友~~~,此过程不会泄露正版用户的任何注册信息,不会影响其正常升级。

pic

分类: Computer 标签: , , ,

Eng, start from zero

2009年5月17日 没有评论

 再一次被自己的Eng水平打击了,看来是时候考虑好好的恶补Eng了,从零开始,本科没好好学英语的下场啊。
       算一算,在自己的study list上的东西还真不少,催化,电化学,电化学实验,Eng等等等等。。。希望自己能坚持下来吧,fire!!~

分类: Study 标签: ,