上一篇讲解了钩子程序的攻防实战,并实现了一套对框架页的监控方案,将防护作用到所有子页面。到目前为止,我们防护的深度已经差不多,但广度还有所欠缺。例如,我们的属性钩子只考虑了setAttribute,却忽视还有类似的setAttributeNode。尽管从来不用这方法,但并不意味人家不能使用。例如,创建元素通常都是createElement,事实上createElementNS同样也可以。甚至还可以利用现成的元素cloneNode,也能达到目的。因此,这些都
系统 2019-08-12 09:30:32 1940
使用JNA简单调用DLL里的函数1、在VC下创建一个动态链接库项目testJNA2、在头文件里声明函数extern"C"_declspec(dllexport)intadd(intfirst,intsecond);红色字体部分是必须的,包括定义结构体时也需要。应该是说此函数是发布的。3、在源码里实现函数intadd(intfirst,intsecond){printf("(c)testjna:%d+%d=%d",first,second,first+sec
系统 2019-08-12 09:30:24 1940
递归这东西真是抽象,我看着看着算法,就囫囵吞枣地的写了下,写得囧了···这次先用递归实现先序,中序,后序遍历算法。先大概说下原理:我输入一大串字符,中间#就是代表了空,基本的储存结构就是二叉链表。主要就是二叉树的创建和三种顺序的遍历。二叉树的创建通过从左孩子开始创建不断递归,知道读取了#,开始创建对应的右孩子,继续递归。访问的时候对于三种顺序不过就是对于操作的顺序改变而已。对于下面的程序,按照图里面的二叉树建立方式:输入ABD#G###CE##FH###就
系统 2019-08-12 09:30:11 1940
这个软件架构使用的mvc架构包括使用自身一套页面逻辑,标签类型比较简单,包括逻辑判断标签、页面赋值标签和循环list对象取值标签。在执行完页面请求返回的页面没有规定,可以是jsp,也可以是html页面,使用上一篇提到的Common对象跳转页面,方法为:common.showPage("page")方法,因为没有该框架的这部分源代码,只能大概推测,这个方法是读入页面,并将执行页面含有的逻辑标签和赋值,一个方法可以多次使用该方法,最后的执行结果是多个页面顺次显
系统 2019-08-12 09:29:58 1940
1#include2#include3#include4#include5#defineMAXN1606#defineMAXM207#defineMAXL2808usingnamespacestd;9intn,m;10boolland[MAXN][MAXM];11intput[MAXL][MAXM],cnt[MAXL],tmp[MAXM],size;12vectorG[MAX
系统 2019-08-12 09:27:41 1940
年初领导让做一个检索热词的干预,也就是将统计用户搜索热词的结果,人工的指定其在排行榜中的位置。当然这任务比较恶心,咱只是个出来混饭碗的民工,不出格的事儿也可以忍了说技术。工作流程是收集用户的搜索日志,统计每个keyword在一天之中被搜索的次数,根据每个keyword的统计历史,使用数学方差得出它近期热度的评分,然后降序排序给出结果列表。(如果做的更细致可以在计算前加入语义分析的部分,这样能更好的分析出刚刚流行的网络用语,我没有做那么深,这里暂时不表)现在
系统 2019-08-12 09:27:35 1940
AOP全称为AspectOrientedProgramming,即面向切面编程。AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。推荐两篇关于这个的博文:http://www.ibm.com/developerworks/cn/web/1212_lincy_jsaop/index.htmlhttp://www.alloyteam.com/2013/08/yong-aop-gai-sha
系统 2019-08-12 09:27:13 1940
SublimeText2常用的快捷键(不包含插件快捷键)Ctrl+P打开文件搜索框,可以直接输入文件名搜索,或者输入@funcName可以直接到函数定义处,输入#key可以直接查找,输入:行数可以直接到某行(同快捷键Ctrl+G)Ctrl+Shift+P打开命令面板,可以查找一些功能。或者输入packagecontrol可以安装删除插件。Ctrl+D选词(按住继续选择下个相同的字符串)Ctrl+M光标移动至括号内开始或结束的位置Ctrl+Shift+M选择
系统 2019-08-12 09:26:53 1940
修改中断描述符表(IDT)中的键盘入口实现按健记录,把读取到的键盘扫描码转换成ascii码记录下来。查找键盘入口采用了查询IOAPIC的重定向寄存器的方法(通过把物理地址0xFEC00000映射为虚拟地址,然后读取键盘中断向量,最难得是没有xpsp2的限制了。这是我从别处转过来的驱动源码,WindowsXPCheckedBuildEnvironment测试过。#include#include#defineMAX_CHAR
系统 2019-08-12 09:26:46 1940
进度控制:#include#include#include//记录滚动条的当前位置intg_slider_pos=0;//滚动条的回调函数参数intpos是指当前滚动条所在位置voidon_changed(intpos){//输出滚动条当前所在位置printf("g_slider_posis%d\n",g_slider_pos);}intmain(intargc
系统 2019-08-12 09:26:42 1940