图形为什么会闪烁的原因是:我们的绘图过程大多放在OnDraw或者OnPaint函数中,OnDraw在进行屏幕显示时是由OnPaint进行调用的。当窗口由于任何原因需要重绘时,总是先用背景色将显示区清除,然后才调用OnPaint,而背景色往往与绘图内容反差很大,这样在短时间内背景色与显示图形的交替出现,使得显示窗口看起来在闪。如果将背景刷设置成NULL,这样无论怎样重绘图形都不会闪了。当然,这样做会使得窗口的显示乱成一团,因为重绘时没有背景色对原来绘制的图形进行清除,而又叠加上了新的图形。有的人会说,闪烁是因为绘图的速度太慢或者显示的图形太复杂造成的,其实这样说并不对,绘图的显示速度对闪烁的影响不是根本性的。

  如何实现双缓冲:在OnDraw(CDC *pDC)中:
      CDC MemDC; //首先定义一个显示设备对象
      CBitmap MemBitmap;//定义一个位图对象
      //随后建立与屏幕显示兼容的内存显示设备
      MemDC.CreateCompatibleDC(NULL);
      //这时还不能绘图,因为没有地方画 ^_^
      //下面建立一个与屏幕显示兼容的位图,至于位图的大小嘛,可以用窗口的大小
      MemBitmap.CreateCompatibleBitmap(pDC,nWidth,nHeight);
      //将位图选入到内存显示设备中
      //只有选入了位图的内存显示设备才有地方绘图,画到指定的位图上
      CBitmap *pOldBit=MemDC.SelectObject(&MemBitmap);
      //先用背景色将位图清除干净,这里我用的是白色作为背景
      //你也可以用自己应该用的颜色
      MemDC.FillSolidRect(0,0,nWidth,nHeight,RGB(255,255,255));
      //绘图
May
26

网页木马的解密

 00:11    245    0    网络安全
  脚本加密都有一个特点,就是在执行之前要把加密的数据解密出来才能执行..
  如这个网页木马:

点击在新窗口中浏览此图片

S="6f6e206572726f7220726573756d65 ……就是加了密~ document.write(D)

    这个变量D 大家都看出来了.. 就是执行的内容~   就是用变量flag_type 变量来判断脚本类型,然后以不同的方式执行变量D  ,这里就是我们的重点..既然变量D已经是解密出来的数据了那么我们只要把它导出来就可以啦。
     木马在执行前,就会把这个代码还原~,可以用一个DW中的文本域,来显示这个加密了的代码~
文本域的代码如下。

May
22

浅析缓冲区溢出的攻击和防范

 15:59    225    0    网络安全
  一、什么是缓冲区溢出

  缓冲区溢出是指当计算机程序向缓冲区内填充的数据超过了缓冲区本身的容量时,溢出的数据会覆盖合法数据,一般情况下,覆盖数据是没有什么意义的,最多就是让程序执行出错,但是如果输入的数据是攻击者精力构建的入侵程序代码,那么攻击者就能获得程序的控制权限。

  二、缓冲区溢出的攻击方式简介

1.流程控制和植入代码;

  这个攻击方式比较常见,攻击时定位在一个可供溢出的变量,然后向程序传递字符串,在引发缓冲区溢出改变Actiation records 的同时并植入恶意代码。植入代码和溢出并不一定是在同一时间完成,可以在缓冲区放置代码,然后通过溢出另一个缓冲区来迁移程序的指针。

2.在地址空间安排恶意代码;
四.netstat
命令简介:用于检查整个LINUX网络状态。
使用格式:netstat [-acCeFghilMnNoprstuvVwx][-A][--ip]
参数说明:
1.-a:显示所有连接;
2.-A:列出该网络类型连接中的IP相关地址和网络类型;
3.-c:持续列出网络状态;
4.-C:显示路由器配置信息;
5.-e:显示网络其它相关信息;
6.-F:显示FIB;
7.-g:显示多重广播功能群组组成员名单;
8.-h:帮助;
9.-i:显示网络界面信息表单;
10.-l:显示监控中的服务器socket;
11.-M:显示伪装的网络连接;
12.-n:直接使用IP地址,不通过域名服务器;
13.-N:显示网络外围设备;
14.-o:显示计时器;
15.-p:显示正在使用的socket的程序名称;
16.-r:显示Routing Table;
17.-s:显示网络工作信息统计表;
18.-t:显示TCP传输协议的连接状态;
19.-u:显示UDP传输协议的连接状态;
20.-v:显示指令执行过程;
21.-V:显示版本信息;
22.-w:显示RAW传输协议;
一.ifconfig
命令简介:用于查看和更改网络接口的地址和参数
使用格式:ifconfig -interface [option] address
参数说明:
1. -interface:指定的网络接口名,如eth0 eth1。
2.up:激活指定的网卡。
3.down:关闭指定的网卡。
4.broadcast address:设置广播地址;
5.pointopoint:启用点对点方式;
6.address:指定接口的IP地址;
7.netmask address:设置子网掩码;

二.ip
命令简介:ip是iproute2软件包中的一个强大的网络配置工具
使用格式:ip [option] object [command[arguments]]
参数说明:
1.options:修改IP行为或改变输出选项;
2.object:获取信息对像;
3.command:设置针对指定对象执行的操作;
4.arguments:命令参数,依赖于对象和命令;
分页: 3/23 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]