Visitors hit counter dreamweaver
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 26 下一页
摘要: 最近一直在忙着写论文。突然领导又分配任务,帮写个自动提取shellcode的脚本工具。因为之前,我们都是用objdump查看后,把shellcode一个个添加进去,很麻烦,害怕写错。所以说我们写这个工具还是挺有必要的。首先我们要先了解几个用到的命令。objdump,od,dd.这几个对于提取shellcode很有用。 objdump 有点象那个快速查看之类的工具,就是以一种可阅读的格式让你更多地了解二进制文件可能带有的附加信息。这里我们讲用到-d -F 选项。-d disassemble.反汇编 那些应该还有指令机器码的section。-F fileoffset.显示文件偏移量。是为... 阅读全文
posted @ 2013-04-29 13:59 Jason Damon 阅读(4836) 评论(0) 推荐(0) 编辑
摘要: 问题描述a3 = b3 + c3 + d3 为完美立方等式。例如123 = 63 + 83 + 103 。编写一个程序,对任给的正整数N (N≤100),寻找所有的四元组(a, b, c, d),使得a3 = b3 + c3 + d3,其中1<a, b, c, d ≤N。输入数据正整数 N (N≤100)输出要求每行输出一个完美立方,按照a 的值,从小到大依次输出。当两个完美立方等式中a 的值相同,则依次按照b、c、d 进行非降升序排列输出,即b 值小的先输出、然后c 值小的先输出、然后d 值小的先输出。输入样例24输出样例162Cube = 6, Triple = (3,4,5)Cub 阅读全文
posted @ 2013-04-25 21:53 Jason Damon 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 最近一直在学习linux下shellcode的编写,迷茫了很久。因为在实践看书上例子的时候,遇到了难题。一直运行不出结果。前两天突然找出了问题的所在,原来是栈保护机制的问题。GCC编译器、Linux操作系统提供了一些机制来防止缓冲区溢出这种攻击方法对系统产生危害。在Ubuntu和其他基于Linux内核的系统中,目前都采用内存地址随机化的机制来初始化堆栈,这将会使得猜测具体的内存地址变得十分困难。具体的我们可以参考这边文章Linux下基本栈溢出攻击。把这个问题解决了之后,一切问题都迎刃而解了,当然,都还是最基本的栈溢出实验能进行了。接下来还是要继续的学习,继续的动手去做实验。最近买了本好... 阅读全文
posted @ 2013-04-25 20:07 Jason Damon 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 问题描述 有一个由按钮组成的矩阵,其中每行有6 个按钮,共5 行。每个按钮的位置上有一盏灯。当按下一个按钮后,该按钮以及周围位置(上边、下边、左边、右边)的灯都会改变一次。即,如果灯原来是点亮的,就会被熄灭;如果灯原来是熄灭的,则会被点亮。在矩阵角上的按钮改变3 盏灯的状态;在矩阵边上的按钮改变4 盏灯的状态;其他的按钮改变5 盏灯的状态。在下图8-1 中,左边矩阵中用X 标记的按钮表示被按下,右边的矩阵表示灯状态的改变。与一盏灯毗邻的多个按钮被按下时,一次操作会抵消另一次操作的结果。在图8-2 中,第2行第3、5 列的按钮都被按下,因此第2 行、第4 列的灯的状态就不改变。根据上面的规则,. 阅读全文
posted @ 2013-04-24 22:02 Jason Damon 阅读(666) 评论(0) 推荐(0) 编辑
摘要: 很多天之前都说学习关于select和poll的知识了,但是由于既要工作,又要准备论文。都忙不过来,今天终于能抽出一天的时间把select的相关知识和程序给实现了一遍。 select系统调用是用来让我们的程序监视多个文件句柄(file descriptor)的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有某一个或多个发生了状态改变。Select函数的定义:#include <sys/types.h>#include <sys/times.h>#include <sys/select.h>int select(nfds, readfds, w 阅读全文
posted @ 2013-04-18 20:34 Jason Damon 阅读(4013) 评论(0) 推荐(0) 编辑
摘要: 记得研究生面试的时候,面试老师问了这样一个问题:说说你队递归的理解。 顿时我就懵了,什么是递归。。。当时我想到了什么八皇后(好像我说得也没错呀~八皇后就是典型的递归+回溯),然后就胡说了一通。当时我导师也在那,真的感觉太丢脸了。一个科班出身的人,学了三年编程,竟然不知道怎么描述递归。~~~~(>_<)~~~~ 今天看了C语言的科学与艺术这本书上刚刚有讲递归的这章,认真再去学习学习。唯一给我安慰的一句话是:很多人要花很多年时间才能有效的运用递归。哈哈,看来我还不是很笨哈。下面就来总结下递归的知识吧。递归(Recursion) 递归是指把一个很大的问题转化成同样形式但小一些的问题加以解 阅读全文
posted @ 2013-04-16 22:53 Jason Damon 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 记得12年校赛时我们遇到的一道关于排列的问题,那个题目当时我绞尽脑汁都没想出来,当然现在还是不能写出来。但是那是我心中永远的一道坎啊。今天终于有时间再把它翻出来,彻底的把它解决掉。是一个关于排列的问题。我想了半天还是不能相出解决的办法,于是上网查了下关于字符或者数字全排列的问题,通用的解法是用递归的方法,看起来非常简单,但是能真正弄明白又没那么容易。通过百度,看到一个人提到一本书《C语言的科学与艺术》,说这本书里面有讲到关于全排列的问题。于是下了这本书。看了下,这本书还是非常好的。至少讲用递归全排列这个问题名称清楚。 于是我把它再实现一次,而且是封装好的。好让以后用到的时候直接调用吧。 ... 阅读全文
posted @ 2013-04-13 20:10 Jason Damon 阅读(701) 评论(0) 推荐(1) 编辑
摘要: Description给你一个数字N(1<=N<10000),并且N的各个位上没有0他想知道将N的每个位置上的数字全部拿出来,重新排列得到的所有数字的和是多少比如122的所有排列为:122+212+221=555Input有多组输入数据,第一行为一个数字case,代表有多少组输入数据 (case<=20)以下case行每行包含一个正整数N(1<=N<10000),N的意义如上所述Output一共case行,每行一个整数对应N的所有排列得到的数字的和Sample Input212212Sample Output55533解题思路:求一个字符串的全排列问 阅读全文
posted @ 2013-04-13 20:09 Jason Damon 阅读(573) 评论(0) 推荐(0) 编辑
摘要: 问题描述 赛利有 12 枚银币。其中有11 枚真币和1 枚假币。假币看起来和真币没有区别,但是重量不同。但赛利不知道假币比真币轻还是重。于是他向朋友借了一架天平。朋友希望赛利称三次就能找出假币并且确定假币是轻是重。例如:如果赛利用天平称两枚硬币,发现天平平衡,说明两枚都是真的。如果赛利用一枚真币与另一枚银币比较,发现它比真币轻或重,说明它是假币。经过精心安排每次的称量,赛利保证在称三次后确定假币。输入数据输入有三行,每行表示一次称量的结果。赛利事先将银币标号为A-L。每次称量的结果用三个以空格隔开的字符串表示:天平左边放置的硬币 天平右边放置的硬币 平衡状态。其中平衡状态用"up&# 阅读全文
posted @ 2013-04-13 14:13 Jason Damon 阅读(921) 评论(0) 推荐(0) 编辑
摘要: 最近看了0day和The shellcoder's handbook,对栈溢出有了些了解。并且对书上的实验也自己做了些。自己动手才真正把看到的知识变成自己的。 今天在看handbook的时候,按照书上的代码来时间操作,发现实现不聊,百思不得其解,最后自己用ollydbg分析了下,把它改了改,顺利的跑了起来,达到了自己的目的。很是高兴。凡事还是要多琢磨,多去研究,总会得到些意想不到的东西。 下面是我改的,是修改返回地址使程序不断的循环。首先要通过ollydbg查看函数return_input的返回地址为:0x00401098,然后就往数组里面填这个数。当然也要先计算好它们在内存中的位置, 阅读全文
posted @ 2013-04-10 21:07 Jason Damon 阅读(1122) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 26 下一页