技术探讨
文章平均质量分 69
beijixing2003
http://t.sina.com.cn/beijixing2003
展开
-
设计一种注册验证算法模型
先废话两句,(1)这种模型不打算出DEMO,看的懂的可以自己去实现,看不懂的可以交流.(2)非常欢迎各位针对这个模型本身的应用性、安全性进行更深入的探讨!(3)没了。。。///////////////////////////////////////////////////////////////////////////////<img onmouseover="this.style.cur原创 2007-04-24 19:14:00 · 894 阅读 · 0 评论 -
利用NtUnmapViewOfSection强制卸载模块
确实可以卸载指定进程指定位置的模块,但有几个问题:[1] PEB的模块列表中还存在该模块的记录,大部分模块枚举函数都是枚举这个列表[2] 可能会出现访问异常看来RING3下是不可能做到强制卸载模块的完美实现,要进ring0才行。下面是测试代码typedef ULONG (WINAPI *PFNNtUnmapViewOfSection)( IN HANDLE ProcessHandle原创 2007-09-14 10:19:00 · 3068 阅读 · 0 评论 -
Physical Memory Viewer
读取物理内存的测试软件,暂时无法上传附件,下次补上。 利用undocumented function : NtOpenSection / NtMapViewOfSection / NiUnmapViewOfSection输入格式为16进制数据,根据4K每页边界对齐读取一页原创 2007-09-14 11:26:00 · 1093 阅读 · 2 评论 -
基数排序算法测试及性能分析
基数排序算法复杂度为O(n),在所有排序算法中是最快的,但并不是所有情况都能使用。使用基数排序的一个很重要的思想是:把关键字拆分为多个字关键字,然后依次按子关键字排序。有两种方式,主优先(0号-->(n-1)号),最次优先((n-1)号-->0号)从目标对于整数排序来看,后者比较方便,如果使用前者的话,对0号子关键字排序后还需要记录不同的子序列,每进行一次子关键字排序必定会产生一系列的字序列,结原创 2007-09-14 11:03:00 · 1716 阅读 · 1 评论 -
认识A*算法
总结以下几点(F = G + H):● A*/DFS/BFS都是对状态空间进行遍历的方法,区别在于前者通过估价函数H进行有选择的遍历。 可以这么说,当状态空间非常大的时候可以考虑用A*,只要能找到h就行● A*更新方式与DJ非常接近● A*从已访问结点中选取F最小的结点作为下一次的扩展的起点● 假设评价函数时间复杂度为f(n),设路径长度为n,那么总是时间复杂度 为O(n) * f(n)● G原创 2007-09-19 15:47:00 · 1228 阅读 · 0 评论 -
游戏寻路算法A*的实现
[测试平台] Celeron 2.4GHZ + 1G内存[演示] (1) 地图大小(size),假设地图都是正方形size (2) 障碍百分比(rate):用于设置障碍点数,障碍数=size*size*rate/100(3) 测试软件的目标是用A*算法在地图中找到最短路径(4) 图示中size = 1000的地图用了624ms,这是比较好的情况,原创 2007-09-21 13:51:00 · 2690 阅读 · 1 评论