首页
社区
课程
招聘
[旧帖] [原创]以前无聊时写的简单硬盘锁 0.00雪花
发表于: 2010-10-25 19:39 1140

[旧帖] [原创]以前无聊时写的简单硬盘锁 0.00雪花

2010-10-25 19:39
1140
看了《数据重现》这本书,就自己动手学了个简单的硬盘锁玩,源代码丢了,只有这个人人上发的这篇文章了
将MBR备份到第52号扇区

主程序放在了第53号扇区

重写MBR,保留分区表

MBR中代码如下

mov   ax,0         

mov   es,ax         ;设置ES为0

mov   ax,0201h   ;读入一个扇区

mov   bx,0200h   ;读到 es:bx处(0000:2000)

mov   cx,0035h   ;要读的扇区号为53

mov   dx,0080h   ;要读的磁头号为0,读第一硬盘

int    13h             ;执行13号中断

jmp  0000:0200   ;跳转到0000:2000处

53号扇区中代码如下(未编译时)

org 200h      ;加载到0:200处
mov ax,cs
mov es,ax
mov ds,ax ;初始化

mov ax,tishi
mov bp,ax
mov cx,22
mov ax,1301h
mov bx,000ah
mov dl,0 ;显示提示信息
int 10h   ;执行中断

mov ax,0b800h
mov es,ax    ;初始化显存

kaishi:
mov ax,jilu
mov di,ax
mov cx,0     ;初始化指针,记录数据

doh:
mov ah,0
int 16h       ;读取键盘
cmp al,0dh ;检测是否为回车
jz jiance     ;是则跳转

inc cx
cmp cx,8   ;检测密码超长
ja doh
mov [ds:di],al    ;储存输入密码
inc di
jmp doh  ;继续输入

tishi:   db 'please press password!'   数据
mima:  db 'xxxxxxxx'
jilu:  db '00000000'

jiance:

cmp cx,8    ;检测密码长度
jnz kaishi
mov ax,mima
mov di,ax   ;初始化指针
doj:        ;循环比较
mov al,[ds:di]
cmp [ds:di+8],al
jnz kaishi     ;不等于就重新开始
inc di
loop doj

mov ax,0     
mov es,ax    ;同MBR
mov ax,0201h
mov bx,7c00h
mov cx,0034h
mov dx,0080h
int 13h
jmp 0000:7c00h  ;跳转0000:7c00处,系统正式启动

说实话,好像这个也没啥技术含量。也是很多东西都没处理,不过硬盘读写还是不错的。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
楼主,看了你几篇的文章,你啥就都说没技术含量。让我这新手瞪着眼。向楼主学习。
2010-10-25 22:53
0
游客
登录 | 注册 方可回帖
返回
//