<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[fuchuangbob的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/fuchuangbob</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fuchuangbob]]></copyright><item><title><![CDATA[RCTF2015 welpwn: 200 writeup]]></title><link>https://blog.youkuaiyun.com/fuchuangbob/article/details/51675320</link><guid>https://blog.youkuaiyun.com/fuchuangbob/article/details/51675320</guid><author>fuchuangbob</author><pubDate>Tue, 14 Jun 2016 22:50:42 +0800</pubDate><description><![CDATA[题目：http://oj.xctf.org.cn/files/welpwn_932a4428ea8d4581431502ab7e66ea4b最简单栈溢出，先read 1024字节，然后循环赋值导致栈溢出，循环到\0结束，因此需要构造ROP过掉\0限制： 
0x0040089c: pop r12 ; pop r13 ; pop r14 ; pop r15 ; ret  
‘A’*24 + p64(0x]]></description><category></category></item><item><title><![CDATA[SCTF2014/pwn400 writeup]]></title><link>https://blog.youkuaiyun.com/fuchuangbob/article/details/51649391</link><guid>https://blog.youkuaiyun.com/fuchuangbob/article/details/51649391</guid><author>fuchuangbob</author><pubDate>Sun, 12 Jun 2016 22:12:42 +0800</pubDate><description><![CDATA[SCTF2014/pwn400 writeup 
很容易找到漏洞在delete函数，delete函数的外部输入直接是个指针else if ( ptr->next )
      {
        q = ptr->next;
        p = ptr->pre;
        p->next = q;
        q->pre = p;
      }
..
free(ptr)利用双链]]></description><category></category></item><item><title><![CDATA[writeup hitcon-ctf-2014/stkof]]></title><link>https://blog.youkuaiyun.com/fuchuangbob/article/details/51649353</link><guid>https://blog.youkuaiyun.com/fuchuangbob/article/details/51649353</guid><author>fuchuangbob</author><pubDate>Sun, 12 Jun 2016 22:04:28 +0800</pubDate><description><![CDATA[writeup hitcon-ctf-2014/stkof题目： 
https://github.com/ctfs/write-ups-2014/tree/master/hitcon-ctf-2014/stkof 
漏洞分析可参考： 
http://acez.re/ctf-writeup-hitcon-ctf-2014-stkof-or-modern-heap-overflow/ 
使用pwntoo]]></description><category></category></item><item><title><![CDATA[USB自定义设备驱动模块]]></title><link>https://blog.youkuaiyun.com/fuchuangbob/article/details/6120865</link><guid>https://blog.youkuaiyun.com/fuchuangbob/article/details/6120865</guid><author>fuchuangbob</author><pubDate>Thu, 06 Jan 2011 17:26:00 +0800</pubDate><description><![CDATA[<br />/*
 * USB NUC501 driver
 * 
 * Features:
 * 
 *     When probe, URBs in the urb pool are alloced and only will be freed when disconnect.
 *     When open,  URBs are submited to usb core and re-submit in read callback function.
 *     When rele]]></description><category></category></item><item><title><![CDATA[hotplug --- netlink]]></title><link>https://blog.youkuaiyun.com/fuchuangbob/article/details/5432514</link><guid>https://blog.youkuaiyun.com/fuchuangbob/article/details/5432514</guid><author>fuchuangbob</author><pubDate>Tue, 30 Mar 2010 15:14:00 +0800</pubDate><description><![CDATA[hotplug and firmware loading with sysfs.========================================The 2.6.x Linux kernels export a device tree through sysfs, which is asynthetic filesystem generally mounted at ]]></description><category></category></item><item><title><![CDATA[VIA VT6212L 的linux移植]]></title><link>https://blog.youkuaiyun.com/fuchuangbob/article/details/5006260</link><guid>https://blog.youkuaiyun.com/fuchuangbob/article/details/5006260</guid><author>fuchuangbob</author><pubDate>Mon, 14 Dec 2009 20:34:00 +0800</pubDate><description><![CDATA[VT6212L支持EHCI与UHCI两种控制结构，该芯片linux内核自带驱动。要注意的一点是，它有一个PCICRS引脚，一般应该映射到板卡的GPIO引脚上。要使芯片正常工作，需要在此引脚上先加低电平一段时间后，再加高电平一段时间，以完成初始化。 可在linux pci初始化的代码里添加类似语句 #define USB_CONTROLLER 11  //GPIO11]]></description><category></category></item><item><title><![CDATA[C语言模仿C++多态]]></title><link>https://blog.youkuaiyun.com/fuchuangbob/article/details/4831577</link><guid>https://blog.youkuaiyun.com/fuchuangbob/article/details/4831577</guid><author>fuchuangbob</author><pubDate>Wed, 18 Nov 2009 23:08:00 +0800</pubDate><description><![CDATA[ #includevoid * ptr;/*为方便new的实现*/#define virtual//void * virtual_tab[size];typedef struct/*基类定义*/{	void * ptr;	virtual void (*print)();}Base;virtual void Base_print()/*基类虚函数实现*/{]]></description><category></category></item><item><title><![CDATA[centillium开发板的UBOOT配置]]></title><link>https://blog.youkuaiyun.com/fuchuangbob/article/details/4718401</link><guid>https://blog.youkuaiyun.com/fuchuangbob/article/details/4718401</guid><author>fuchuangbob</author><pubDate>Fri, 23 Oct 2009 14:44:00 +0800</pubDate><description><![CDATA[ 公司用centillium开发板，uboot1.1.2，cpu为mips。原来的flash版本容量为8M，需要改为16M。我第一次嵌入式的东西，对很多东西都不懂，网上看了很多UBOOT的文章，发现一般改主板配置都是到include/configs/板型.h中修改，然而centillium不是，后来我只能是从UBOOT的结构、启动过程等步步入手，最终找到并解决问题，鉴于网上基本没有相关资料，在此写]]></description><category></category></item><item><title><![CDATA[四舍五入进行精度估算小程序]]></title><link>https://blog.youkuaiyun.com/fuchuangbob/article/details/4621600</link><guid>https://blog.youkuaiyun.com/fuchuangbob/article/details/4621600</guid><author>fuchuangbob</author><pubDate>Wed, 30 Sep 2009 15:41:00 +0800</pubDate><description><![CDATA[double parse(double a,int precison)//precison表示保留小数点后位数{        double A = pow(10,(double)precison);        double B = pow(10,(double)(precison+1));	int T = (int)(a*A)*10+5;	int U = (int)(]]></description><category></category></item><item><title><![CDATA[windows下的TCP并发ECHO服务器]]></title><link>https://blog.youkuaiyun.com/fuchuangbob/article/details/4358127</link><guid>https://blog.youkuaiyun.com/fuchuangbob/article/details/4358127</guid><author>fuchuangbob</author><pubDate>Fri, 17 Jul 2009 18:38:00 +0800</pubDate><description><![CDATA[主程序：


#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;process.h&amp;gt;
#include &amp;lt;winsock.h&amp;gt;
#include &amp;lt;stdlib.h&amp;gt;
void errexit(const char * , ...);
SOCKET passivesock(const char * service, const char * ...]]></description><category></category></item><item><title><![CDATA[查找数组中是否含有任意三元素组成三角形的算法]]></title><link>https://blog.youkuaiyun.com/fuchuangbob/article/details/4157756</link><guid>https://blog.youkuaiyun.com/fuchuangbob/article/details/4157756</guid><author>fuchuangbob</author><pubDate>Thu, 07 May 2009 15:00:00 +0800</pubDate><description><![CDATA[   这是本人今天去Exoweb上机笔试的题目, 最笨最原始的办法是三重循环.      当然好的设计是必要的.    我所想的方法是分治法,先把数组以a[i]为界分成两部分,左边比a[i]小,右边比a[i]大.   接下来问题就变成了两个子问题了,左右两个子数组,再加上下面的三种情况   (i) 左面数组取一个数,右面数组取一个数,a[i]三个数判断;   (ii)左]]></description><category></category></item><item><title><![CDATA[米粒和国际象棋棋盘问题]]></title><link>https://blog.youkuaiyun.com/fuchuangbob/article/details/4157629</link><guid>https://blog.youkuaiyun.com/fuchuangbob/article/details/4157629</guid><author>fuchuangbob</author><pubDate>Thu, 07 May 2009 14:27:00 +0800</pubDate><description><![CDATA[一道Exoweb面试题,由于明天去面试,找了找以前的题,发下我的做法.问题如下：        在国际象棋的棋盘上面有 NxN个格。每个格里面有若干的米粒。一只小猪站在1x1的格里，小猪每次只能向高位的列或行移动。小猪会吃掉所经过的格子里面所有的米粒。请编写程序计算小猪能吃掉的米粒的最大值对此问题，我第一个想法就是动态归划。用M(i,j)表示i x j矩阵按照上述规则所得最大值，用]]></description><category></category></item><item><title><![CDATA[线性时间内查找第K小(大)算法]]></title><link>https://blog.youkuaiyun.com/fuchuangbob/article/details/4133671</link><guid>https://blog.youkuaiyun.com/fuchuangbob/article/details/4133671</guid><author>fuchuangbob</author><pubDate>Tue, 28 Apr 2009 17:57:00 +0800</pubDate><description><![CDATA[#include//#define swap(x,y) x=x+y;y=x-y;x=x-yvoid swap(int *a ,int * b){	int c;	c = *a;	*a = *b;	*b = c;}int partion(int a[],int p,int r){	int i,j;	for(i = p,j = p;j<r;++j)	{]]></description><category></category></item><item><title><![CDATA[全排列算法]]></title><link>https://blog.youkuaiyun.com/fuchuangbob/article/details/4130000</link><guid>https://blog.youkuaiyun.com/fuchuangbob/article/details/4130000</guid><author>fuchuangbob</author><pubDate>Mon, 27 Apr 2009 17:03:00 +0800</pubDate><description><![CDATA[设计一个递归算法生成n个元素{r1,r2,…,rn}的全排列。设R={r1,r2,…,rn}是要进行排列的n个元素，Ri=R-{ri}。集合X中元素的全排列记为perm(X)。(ri)perm(X)表示在全排列perm(X)的每一个排列前加上前缀得到的排列。R的全排列可归纳定义如下： 当n=1时，perm(R)=(r)，其中r是集合R中唯一的元素；当n>1时，perm(R)由(r1)perm(R1]]></description><category></category></item><item><title><![CDATA[大数乘法　分治法]]></title><link>https://blog.youkuaiyun.com/fuchuangbob/article/details/3220156</link><guid>https://blog.youkuaiyun.com/fuchuangbob/article/details/3220156</guid><author>fuchuangbob</author><pubDate>Tue, 04 Nov 2008 18:42:00 +0800</pubDate><description><![CDATA[#include #include #include #include #include #include #include int max(int x,int y){    return x>y?x:y;}typedef struct{    int *NumHead;    int size;}BigNumber;cons]]></description><category></category></item><item><title><![CDATA[linux下C实现线程池的源代码]]></title><link>https://blog.youkuaiyun.com/fuchuangbob/article/details/2455862</link><guid>https://blog.youkuaiyun.com/fuchuangbob/article/details/2455862</guid><author>fuchuangbob</author><pubDate>Sun, 18 May 2008 13:46:00 +0800</pubDate><description><![CDATA[ThreadPoolThreadPool头文件：/**//** * threadpool.h * * This file declares the functionality associated with * your implementation of a threadpool. * 线程池的实现 */#ifndef __threadpool_h__#define __threadpo]]></description><category></category></item><item><title><![CDATA[Huffman编解码实现文本压缩]]></title><link>https://blog.youkuaiyun.com/fuchuangbob/article/details/2260415</link><guid>https://blog.youkuaiyun.com/fuchuangbob/article/details/2260415</guid><author>fuchuangbob</author><pubDate>Tue, 08 Apr 2008 13:59:00 +0800</pubDate><description><![CDATA[ 编码方案设计：实现最基本的哈夫曼编码，对文件进行两次扫描，第一次统计概率，第二次进行编码。压缩和解压缩时分别重新建立树，重新编码，以减小压缩后文件大小。系统实现方案： typedef struct HT...{        char ch;        unsigned long weight;        struct HT *pre;        struct]]></description><category></category></item><item><title><![CDATA[利用游程编码实现二值图像压缩]]></title><link>https://blog.youkuaiyun.com/fuchuangbob/article/details/2230753</link><guid>https://blog.youkuaiyun.com/fuchuangbob/article/details/2230753</guid><author>fuchuangbob</author><pubDate>Sun, 30 Mar 2008 15:50:00 +0800</pubDate><description><![CDATA[编码方案设计：按位进行压缩，对二进制流进行超前扫描，判断是否值得压缩，如果压缩有意义，则压缩；否则保持原始数据。系统实现方案：总体思想：将图像文件以二进制方式读入缓冲区，把二进制位转制为整数，对缓冲区数据进行编码，以特定的格式(unsigned short)写入输出文件；解压缩过程反过来即可。压缩文件存储格式：以每两个字节为单位储存(即每次写入16位unsigned short类型]]></description><category></category></item></channel></rss>