2007年4月7日星期六

逃课

我是一个考研人,一千遍地提醒自己。。。
这是我在HIT的第三年,大三下学期。这是一个不平常的学期,因为我要考
研。虽然仅仅是要,而不是"是";但是谁能否认这是一个完美的理由,一个逃课的
完美的理由。
这一学期,我逃了一节有一节的课,甚至于我上过的课还没有逃的课多。
我一点儿也不是在炫耀,我甚至有些悲哀:我都这样了,为什么我还要考研呢?
今天是星期六,我有逃了半天的课,回来折腾mail,好在终于完成了,些
许安慰。

2007年4月3日星期二

Bufbomb可爱的缓冲区溢出

我现在在HITCS读大三,两年多了,写了很多小程序,真正的小程序。在两年
多的时间里,我经常遇到每一个前辈都犯过的错误--缓冲区溢出。每一次溢出都
是不同的,调试也是苦难的,数不清的BUG潜伏在我的程序里,我无能为力。。。
可是今天,缓冲区溢出成了我的任务@_@。CS:APP
<http://csapp.cs.cmu.edu/>的第三章的课后题3.38,给了我一个机会,第一次去
尝试有意的缓冲区溢出,全新的挑战啊!

getbuf的代码摘要如下:

int getbuf()

{

char buf[12];

getxs(buf);

return 1;

}

:-) objdump -d a.out

080484ae <getbuf>:
80484ae: 55 push %ebp
80484af: 89 e5 mov %esp,%ebp
80484b1: 83 ec 18 sub $0x18,%esp
80484b4: 8d 45 f4 lea 0xfffffff4(%ebp),%eax
80484b7: 89 04 24 mov %eax,(%esp)
80484ba: e8 25 ff ff ff call 80483e4 <getxs>
80484bf: b8 01 00 00 00 mov $0x1,%eax
80484c4: c9 leave
80484c5: c3 ret
分析getbuf的栈帧结构:

返回地址.1
%ebp.1


%eax ;buf首地址

返回地址.2
%ebp.2

可以看到,我们的输入必须在%eax往上(地址增加)的栈上,我们的功能代码应该是

*mov $0xdeadbeef, %eax*

*push $ip(返回地址1)*

* ret
最后为了保护%ebp.1和跳转到%eax执行代码
我们的输入应该是这样的形式
功能代码的机器码 00(填充12字节的剩余部分) %ebp %eax的地址
*

2007年3月30日星期五

四月是收获的季节?

    在我的印象了,四月绝对不是一个收获的季节。然而,2007年的四月,却实实在在的是一个收获的季节。在这个四月里,开源社区将会迎来很多喜讯,我们相信 可以收获很多:KDE4fedora7ubuntu还有我最最关心的Debian etch都会在这个四月和我们 见面。每一个软件都会有许多令人兴奋的新特性,我有些迫不及待了。。。
    This April,I will go back to my study after three years ago I left .I will do my best so that the next April will be a harvest season for me!I believe...
    God bless me!
Amen 阿弥陀佛 安拉赞美我
@_@...

2007年3月28日星期三

本欲乘风归去

国内的网络条件一直都不是很好,我在教育网,很难顺畅地访问blogger。有个同学,不是熟识,不过他的系统还是很不错,我
身边有好多的同学都在使用;我寒假前注册了一个帐号,发了一个短文,在网站里
里外外逛了一大圈,确实不错:功能很多,给我们用户的权限也很大,使着确实挺
爽。唯一的难处,太难折腾了,有些麻烦。说来很奇怪,我不怕折腾,但是偏偏不
喜欢网络上的折腾:我是个急性子,懒得等。。。放假回来以后,就没有怎么去
看;今天突然想起来了,一去看,OMG,居然有19个回复,我高兴坏了,心想这人
气真NB啊!一点击,我崩溃了,基本都是广告,多数还是国外的,郁闷。。。
我不想折腾密码啥的,还是回来用blogger吧,慢点儿我也忍了。另外一个blog不打算用了,
id实在是难听,我自己怎 么能想这么个名字呢?纳闷儿。。。

[Fwd: [Fwd: 本欲乘风归去]]