Archive for June, 2009

为了写点程序在 DD-WRT (broadcom) 上跑,尝试了几种方案建立交叉编译环境,最后还是以最简单的方式满足了自己的需求。 1. 在 cygwin 里面搞交叉编译环境是很麻烦的,要下载源码自己编译,而且由于移植到 windows 平台上,往往会出现一些奇怪的小问题,不推荐。 2. 我曾经打算直接在路由器上交叉编译,不是不可以,麻烦,速度极慢,不推荐。 3. 其实我只是在 VMWare 里安装了一个 ubuntu-9.04, 然后下载编译好的 open-wrt toolchain 解压出来就可以直接编译了 http://www.dd-wrt.com/dd-wrtv2/downloads/others/sourcecode/toolchains/gcc.3.4.4-broadcom-mipsel.tar.bz2 4. 安装 MIPS 模拟器 sudo apt-get install qemu qemu-mipsel -L /home/steeven/work/dd-wrt/home/dd-wrt/whiterussian/openwrt/staging_dir_mipsel/ test 在我的 ubuntu 上 qemu-mipsel -L /home/felix/opt/openwrt/ hellofile 很多文章写得很复杂,这时候要理清楚,几个概念,编译器要运行的平台,编译器编译出来的目标文件要运行的平台。在你不熟悉交叉编译的时候很容易搞混,搞清楚以后觉得每篇文章写得都很清楚~~~。 附: 1. 给 ubuntu 安装 openssh server, ubuntu 默认安装没有 ssh server, 需要手工安装 sudo [...]

Tuesday, June 30th, 2009 at 14:38 | 0 comments
Tags:

安装rtorrent: ipkg-opt install rtorrent         完后运行rtorrent,报错说libstdc++.so.6找不到,这好办,编辑/etc/ipkg.conf,在最后加上一句: dest opt /opt         保存后运行: ipkg -d opt install libstdcpp         完成后再运行rtorrent,就能正常运行。         用rtorrent怎能没有screen?立马安装: ipkg-opt install screen         在/opt/root/下建立一个.rtorrent.rc配置文件(略),可以把/opt/etc/rtorrent.conf这个文件拷贝过来改一下就行。         运行rotrrent时先运行screen,再运行rtorrent screen rtorrent -n -o import=/opt/root/.rtorrent.rc                  进入rtorrent界面,crtl+a 再按d,这样就退出rtorrent界面,关掉终端也不会杀掉rtorrent,再次登陆时,运行 screen -r 即可调出rtorrent界面。 screen –r     ※ 以下含有 ^ 字符的代表Ctrl鍵 引用: 常用熱鍵 1. 方向鍵 : ↑,↓,←,→ 2. Torrent 開始下載 [...]

Tuesday, June 23rd, 2009 at 11:05 | 0 comments
Tags:
Wednesday, June 17th, 2009 at 16:04 | 0 comments
Tags:

  我早已过了花季,家里暂时还没有花季少年,所以我弄个护航纯粹是闹着玩。 打开界面,一股山寨风扑面而来,该公司的网站也是山寨风的,风格一致,我确信该软件系该公司产品无疑。 设置很简单,默认就 3 分钟截屏一次,简单的说就是,需要护航就必须放弃隐私,孩子也是人啊。 对护航的牛b功能早有耳闻,尝试触发过滤。 先试试文字的,搜索某经典情色小说,3章过去了,主人公“坏事”已经做过了,护航还在睡觉。 没办法,只好请日本女优出场,bikini 还不行,再来,再来… 我还没有看清女优长什么样就被过滤了,如插图。 绿坝-花季护航,果然不是闹着玩的。 ( 山寨风的GUI ) 名词解释: 山寨风:以粗糙、质地不良为主要特征的特有风格,彰显山寨文化精髓。(参考:中国风)

Wednesday, June 17th, 2009 at 14:45 | 0 comments
Categories: Uncategorized
Tags:

ebp和esp是32位的SP,BP esp是堆栈指针 ebp是基址指针 ESP与SP的关系就象AX与AL,AH的关系. 32位CPU所含有的寄存器有: 4个数据寄存器(EAX、EBX、ECX和EDX) 2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP) 6个段寄存器(ES、CS、SS、DS、FS和GS) 1个指令指针寄存器(EIP) 1个标志寄存器(EFlags) 1、数据寄存器 数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。 32位CPU有4个32位的通用寄存器EAX、EBX、ECX和EDX。对低16位数据的存取,不会影响高16位的数据。这些 低16位寄存器分别命名为:AX、BX、CX和DX,它和先前的CPU中的寄存器相一致。 4个16位寄存器又可分割成8个独立的8位寄存器(AX:AH-AL、BX:BH-BL、CX:CH-CL、DX:DH-DL),每个寄 存器都有自己的名称,可独立存取。程序员可利用数据寄存器的这种“可分可合”的特性,灵活地处理字/字 节的信息。 寄存器AX和AL通常称为累加器(Accumulator),用累加器进行的操作可能需要更少时间。累加器可用于乘、 除、输入/输出等操作,它们的使用频率很高; 寄存器BX称为基地址寄存器(Base Register)。它可作为存储器指针来使用; 寄存器CX称为计数寄存器(Count Register)。在循环和字符串操作时,要用它来控制循环次数;在位操作 中,当移多位时,要用CL来指明移位的位数; 寄存器DX称为数据寄存器(Data Register)。在进行乘、除运算时,它可作为默认的操作数参与运算,也 可用于存放I/O的端口地址。 在16位CPU中,AX、BX、CX和DX不能作为基址和变址寄存器来存放存储单元的地址,但在32位CPU中,其32位 寄存器EAX、EBX、ECX和EDX不仅可传送数据、暂存数据保存算术逻辑运算结果,而且也可作为指针寄存器, 所以,这些32位寄存器更具有通用性。 2、变址寄存器 32位CPU有2个32位通用寄存器ESI和EDI。其低16位对应先前CPU中的SI和DI,对低16位数据的存取,不影响 高16位的数据。 寄存器ESI、EDI、SI和DI称为变址寄存器(Index Register),它们主要用于存放存储单元在段内的偏移量, 用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。 变址寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。 它们可作一般的存储器指针使用。在字符串操作指令的执行过程中,对它们有特定的要求,而且还具有特 殊的功能。 3、指针寄存器 32位CPU有2个32位通用寄存器EBP和ESP。其低16位对应先前CPU中的SBP和SP,对低16位数据的存取,不影 响高16位的数据。 寄存器EBP、ESP、BP和SP称为指针寄存器(Pointer Register),主要用于存放堆栈内存储单元的偏移量, 用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。 指针寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。 它们主要用于访问堆栈内的存储单元,并且规定: BP为基指针(Base Pointer)寄存器,用它可直接存取堆栈中的数据; SP为堆栈指针(Stack Pointer)寄存器,用它只可访问栈顶。 4、段寄存器 段寄存器是根据内存分段的管理模式而设置的。内存单元的物理地址由段寄存器的值和一个偏移量组合而成 的,这样可用两个较少位数的值组合成一个可访问较大物理空间的内存地址。 [...]

Tuesday, June 16th, 2009 at 11:11 | 0 comments
Tags:

有很多文章介绍如何为 iis6 配置 ssl, 如果只是实验性的使用 ssl ,通常我们都不会去申请受信的证书,也没有这个必要。用 openssl 生成试用证书也比较繁琐。微软的 iis 6 resource kit 中附带的 selfssl 工具可以非常方便的为我们的 iis6 站点配置 ssl 访问,甚至你都不需要打开站点属性进行设置。 iis6 resource kit download http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&displaylang=en

Saturday, June 13th, 2009 at 11:37 | 0 comments
Tags:

安装 php 5 的时候选上了 mssql 扩展,服务器上安装的是 MS SQL Server 2005, 安装完成以后 fastcgi 报 error 500 server internal error, 命令行下运行 php.exe 发现错误 ntwdblib.dll was not found. ntwdblib.dll 是旧版本的 sql server 支持外部链接的 dll , 在 sql server 2005 中已经移除了,而微软发布了新的 PHP-Driver 作为替代。 SQL Server Driver for PHP http://www.microsoft.com/sqlserver/2005/en/us/PHP-Driver.aspx PHP 主页上的相关内容 http://cn.php.net/mssql

Saturday, June 13th, 2009 at 11:30 | 0 comments
Tags:

没有在Windows 7 的 GUI 上找到可以清理地址栏历史的地方,试着清除 IE 的历史,也不影响 explorer。 explorer 的地址栏历史记录在注册表 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths 清除该键下的内容即可。

Friday, June 12th, 2009 at 09:44 | 0 comments
Tags:

Explorer 崩溃重启以后 Yahoo Messenger 不知道将自己的图标重新添加到系统托盘,搞得我遇到这种情况就只能重启 YM。

Thursday, June 11th, 2009 at 14:31 | 0 comments
Categories: software
Tags:

CryptProtectData/CryptUnprotectData Windows 提供的数据加密和解密 API. The CryptProtectData function performs encryption on the data in a DATA_BLOB structure. Typically, only a user with the same logon credential as the encrypter can decrypt the data. In addition, the encryption and decryption usually must be done on the same computer. For information about exceptions, see Remarks. 错误 ERROR_FILE_NOT_FOUND(2) 发现一个软件bug, [...]

Wednesday, June 3rd, 2009 at 10:58 | 0 comments
Categories: Uncategorized
Tags: