上一页 1 ··· 42 43 44 45 46 47 48 49 50 ··· 65 下一页
摘要: [软件调试学习笔记]防止栈缓冲区溢出的基于Cookie的安全检查机制Buffer Overrun定义buffer是程序用来存储数据的连续内存区域,一旦分配完成,其起始地址和大小便固定下来。程序运行过程中,如果使用了超出buffer的区域,那么就发生了buffer overflow(缓冲区溢出)或者buffer overrun(缓冲区越界)。如果该缓冲区分配在stack上,就称之为stack buffer overrun;如果分配在heap,就称为heap overflow。stack buffer overrun会冲毁thread自身及其父线程的栈信息,我们知道在当前stack frame中, 阅读全文
posted @ 2011-10-01 15:16 Lunaa 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 分类: Erlang 2011-05-26 18:13 53人阅读 评论(0)收藏 举报稍微深入研究过一点 java 的同学,恐怕都知道什么叫做 “反编译” 。也就是说,随便拿一个 class 文件,找一个 jad 来,所有的 “智慧结晶” 就全都 “真相大白” 了,跟原先的 source code 相比,区别只是没有注释而已。对于开源软件开发者来说,这本是无所谓的事,但对于商业开发者而言,这简直就是噩梦。在 java 的世界,道高一尺魔高一丈(及其反复迭代)的结果是,这件事最终演变得比较诡异,以至于专门诞生了一个名叫 “代码混淆” 的产业。在我上一次关注的时候,这个领域的最新进展是可以 “混 阅读全文
posted @ 2011-10-01 14:36 Lunaa 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 分类: Erlang 2011-05-26 18:13 53人阅读 评论(0)收藏 举报稍微深入研究过一点 java 的同学,恐怕都知道什么叫做 “反编译” 。也就是说,随便拿一个 class 文件,找一个 jad 来,所有的 “智慧结晶” 就全都 “真相大白” 了,跟原先的 source code 相比,区别只是没有注释而已。对于开源软件开发者来说,这本是无所谓的事,但对于商业开发者而言,这简直就是噩梦。在 java 的世界,道高一尺魔高一丈(及其反复迭代)的结果是,这件事最终演变得比较诡异,以至于专门诞生了一个名叫 “代码混淆” 的产业。在我上一次关注的时候,这个领域的最新进展是可以 “混 阅读全文
posted @ 2011-10-01 14:36 Lunaa 阅读(202) 评论(0) 推荐(0) 编辑
摘要: java反编译工具jad2008-03-06 18:01http://www.kpdus.com/jad.html 官方最新版本,支持jdk1.6Java下的一个简单易用的反编译工具jad, 可以很方便的将.class反编译为.Java. 点击下载 一、基本用法 Usage:jad [option(s)] 直接输入类文件名,且支持通配符,如下所示。 c:/Java/>jad example1.class c:/Java/>jad *.class 结果是将example1.class反编译为example1.jad。将example1.jad改为example1.Java即得源文件。 阅读全文
posted @ 2011-10-01 14:32 Lunaa 阅读(221) 评论(0) 推荐(0) 编辑
摘要: java反编译工具jad2008-03-06 18:01http://www.kpdus.com/jad.html 官方最新版本,支持jdk1.6Java下的一个简单易用的反编译工具jad, 可以很方便的将.class反编译为.Java. 点击下载 一、基本用法 Usage:jad [option(s)] 直接输入类文件名,且支持通配符,如下所示。 c:/Java/>jad example1.class c:/Java/>jad *.class 结果是将example1.class反编译为example1.jad。将example1.jad改为example1.Java即得源文件。 阅读全文
posted @ 2011-10-01 14:32 Lunaa 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 初学erlang时总觉得它原本应是健壮的,但一想任何编程语言都会因为人为的失误造成崩溃,以下是在chinaerlang上看到的: 1. 耗尽atom 因为atom是不会被垃圾回收的,所以如何程序运行时生成太多的atom,(例如在无穷循环里,每次循环都调用几下 list_to_atom),atom table会被塞满,然后erlang就当掉了2。进程的耗尽 如果你spawn了太多unlink的不会终止的进程,而且这些进程你都不保存它们的Pid,这样你就失去了和这些进程的联系(和引用),这可以看成是进程泄漏,(有点像内存泄漏),随着越来越多的进程泄漏。。。,然后erlang就当掉了3。洪泛消息到一 阅读全文
posted @ 2011-10-01 14:17 Lunaa 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 初学erlang时总觉得它原本应是健壮的,但一想任何编程语言都会因为人为的失误造成崩溃,以下是在chinaerlang上看到的: 1. 耗尽atom 因为atom是不会被垃圾回收的,所以如何程序运行时生成太多的atom,(例如在无穷循环里,每次循环都调用几下 list_to_atom),atom table会被塞满,然后erlang就当掉了2。进程的耗尽 如果你spawn了太多unlink的不会终止的进程,而且这些进程你都不保存它们的Pid,这样你就失去了和这些进程的联系(和引用),这可以看成是进程泄漏,(有点像内存泄漏),随着越来越多的进程泄漏。。。,然后erlang就当掉了3。洪泛消息到一 阅读全文
posted @ 2011-10-01 14:17 Lunaa 阅读(79) 评论(0) 推荐(0) 编辑
摘要: Side-by-side assemblyFrom Wikipedia, the free encyclopediaJump to: navigation, search Side-by-side technology is a standard for executable files in Microsoft Windows XP and later versions that attempts to reduce DLL hell. Side-by-side technology is also known as WinSxS orSxS. Executables that includ 阅读全文
posted @ 2011-10-01 12:57 Lunaa 阅读(123) 评论(0) 推荐(0) 编辑
摘要: Side-by-side assemblyFrom Wikipedia, the free encyclopediaJump to: navigation, search Side-by-side technology is a standard for executable files in Microsoft Windows XP and later versions that attempts to reduce DLL hell. Side-by-side technology is also known as WinSxS orSxS. Executables that includ 阅读全文
posted @ 2011-10-01 12:57 Lunaa 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 链表查找的时间效率为O(N),二分法为log2N,B+ Tree为log2N,但Hash链表查找的时间效率为O(1)。设计高效算法往往需要使用Hash链表,常数级的查找速度是任何别的算法无法比拟的,Hash链表的构造和冲突的不同实现方法对效率当然有一定的影响,然 而Hash函数是Hash链表最核心的部分,下面是几款经典软件中使用到的字符串Hash函数实现,通过阅读这些代码,我们可以在Hash算法的执行效率、离散性、空间利用率等方面有比较深刻的了解。下面分别介绍几个经典软件中出现的字符串Hash函数。●PHP中出现的字符串Hash函数static unsigned long hashpjw(ch 阅读全文
posted @ 2011-09-30 17:24 Lunaa 阅读(413) 评论(0) 推荐(0) 编辑
上一页 1 ··· 42 43 44 45 46 47 48 49 50 ··· 65 下一页