自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

BetaBin

BetaBin, a small program in the "world OS", will be executable.

  • 博客(47)
  • 资源 (22)
  • 收藏
  • 关注

原创 红黑树类算法实现

继续参考Wiki(http://zh.wikipedia.org/wiki/%E7%BA%A2%E9%BB%91%E6%A0%91),资料如下:性质红黑树是每个节点都带有颜色属性的二叉查找树,颜色为红色或黑色。在二叉查找树强制一般要求以外,对于任何有效的红黑树我们增加了如下的额外要求:性质1. 节点是红色或黑色。性质2. 根是黑色。性质3. 所有叶子

2012-04-30 21:12:57 3714

原创 Windows编程【7】小结

第七章 线程调度、优先级和关联性1、抢占式操作系统必须使用某种算法确定对何时应对哪些线程进行调度,时间又为多长。该章讲述MS的Vista使用的调度算法。2、每个线程都有一个上下文,后者保存在线程的内核对象中。这个上下文反映了线程上一次执行时CPU寄存器的状态。大概每隔20ms,Windows都会查看所有当前存在的线程内核对象。对可调度的线程,采取一定的算法选取一个,将其上次保存在线程上下文

2012-04-30 00:07:18 2715

原创 Windows核心编程【6】小结

第六章 线程基础1、每个进程至少都有一个线程。2、线程的两个组件:一个是线程的内核对象,操作系统用它管理线程;另一个是线程堆栈,用于维护线程执行时所需的所有函数参数和局部变量。3、进程是有惰性的,它从来不执行任何东西,只是一个线程的容器。4、线程只有一个内核对象和一个堆栈,几乎不涉及记录活动,不需要占用多少内存。一、何时创建线程1、线程描述了进程内部的一个执行路

2012-04-28 22:39:29 1518

原创 ~Windows核心编程【5】小结

第五章 作业1、Windows没有维护进程之间的父子关系。具体地说,即使父进程已经终止运行,子进程仍在继续运行。2、Windows提供了一个作业内核对象,允许我们将进程组合在一起并创建一个“沙箱”来限制进程能够做什么。最好将作业对象想象成一个进程容器。这样就可以对一组进程进行管理了。3、利用StartRestrictedProcess函数将一个进程放入一个作业中,以限制此进程具体能够做

2012-04-28 16:40:48 1549

原创 CrackMe破解【6】—— 入门级别

来源:http://download.csdn.net/detail/betabin/4263238特点:有小小的Anti-debug,貌似有SEH来anti,还有扫描了下所有进程。不过,貌似这作用不大……个人郁闷处:这里的MessageBoxA让我纠结了一下子。对第一个参数的理解不够透彻。MSDN(http://msdn.microsoft.com/en-us/library/windo

2012-04-28 11:00:19 1779

原创 Windows核心编程【3】小结

第三章 内核对象一、何为内核对象1、作为Windows软件开发人员,我们经常都要创建、打开和处理内核对象。系统会创建和处理几种类型的内核对象,比如访问令牌(access token)对象、事件对象、文件对象、文件映射对象、I/O完成端口对象、作业对象、mailslot对象、mutex对象、pipe对象、进程对象、semaphore对象、线程对象、waitable timer对象以及

2012-04-27 20:23:43 1215

原创 Windows核心编程【2】小结

第二章 字符和字符串处理一、字符编码1、常规C、C++语言学习中习惯单字节(8个bits,256个字符)ANSI字符编码。2、双字节字符集(double-byte character,DBCS),一个字符串中的每个字符都由1个或2个字节组成。以日本汉字为例,如果第一个字符在0x81到0x9f之间,或者在0xe0到0xfc之间,就必须检查下一个字节,才能判断出一个完整的汉字。这样

2012-04-27 11:55:56 1217

原创 Windows核心编程【1】小结

第一章 错误处理1、调用Windows函数时,它会先验证你传给它的参数,然后再开始执行任务。如果传入的参数无效,或者由于其他原因导致操作无法执行,则函数的返回值将支出函数在某个方面失败了。2、每种错误都有三种表示:一个消息ID(一个可在源代码中使用的宏,用于与GetLastError的返回值进行比较)、消息文本(描述错误的英文文本)和一个编号(应该避免使用此编号,尽量使用消

2012-04-26 20:57:49 1257

原创 【读书小结】—— Kaspersky anti-virus engine technology

(对这曾被称为神一般的杀软有很大的好奇,无奈能力有限,暂时只能看官方文章了解下。)Kaspersky anti-virus engine technology(文章就不帖资源了,直接Google就能找到了)大致介绍了三大块内容:反病毒引擎的好坏判断、卡巴反病毒的主要技术、卡巴新版本引擎5.012的新技术。开头部分,大概介绍了下反病毒引擎,就是反病毒产品的核心,一个用来发现和处理恶意代码的模

2012-04-26 15:37:27 2258

转载 驱动开发 环境搭建(VS2008+WDK+DDKWzard)

/*好文章果断要学习收藏。转载自wjcsharp王俊超的博文:http://wjcsharp.blog.51cto.com/1031016/391769*/开发驱动,首先就是搭建开发的环境。既然是开发windows下的驱动程序,那MS的开发工具是一定要的。现在vs都到2010了,所以,也不能总是抱着vs6.0写代码,也要与时俱进~当然又不能太潮流吗……所以选用vs2008开

2012-04-23 16:54:55 1579

原创 QQ电脑管家查杀引擎及AV-C3月评测看法

国内的QQ电脑管家也更新到了6.9了,多引擎多核多芯查杀,貌似是国内的特殊情况。大概是因为没有自主研发的可靠的引擎吧。QQ管家一年前的4.6版本是和趋势合作的首个重量级版本,也是开始了多核吧。当时是双核。在5.0的时候出现四核了。现在这一新版口号是“4+1”芯引擎,4是QQ电脑的云查杀、金山毒霸、小红伞以及趋势科技的引擎支持;1则是新推出的因木马损害而造成的系统文件崩溃从而实现自主修复功能。

2012-04-23 01:59:19 3542

转载 几个杀毒引擎介绍

(一整天都有点烦躁,失眠了,继续扩宽视野。)杀软的评测机构有哪些,有以下两个比较权威,VB100%和AV-C。http://www.virusbtn.com/indexhttp://www.av-comparatives.org/转载自:http://www.blogjava.net/cheneyfree/archive/2007/05/24/119680.html

2012-04-23 01:29:13 6660

原创 Back-propagation Neural Net(BP神经网络)算法实现介绍浅析

(AI还没开始学,神经网络方面的知识缺乏。故暂时不能深入了理解。)神经网络,可以理解为一个自动机,一个需要学习的自动机。先给其一些学习数据,帮助其建立一个合适的网络。然后就和自动机类似。CodeProject里(http://www.codeproject.com/Articles/13582/Back-propagation-Neural-Net)有这个BP的,不过代码下载有问题。不过网页上

2012-04-21 20:28:48 7215

原创 获取系统运行进程信息——PSAPI介绍使用

网上资料显示,有这么三种方法可以用来获取系统运行进程信息:方法平台备注PSAPIWindows NT,Windows2000,Windows XP获取进程,驱动器,模块,内存和工作集信息性能计数器Windows NT,Windows2000,Windows XP提供除进程清单以外的关于进程的更多

2012-04-21 11:58:12 7832

转载 Camel、Pastal、匈牙利标记法

/*原来我一直用的是Camel标记法……收藏学习了。转载自:http://blog.csdn.net/lxmuyu/article/details/7235240*/为了代码清晰易懂,通常变量名采用一些著名的命名规则,主要有Camel标记法,Pastal标记法和匈牙利标记法。      Camel标记法采用首字母小写,接下来的单词都以大写字母开头的方法,如m

2012-04-20 23:22:05 6546

原创 算法学习【13】—— 1443. Printer Queue

题目来源:http://soj.me/14431443. Printer QueueDescriptionThe only printer in the computer science students' union is experiencing an extremely heavy workload. Sometimes there are a hun

2012-04-20 20:55:56 1978

原创 PEB及PEB_LDR_DATA结构

PEB结构如下:(比MSDN上详细多了http://msdn.microsoft.com/en-us/library/windows/desktop/aa813706(v=vs.85).aspx)这个进程环境块就不罗嗦了,直接贴代码。typedef struct _PEB { // Size: 0x1D8/*000*/ UCHAR InheritedAddressSpace;/*001

2012-04-20 16:33:25 10039 3

原创 分析学习【2】—— 隐藏初始化

在开始调用驱动杀杀软的时候,有如下代码。前面的GetInputState,然后再PostThreadMessageA还有PeekMessageA是用来隐藏初始化,后面的CreatEventA可以用来当做互斥变量。一、关于GetInputState、PostThreadMessageA还有PeekMessageA三个函数作用,GetInputState(http://msdn.microsoft

2012-04-20 08:23:04 1878

原创 分析学习【1】—— Anti-debug分析及Snapshot学习

学着分析一个老样本的时候,发现了这个段anti-debug函数,鉴于WinSDK掌握不足,所以就慢慢分析了下。概述:1、简单分析了这个anti-debug的流程;2、介绍下用到的Win函数,其中重点是如何获取运行中进程snapshot。一、这个anti-debug非常老,如今OD的一堆插件绝对可以秒杀掉。只是简单的调用了"IsDebuggerPresent"函数,判断父进程,还有遍历所有进

2012-04-19 16:49:47 2758

转载 百度百科——病毒命名规则

/*资源来自百度百科:http://baike.baidu.com/view/920907.htm?fromTaglist*/一般格式  一般格式为:.. 。病毒前缀的含义  病毒前缀是指一个病毒的种类,他是用来区别病毒的种族分类的。不同的种类的病毒,其前缀也是不同的。比如常见的木马病毒的前缀 Trojan ,蠕虫病毒的前缀是 Worm 等等还有其他的。

2012-04-19 12:03:49 1482

转载 看雪熊猫前辈——svchost进程的浅析

/*看雪熊猫前辈讲得太棒了,故转载过来作为学习资料存放。看雪是个好论坛~~~原文链接如下:http://bbs.pediy.com/showthread.php?t=127798(仅做链接资料存放,CSDN格式复制不适合看,就当是图片预览,请移步到看雪。)*/标 题: 【原创】svchost进程的浅析作 者: 熊猫正正时 间: 2011-

2012-04-18 20:53:46 2502

原创 计数排序简单实现

(唠叨完一个电话,开始写计数排序这个简单的线性排序算法。)原理很简单,继续Wiki(http://zh.wikipedia.org/wiki/%E8%AE%A1%E6%95%B0%E6%8E%92%E5%BA%8F)之……计数排序的特征当输入的元素是 n 个 0 到 k 之间的整数时,它的运行时间是 Θ(n + k)。计数排序不是比较排序,排序的速度快于任何比较排序算法

2012-04-18 20:49:43 1295

原创 快排简单实现

没事再写下经典的快排代码,感觉顺手多了……还是比较懒,Wiki(http://zh.wikipedia.org/wiki/%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F)介绍如下:算法快速排序是一种“分而治之、各个击破”的观念。快速排序使用分治法(Divide and conquer)策略来把一个序列(lis

2012-04-18 19:47:04 4611

原创 堆排序简单实现

(算法导论排序算法部分第一个就介绍堆排序,也得复习复习。)Wiki(http://zh.wikipedia.org/wiki/%E5%A0%86%E6%8E%92%E5%BA%8F#C.E8.AF.AD.E8.A8.80)上也有介绍及代码实现,基本上都是一样的。摘录堆排序定义如下:堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时

2012-04-17 19:34:26 1274

原创 算法学习【12】—— 1155. Can I Post the lette

题目来源:http://soj.me/11551155. Can I Post the letteDescriptionI am a traveler. I want to post a letter to Merlin. But because there are so many roads I can walk through, and maybe I can’t

2012-04-13 21:55:34 2511 2

原创 算法学习【11】—— 1156. Binary tree

题目来源:http://soj.me/11561156. Binary treeDescriptionYour task is very simple: Given a binary tree, every node of which contains one upper case character (‘A’ to ‘Z’); you just need to pri

2012-04-13 21:13:29 2165

原创 算法学习【10】—— 1006. Team Rankings

题目来源:http://soj.me/10061006. Team RankingsDescriptionIt's preseason and the local newspaper wants to publish a preseason ranking of the teams in the local amateur basketball league

2012-04-13 20:45:09 2179

原创 【知识扩充】—— 360QVM和金山的KSC引擎

360在很早前打出了‘四核’杀毒的口号,当时没注意,以为是速度上的优化。今天偶然发现资料,原来是指QVM人工智能杀毒引擎、360云查杀引擎、Bitdefender反病毒引擎(现在好像还有Avira的反病毒引擎)、系统文件智能修复引擎。后面三个大概算是能理解点点,不过QVM倒是没有听说过,遂翻阅资料。原来QVM早都有了,在360网站中只从其BBS中查到了资料http://bbs.360.cn/3

2012-04-13 17:24:14 2437

原创 【读书小结】—— 基于虚拟机的启发式扫描反病毒技术

既然谈得是虚拟机的启发式扫描反病毒技术,那么就该介绍下虚拟机、启发式扫描的概念。虚拟机(VM),在反病毒界被称为通用解密器。具体做法是:用程序代码虚拟一个CPU来,同样也虚拟CPU的各个寄存器,甚至将硬件端口也虚拟出来,用调试程序调入被调的样本,将每一条语句放到虚拟环境中执行,这样就可以通过内存和寄存器以及端口的变化来了解程序的执行。这样的一个虚拟环境就是一个虚拟机。虚拟机作为原操作系统下

2012-04-13 16:42:43 3165

原创 ClamAV学习【9】——cvd文件解析及cli_untgz函数浏览

这个cli_untgz函数,是用来解压CVD文件的。那么,就刚先搞清楚CVD文件的功能作用。下了源码,我们会发现,没有前面提到的*.mdb或者*.hbd等病毒签名文件。原因就是,那些文件都是由CVD文件解压生成的,是的,CVD是个病毒签名压缩文件。(下面是daily.cvd解压后的)CVD文件,前512个bytes是一个特殊的头文件,在前面也提到过了(http://blog.csd

2012-04-13 11:05:53 4950 8

原创 VS2008无法调试,报错MSVCR90.DLL丢失

(非常之郁闷的一个下午,睡完午觉,发现早上搭好的代码没办法调试了。顿时抓狂了下,后来还是想了下早上干过什么。隐隐约约记得把一个MSVCR90.DLL拖到虚拟机去的感觉,然后还改过shared的项目属性,不过只是个预编译头开关。)——————更新,最近发现这个问题可能是由于我的VS2008出问题,有个项目包含stdlib.h就报丢失MSVCR90.DLL。——2012/04/16——

2012-04-12 22:22:33 5481

原创 ClamAV学习【8】——64位Windows7下编译运行实践

之前用SourceInsight静态分析了ClamAV引擎源码,现在打算开始动态研究下。不过出师不利,一开始就遇到纠结的问题,能力还有待提高。从官网下了一个VS2005工程的源码包(http://download.csdn.net/detail/betabin/4219529)。首先是解压后,libclamav下的phishcheck.c文件被毛豆直接干掉了,里面应该有太多钓鱼特征码吧。然

2012-04-12 10:37:41 5437 2

原创 ClamAV学习【7】——病毒库文件格式学习

搜查到一份详细的ClamAV病毒文件格式资料(http://download.csdn.net/detail/betabin/4215909),英文版,国内这资料不多的感觉。重点看了下有关PE的病毒文件格式,就是*.mdb文件。还有之前郁闷用途的*.cvd文件。就粘贴下刚刚的一点笔记:1、介绍CVD的前512bytes是其文件头,格式如下:ClamAV-VDB:build ti

2012-04-11 10:26:45 6951

原创 碎碎念【3】—— 趣味小故事

(老爸撤了,家里的事情也告一段落了。这周剩下5天,继续看ClamAV,把病毒库格式和PE查杀重点分析下,再挑3个数据结构实现下)分享下这21个小故事,作为做人做事的准则。(转载自论坛:http://topic.csdn.net/u/20110622/14/4d29480d-b854-4b93-99d9-047347f57913.html)1.甲去买烟,烟29元,但他没火柴,跟店员说:“

2012-04-10 20:22:31 2495

原创 ClamAV学习【6】—— cli_load函数浏览

(老爸回家,就放开心和他到处走,累……趁其和老妈聊天之际,再继续看代码)参数选项,加载病毒都浏览得七七八八了,这里就贴个简单的函数注释吧。哈哈。代码注释如下:int cli_load(const char *filename, struct cl_engine **engine, unsigned int *signo, unsigned int options, struct c

2012-04-07 14:54:12 2855

原创 算法学习【9】—— 1035. DNA matching

题目:http://soj.me/10351035. DNA matchingDescriptionDNA (Deoxyribonucleic acid) is founded in every living creature as the storage medium for genetic information. It is comprised of subuni

2012-04-05 09:29:41 1467

原创 ClamAV学习【5】—— cli_scanpe函数浏览

这近2000行的代码,要是没有Source Insight,都不知道怎么看下去。跟着跟着来到了PE文件查杀的地方,发现前面都中规中矩地进行PE属性检查,中间一段开始扫描每个区块,然后和特征库的size对比扫描查毒。再后面,加了对一些流行病毒的特定查杀。(这个比较晕。)代码注释如下(代码过长,可能有些人加载较慢,请耐心等待……)://传说中的PE文件查杀int cli_scanpe(i

2012-04-05 08:55:29 6047

原创 算法学习【8】——1083. Networking

题目:http://soj.me/10831083. NetworkingDescriptionYou are assigned to design network connections between certain points in a wide area. You are given a set of points in the area, and

2012-04-04 09:35:24 1780

原创 ClamAV学习【4】——cli_magic_scandesc函数浏览

今晚继续浏览ClamAV代码,挖掘到了cli_magic_scandesc函数,发现前面包装了很多次扫描函数,这里就是最后一层的感觉。一些扫描限制判断加上文件类型判断,采用不同扫描函数处理。(PS:发现这些函数个头都很大,虽然按着功能分段好理解,但是书本不是说一个函数一个功能模块么?难道是不实际,还是理解错误?)代码分析如下://magic,说明这很神奇int cli_magic

2012-04-04 00:19:39 2654

原创 Aho-Corasick算法实现类

刚刚翻Aho-Corasick算法,打算看看具体情况,发现一个有趣的网页,可以提供该算法的可视化,就先占个位置,发个链接(http://blog.ivank.net/aho-corasick-algorithm-in-as3.html),今晚有空再看看。——————终于舍得看AC了……囧。学习AC算法,首先要理解状态机(有限状态机)的概念,然后学会Trie的实现。接着,就可以更好的理解

2012-04-03 17:45:15 5432

Csdn博客备份工具

废话不多说,详情见博文http://blog.csdn.net/betabin/article/details/7669200

2012-06-17

CreakMe 入门级别 无壳

CreakMe,入门级别,偏重算法逆向,无壳,有小小的Anti-debug 博文http://blog.csdn.net/betabin/article/details/7519156有相关资源

2012-04-28

Back-propagation Neural Net(BP神经网络)算法实现

Back-propagation Neural Net(BP神经网络)算法C实现 本人博文http://blog.csdn.net/betabin/article/details/7485050会对此啰嗦下……

2012-04-21

CrackMe及注册机 入门级别

入门级别CrackMe,仅仅去除一些常用API和字符串 破文见博文http://blog.csdn.net/betabin/article/details/7470116

2012-04-17

ClamAv的病毒签名压缩包cvd

ClamAv的病毒签名压缩包cvd,不过不是最新的。

2012-04-12

各个版本的pthreadVC2.dll及dll工具

各个版本的pthreadVC2.dll及dll工具,建议使用里面的dll工具比较方便。

2012-04-12

ClamAV的VS2005工程源码

ClamAV的VS2005工程源码,可以直接编译,不过有个打包工程无法通过。 http://blog.csdn.net/betabin/article/details/7452650博文会介绍下。

2012-04-12

ClamAV病毒签名方法大全

ClamAV病毒签名方法大全,介绍了其不同格式的病毒库文件。

2012-04-11

AVL树二叉链表实现类,源码

AVL树实现源码,C++实现,二叉链表 详细点的说明在博文有:http://blog.csdn.net/betabin/article/details/7410308

2012-03-30

一款桌面小程序,玫瑰随音乐慢慢展示

一款桌面小程序 1、运行后桌面会慢慢显示出一朵朵玫瑰。直至鼠标单击或者有键盘输入。 2、同时单曲循环播放同目录下的HappyBirthdayToXiaoMin.mp3音频文件(花好月圆夜-任贤齐杨千嬅)。(如有需要,可以更改其它mp3歌曲为HappyBirthdayToXiaoMin.mp3覆盖掉此歌曲即可。) MD5值:CDEA121E1AC19BCBE40BC6BE17A762A5。

2012-03-13

入门等级CrackMe,lv1

入门等级的CrackMe,本人博文http://blog.csdn.net/betabin/article/details/7328461将会推出相应注册机代码。

2012-03-07

CrackMe及注册机,简单级别

一个CrackMe及其注册机,CrackMe难易程度属于简单级别。

2012-03-06

Python2.72适用于x86机器安装文件

如题:Python2.72适用于x86机器安装文件

2012-03-04

OllyDbg1.1官方版本

OllyDbg1.1,官方版本,貌似现在大部分人都在用这个。之前下的2.0版本“太新”。插件不能用,菜单选项更改了很多。所以推荐用这个。

2012-03-02

IDAPro中文权威说明书-使用、脚本……

IDA Pro权威说明书,貌似是官方的,中文,包括脚本等系列。

2012-03-02

CrackMe有Anti不过静态分析很容易,菜鸟级别

CrackMe有Anti不过静态分析很容易,菜鸟级别。 我的博文会出此注册机。

2012-03-01

CrackMe菜鸟级稍微设计到Anti

CrackMe,一般算法,仅仅涉及到一点Anti知识。菜鸟级别。

2012-03-01

菜鸟级CrackMe无壳

看雪CrackMe版主riijj的作品,非常菜鸟,适合新手练手。

2012-02-29

OllyDbg2.0工具

OllyDbg2.0版本。无插件。绿色装。

2012-02-28

Masm for Windows2012

如题,适用于win7下的64位。 个人感觉还是不错的。

2012-02-28

关于Jpcap库类的详细解析论文

贵州大学某博士的一篇论文,详细说明了Jpcap十多个类的架构及API,很实用。

2012-01-11

Jpcap安装包及详细安装说明文档

Jpcap安装包及超级详细的安装说明文档。

2012-01-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除