@shellex说: 对对,他们上辈子都是折翼的新奥尔良鸡翅

Pages

Topics

随便看看

路边社评论员

  • Keith:
    还能用不. »
  • deepblue:
    测试一下浏览器和系统 »
  • abettor:
    “就和CPU特权级别一样”——这的哥难道是Linus的表弟?! »
  • 董英男:
    为什么总提示确认是相册首页呢 到底哪个才是相册首页啊 »
  • kendisk:
    作为一个轻度Linuxer,刚分手后,感觉木有鸭梨。 »
  • MS IE:
    THIS SITE REALLY SUCK! »
  • Alex:
    gnome-women... »
  • liangsuilong:
    GNOME 自己也有鼓励女性参与项目的计划啊.. »
  • infinte:
    对不起,你的“解ban”版本算得有点问题,可以下(9)pp4 测试。ACID3可有95分啊……另外同... »
  • Alex:
    »
  • Randee Saadat:
    Glad you solved your problem, but what is your que... »
  • LinuxRock:
    没想到你也有一台和我一样的破机子......还好现在高三没怎么用,受不了它的发热量.. »

Posts Tagged ‘C’

初尝Linux栈溢出

利用栈缓冲区溢出的本质,就是利用程序的漏洞和缺陷,使用精心构造的输入去触发溢出,改变EIP寄存器的值,从而能够控制程序的流程。
但是EIP寄存器可不是像通用寄存器方便的,能说改就改,这可是整个程序流的根本所在。但是难改是难改,但是不代表没法改嘛。
程序在执行子过程时总是要根据过程地址通过跳转指令重新设置eip的值,原来的值则和别的状态一起暂时保存在栈中,这就给了Shellex可乘之机。
Shellex的平台:

$ uname -a
Linux shellex-laptop 2.6.27-7-generic #1 SMP Tue Nov 4 19:33:20 UTC 2008 i686 GNU/Linux

首先Shellex写了这么一个程序

#include “stdio.h”
#include “string.h”
int fun(char *str) {
char buffer[10];
strcpy(buffer,str);
printf(“%s”,buffer);
return 0;
}
int main(int argc,char *argv[]) {
int i=0;
char *str;
[...]

如何让试用版程序永不过期

[声明:本文仅供学术研究使用,涉及所有源码按照GPLv3发布,非法使用的后果由使用者自己承担,作者已经相关文章作者不负任何责任]
即使在Linux上,我们有的时候还是不得不使用一些商业收费软件。而这些软件很多只提供了有时间限制的试用版本,试用期过后还想使用的话,要么重新安装,要么去购买使用许可。
对于一个熟练的Cracker或者一个牛B的Hacker来说呢,以稍微破坏一下法律的权威的代价获得一个没有限制的版本并不算太困难。下面提供的两个方法可以在不逆向软件的前提下,在user level做到,适合我等对汇编不感冒的同学使用。
You Xu同学曾通过ptrace的方式拦截时间相关的系统调用,返回一个假的时间来使得这些试用版程序误以为自己还没有过期,从而可以达到这个永远使用该试用版本软件的目的。我先简述他的方法,然后再提供另一个方法。
现在不妨假设存在这么一个程序,以试用期的方式来限制使用。这个程序通过调用time和gettimeofday来获取时间并且加以比较:

#include
#include
#include

int main(){
time_t now;
time(&now);

struct timeval tv;
gettimeofday(&tv, NULL);

printf(“Now 1 : %s”, asctime(localtime(&now)));
printf(“Now 2 : %s”, asctime(localtime(&tv.tv_sec)));

// you can compare time here…
[...]

Rush抢答器 for Windows

在上篇《这个年代居然是VB最王道》中Shellex说不玩了,但是这怎么可能?
Shellex是多牛B的人呢,哼。于是,今天偶花了2小时35分用Windows SDK重写了:
Rush 抢答器 for Windows

wine出来的UI变形了呵呵。但是没关系,能用。说明我写的程序很标准呵呵 。
源码采用GPLv3协议发布:http://www.box.net/shared/ns9a3hqjvo
程序本身则在此下载:http://www.box.net/shared/4vvk24xyft

快速进行素数测试

SICP虽然已经拿到手很长时间了,一直是懒洋洋地看,快看到完第3章了,就是没做题。昨天遇到了有关判定素数的问题,似乎见过的,决定把前面的习题做了….我错了,:( 然后我决定以后的习题每题都要做。
好吧。在1,3节的时候有提到判断素数的方法。朴素的素数判定,地球的同学都知道的,如果数n除1以外的最小因数是他自己,那么n就是素数。

;return the smallest divisor of n
(define (smallest-divisor n)
;find a divisor(for 2 to n) of n
(define (find-divisor n test-divisor)
(cond ((< n (sqrt test-divisor)) n)
((= (remainder n test-divisor) 0) test-divisor)
[...]

Page 1 of 11