青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

socketref,再見(jiàn)!高德

https://github.com/adoggie

  C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
  246 Posts :: 4 Stories :: 312 Comments :: 0 Trackbacks

常用鏈接

留言簿(54)

我參與的團(tuán)隊(duì)

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

  
硬盤(pán)鎖 HDD3.EXE

   程序:   zbin    
1997-04-01  上海市經(jīng)濟(jì)管理學(xué)院
    
    曾有許多人抱怨自己工作的PC由于他人非法的使用,而導(dǎo)致工作文件丟失損壞,或者操作系統(tǒng)損壞,所以諸多人采用CMOS 加密的方法,但只有高版本的BIOS才具此功能,況且在CMOS放電之后此功能失效,故行之有效的方法就是對(duì)硬盤(pán)進(jìn)行加密.
    本人采用重寫(xiě)硬盤(pán)主引導(dǎo)扇區(qū)的方法,隱藏硬盤(pán)分區(qū)表,接管INT 13H,徹底實(shí)現(xiàn)只能從硬盤(pán)啟動(dòng),拒絕啟動(dòng)軟盤(pán)訪問(wèn)硬盤(pán)的功能.
    首先闡述一下PC啟動(dòng)的步驟:
    
1. PC 加電BIOS 自舉,將硬盤(pán)物理第一扇區(qū)(主引導(dǎo)扇區(qū))讀至 0000:7C00H , 檢測(cè)引導(dǎo)扇區(qū)的標(biāo)志55H AAH ,程序 IP 跳至 7C00H
    
2. 主引導(dǎo)扇區(qū)得到控制權(quán),引導(dǎo)程序檢測(cè)分區(qū)表是否非法,取得可啟動(dòng)分區(qū)的系統(tǒng)引導(dǎo)扇區(qū)的位置,調(diào)用INT 13H 將系統(tǒng)引導(dǎo)扇區(qū)(諸如 DOS 系統(tǒng))讀到0000:7C00H,IP 跳至7C00H.
    
3.系統(tǒng)(DOS)開(kāi)始啟動(dòng),讀IO.SYS,MSDOS.SYS,CONFIG.SYS,AUTOEXEC.BAT,       完成一系列啟動(dòng)工作.
本人程序主要思路如下:
1.    將原有主引導(dǎo)扇區(qū)WRITE 至 0磁頭0道13H扇,將漢字的字模WRITE至0磁頭0道21H之后的三個(gè)扇區(qū)
  
2.  改寫(xiě)原有主引導(dǎo)扇區(qū)
     使啟動(dòng)軟盤(pán)不可訪問(wèn)硬盤(pán)

  

  
本程序的特點(diǎn)是在操作系統(tǒng)啟動(dòng)之前,
利用BIOS 10H AH
=11H 的子功能,將漢字顯示在
屏幕上,所以事先應(yīng)取得所要顯示漢字的字模
,將二進(jìn)制字模轉(zhuǎn)換成能插入?yún)R編程序,且
能被MASM.EXE編譯的數(shù)據(jù)(CPP,PROMPT1
之后的數(shù)據(jù))



     ;        ;
97'     張斌
     code segment
     assume cs:code,ds:code,es:code       ; 程序同段
    
 first:
               mov ax,ds
               mov old_ds,ax
               mov ch,
0
               mov cl,
byte ptr es:[80h]
               cmp cx,
0
               jne xxx
               jmp begin
    xxx:       mov si,81h
    loop1:      lodsb
               cmp al,
'#'
                  je m1
                  loop loop1
                  jmp begin
         m1:
                  lodsb
                  cmp al,
'u'
                  jne t1

         t2:
                     mov ax,cs
                     mov es,ax
                     mov ax,201h
                     mov bx,offset buf
                     mov cx,13h
                     mov dx,80h
                     
int 13h
                     cmp 
byte ptr es:[buf+1fdh],'B'        ;
                     je t3
                  
                      mov ax,cs
                      mov ds,ax
                      lea dx,msg3
                      mov ah,
9
                      
int 21h
                      jmp exit

         t3:          
                     mov 
byte ptr es:[buf+1fdh],0
                     mov ax,cs
                     mov es,ax
                     mov ax,301h     
                     mov bx,offset buf
                     mov cx,01h
                     mov dx,80h
                     
int 13h
                     mov ax,301h
                     mov bx,offset buf
                     mov dx,80h
                     mov cx,13h
                     
int 13h
                     mov ax,cs
                     mov ds,ax
                     lea dx,msg4
                     mov ah,
9
                     
int 21h
                     jmp exit
                      
          t1:         cmp al,
'U'
                     je t2
               ;
**********************
                     push ax
                   mov ax,cs
                   mov es,ax
                   mov bx,offset buf
                   mov ax,201h
                   mov cx,21h
                   mov dx,80h
                   
int 13h
                   pop ax
                   mov di, offset buf
+226
                   mov word ptr cs:[buf
+224],0
                   cmp al,
'p'
                   jne p1

       p2:         lodsb
                   cmp al,0dh
                   je p3
                   stosb
                   inc word ptr cs:[buf
+224]
                   jmp p2

         p3:       
                    mov ax,cs
                    push ax
                    pop es
                   mov ax,0301h
                mov bx,offset buf
                mov cx,21h
                mov dx,80h
                
int 13h
                jmp exit

      p1:       cmp al,
'P'
                je p2  
      begin:      
                mov ax,code
                mov ds,ax
                mov es,ax
                jmp second                    ; 以上為程序拾取命令行參數(shù)
;
**************************  程序說(shuō)明
cpp  db  008h,01dh,0f1h,011h,011h,0fdh,011h,038h,035h,054h,050h,091h,010h,010h,017h,010h
 db  004h,0feh,004h,004h,004h,0fch,004h,000h,0fch,020h,020h,0fch,020h,020h,0feh
 db  000h,001h,000h,03fh,020h,02fh,020h,021h,020h,02fh,020h,020h,020h,040h,040h
 db  082h,001h,000h,088h,0fch,000h,0f8h,020h,040h,080h,0fch,088h,090h,080h,080h
 db  080h,080h,000h,000h,000h,000h,000h,018h,018h,000h,000h,000h,018h,018h,000h
 db  000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
 db  000h,000h,000h,000h,000h,000h,000h,0feh,0c6h,086h,00ch,018h,030h,060h,0c2h
 db  0c6h,0feh,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
 db  000h,018h,018h,000h,000h,000h,000h,000h,000h,0fch,066h,066h,066h,07ch,066h
 db  066h,066h,066h,0fch,000h,000h,000h,000h,000h,000h,018h,018h,000h,038h,018h
 db  018h,018h,018h,018h,03ch,000h,000h,000h,000h,000h,000h,000h,000h,000h,0dch
 db  066h,066h,066h,066h,066h,066h,000h,000h,000h,000h,000h,000h,000h,000h,000h
 db  000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h
 db  000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,03ch
 db  066h,0c2h,0c0h,0c0h,0c0h,0c0h,0c2h,066h,03ch,000h,000h,000h,000h,02eh,057h
 db  0cfh,06dh,0c5h,07eh,0feh,0eeh,0d7h,0ceh,0efh,07dh,0a2h,068h,08eh,047h,07dh
 db  03dh,023h,018h,083h,0ffh,0eeh,0f7h,0eeh,07eh,077h,0fch,066h,061h,0f3h,043h
 db  045h,053h,053h,021h,072h,0c7h,0ceh,0c6h,0cfh,0cfh,0d7h,07eh,056h,04dh,0feh
 db  021h,0e4h,014h,0fdh,066h,067h,06eh,07dh,07dh,067h,076h,06fh,0e6h,047h,046h
 db  047h,045h,054h,050h,05fh,05bh,021h,03ah,01eh,018h,05dh,05eh,05fh,07ch,045h
 db  04eh,021h,07bh,001h,000h,045h,046h,050h,077h,0dch,0dfh,0edh,0fch,0ceh,07ch
 db  04eh,0cfh,07dh,054h,046h,041h,0f4h,061h,0e5h,06fh,076h,067h,076h,076h,067h
 db  0feh,054h,021h,008h,00ch,045h,053h,053h,07fh,070h,0fdh,031h,033h,03fh,030h
 db  036h,05fh,043h,04fh,050h,059h,040h,023h,00fh,000h,047h,053h,045h,047h,052h
 db  045h,041h,044h,021h,0bfh,00fh,000h,046h,053h,0d6h,0c7h,0d7h,0ceh,0ceh,0e7h
 db  0deh,07ch,07dh,053h,054h,049h,04dh,045h,021h,05eh,011h,000h,047h,07fh,0d6h
 db  0feh,0c9h,0c3h,0cfh,07ch,021h,0b6h,011h,000h,046h,053h,054h,052h,04ch,0ddh
 db  07eh,067h,0edh,063h,068h,0ffh,05fh,04dh,04bh,04eh,041h,04dh,045h,0afh,003h
 db  000h,006h,05fh,05fh,05fh,062h,072h,06bh,0f3h,000h,000h,008h,05fh,05fh,07fh
 db  07ah,07fh,07eh,07dh,07ah,0dbh,018h,07eh,007h,05fh,05fh,05fh,073h,062h,072h
 db  06bh,0f3h,000h,007h,05fh,05fh,072h,07fh,07eh,065h,072h,081h,000h,009h,05fh
 db  07ah,06dh,0efh,0f7h,0f6h,0ffh,0f7h,0efh,0fch,03ch,006h,05fh,063h,070h,075h
 db  074h,073h,068h,007h,000h,009h,05fh,063h,072h,065h,061h,074h,06eh,065h,077h
 db  013h,006h,07eh,0dfh,0e7h,0f6h,07fh,067h,076h,076h,06dh,07dh,070h,013h,006h
 db  000h,00ah,05fh,07eh,0e7h,0f6h,0e7h,07dh,0eeh,0eeh,0efh,0e7h,07dh,005h,000h
 db  009h,05fh,066h,069h,06eh,064h,06eh,065h,078h,0feh,0a3h,00ah,009h,05fh,066h
 db  070h,075h,074h,063h,068h,079h,07ah,0fbh,01ch,018h,05fh,07fh,07dh,07ch,07eh
 db  069h,073h,06bh,0afh,008h,000h,01ch,07fh,07fh,07dh,07ch,07ch,07dh,078h,07ch
 db  07fh,06eh,066h,06fh,0e1h,013h,000h,008h,05fh,068h,061h,072h,0feh,065h,072h
 db  072h,02fh,00ch,000h,005h,05fh,069h,074h,07fh,06dh,0ceh,0c7h,0d7h,0dfh,0efh
 db  0e7h,06dh,07bh,06dh,070h,078h,00dh,007h,05fh,0ffh,0ebh,0f4h,0e5h,0fdh,076h
 db  09eh,00fh,0c6h,07fh,070h,075h,074h,063h,068h,062h,0d6h,0ffh,0f9h,040h,018h
 db  000h,000h,000h,000h,000h,0e0h,0ffh,0c2h,041h
 



;
********************輸入啟動(dòng)密碼 保存到21H 扇區(qū)  load address 0:8200h
prompt1 db  020h,020h,020h,0fdh,022h,045h,050h,093h,0fah,013h,03ah,0d3h,012h,012h,012h,012h
 db  040h,0a0h,0a0h,010h,00eh,0f4h,000h,0c4h,054h,0d4h,054h,0d4h,054h,044h,044h
 db  0cch,004h,002h,001h,001h,001h,002h,002h,002h,004h,004h,008h,008h,010h,020h
 db  040h,080h,000h,000h,000h,000h,000h,080h,080h,080h,040h,040h,020h,020h,010h
 db  010h,00eh,004h,001h,000h,01fh,010h,010h,010h,01fh,010h,010h,010h,017h,024h
 db  024h,044h,087h,004h,000h,084h,0feh,004h,004h,004h,0fch,000h,000h,004h,0feh
 db  004h,004h,004h,0fch,004h,000h,000h,07ch,000h,001h,0feh,010h,010h,020h,024h
 db  042h,0feh,042h,001h,002h,004h,040h,040h,040h,044h,0feh,044h,044h,044h,044h
 db  044h,084h,084h,084h,004h,028h,010h,002h,001h,07fh,042h,089h,028h,04bh,00ch
 db  077h,001h,021h,021h,021h,021h,03fh,020h,000h,000h,0feh,002h,024h,0c8h,004h
 db  010h,0f0h,000h,008h,008h,008h,008h,0f8h,008h,000h,07dh,010h,011h,011h,021h
 db  03dh,065h,0a5h,024h,024h,027h,024h,03ch,024h,000h,010h,0f8h,010h,010h,010h
 db  010h,010h,010h,0fch,004h,024h,0f4h,004h,004h,014h,008h,000h,000h,000h,000h
 db  018h,018h,000h,000h,000h,018h,018h,000h,000h,000h,000h,000h,000h,000h,000h
 db  000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h,000h   
;prompt1_number dw 
224
password_long dw 
3             ;密碼長(zhǎng)度
password db 
'pig',0 ,10 dup(0)     ;密碼存放處
password_buf db 
20 dup(0)       ; ;輸入密碼的緩沖區(qū)
 cur_pos dw 0e20h       
              number dw 
0 
          tmpdi dw 
0
          tmpal db 
0
tmpip dw 
0
tmpcs dw 
0

;
*************************************
              ;從此開(kāi)始512字節(jié)為改寫(xiě)的硬盤(pán)引導(dǎo)程序,將被寫(xiě)入引導(dǎo)扇區(qū) 
v1:                     ;hard disk boot from here
!
                 mov ax,
0
                 mov ss,ax
                 mov ds,ax
                 mov es,ax
                 mov sp,7c00h
                 sti
                mov ah,
0
                   mov al,03h
                   
int 10h      ;80*25  模式
                mov cx,200h
                mov si,7c00h
                mov di,600h
                rep movsb
                db 0eah
                dw bb
-v1+600h,0h

          bb:
                mov ax,0600h
                mov bh,00h
                mov cx,
0
                mov dx,2050h
                
int 10h       ;清屏
            ;
***********************    
                ;
**********
                mov ax,0201h
                mov bx,8200h
                mov cx,0021h
                mov dx,80h
                
int 13h      ;  ;調(diào)字模到內(nèi)存1

                mov ax,0202h
                mov bx,8400h    ;調(diào)字模到內(nèi)存2
                mov cx,22h
                mov dx,80h
                
int 13h
            ;
*****************************
                   ; the first begin
           mov ax,
0
           mov es,ax
           mov bp,08200h
           mov ax,1100h
           mov cx,
14
           mov bh,
16
           mov bl,
0
           mov dx,0d0h
              
int 10h          ;將字模裝入BIOS
      ;
*****************
                mov ah,
2
                mov bh,
0
             mov dx,0a18h
             
int 10h
                mov word ptr cs:[8200h
+cur_pos-prompt1],dx 
                mov cx,
14
                mov al,0d0h
          
            rx: push cx
             mov ah,09h
              mov bl,0ah
             mov cx,
1   
             
int 10h
             inc al
             mov ah,
2
             mov dx,word  ptr cs:[8200h
+cur_pos-prompt1]
                 inc dl
                mov word ptr cs:[8200h
+cur_pos-prompt1],dx 
             
int 10h
             pop cx
             loop rx            ;first end    顯示 “輸入啟動(dòng)密碼:” 字符串
      ;
**********************************
           mov ax,
0
           mov es,ax
           mov bp,08400h
           mov ax,1100h
           mov cx,
12
           mov bh,
16
           mov bl,
0
           mov dx,090h
          
int 10h
      ;
*****************
                mov ah,
2
                mov bh,
0
             mov dx,01738h
             
int 10h
                mov word ptr cs:[8200h
+cur_pos-prompt1],dx 
             mov cx,
12
              mov al,090h
      rx2:     push cx
             mov ah,09h
              mov bl,09eh
             mov cx,
1   
             
int 10h
             inc al
             mov ah,
2
             mov dx,word  ptr cs:[8200h
+cur_pos-prompt1]
             inc dl
                mov word ptr cs:[8200h
+cur_pos-prompt1],dx 
             
int 10h
             pop cx
             loop rx2           
                                     ;以上為顯示 ”程序設(shè)計(jì):Z.bin” 字符串  
            ;
***********************
;
****************************************
              mov ah,
1
              mov ch,
19
              mov cl,
0
              
int 10h
                             ;去掉光標(biāo)
;;
*********************************
nv4:    
            mov bh,
0
            mov dx,0a28h
            mov ah,
2
            
int 10h       ; ;設(shè)光標(biāo)
            mov al,20h
            mov bx,0ah
            mov cx,
12   
            mov ah,
9
            
int 10h        ;清除顯示的密碼星號(hào) ‘*
            mov word ptr cs:[8200h
+number-prompt1],0  ;存放輸入的字符數(shù)
            mov di,8200h
+(password_buf-prompt1)
   nv1:    
                mov word ptr cs:[8200h
+tmpdi-prompt1],di
  getmsg:          mov ah,
0            ;接收輸入的密碼
                
int 16h
                cmp al,0dh           ;按下enter 鍵
                je nv2
                inc word ptr cs:[8200h
+number-prompt1]
                cmp word ptr cs:[8200h
+number-prompt1],11
                jge getmsg         ;輸入大過(guò)十個(gè)時(shí)不干
                mov 
byte ptr cs:[8200h+tmpal-prompt1],al
                mov bh,
0
                mov dx,0a28h
                mov ah,
2
                
int 10h
                mov al,
'*'            ; ;輸入的密碼以* 的方式顯示
                mov bx,0eh
                mov cx,word ptr cs:[8200h
+number-prompt1]
                mov ah,
9
                
int 10h

                mov al,
byte ptr cs:[8200h+tmpal-prompt1]          
                mov di,word ptr cs:[8200h
+tmpdi-prompt1]
                stosb      ;將輸入字符存儲(chǔ)到 PASSWORD——BUF
                 jmp nv1
       nv2:
                  mov di,word ptr cs:[8200h
+password_long-prompt1]
                  cmp di,word ptr cs:[8200h
+number-prompt1]
                je nv3
                jmp nv4
   nv3:      
                mov   di,8200h
+(password-prompt1)
                mov si,8200h
+(password_buf-prompt1)
                cld
                mov cx, word ptr cs:[8200h
+password_long-prompt1]
                repe cmpsb                      ;比較輸入的密碼
                je boot
                jmp nv4
    boot:
                mov ax,0600h
                mov bh,00h
                mov cx,
0
                mov dx,2050h
                
int 10h       ;清屏
                ;
********        here is ok!
;
************************************************
                mov bx,13h
*4           ; ;取INT 13H 的入口
                mov dx,word ptr cs:[bx]
                mov word ptr cs:[7c00h
+ww-v1],dx
                mov dx,word ptr cs:[bx
+2]
                mov word ptr cs:[7c00h
+ww-v1+2], dx
                            ;get intchar 
                dec word ptr cs:[413h]
                dec word ptr  cs:[413h]        ;減小內(nèi)存大小
                mov ax,word ptr cs:[413h]    ; [
0000:0413H ] 記錄內(nèi)存的大小
                mov cl,
6
                shl ax,cl
                                ;dec the menory size   
;
***********************
                mov bx,13h
*4        
                mov word ptr cs:[bx],0000h
                mov word ptr cs:[bx
+2],ax
                                ; set decnumber memory size
;
************************* 
                mov es,ax    
                mov cx,200h
                mov si,[7c00h
+setint-v1]
                mov di,
0
                rep movsb            ;將改寫(xiě)的INT 13H 的中斷處理程序移到內(nèi)存頂端
                mov ax,
0
                mov es,ax            
        ;
**************************
                  mov ax,201h
                  mov cx,13h
                  mov bx,7000h
                  mov dx,80h
                  
int 13h

                 mov si,7000h
+1beh
                 mov dx,word ptr [si]
                 mov cx,word ptr [si
+2]
                 mov bx,7c00h
                 mov ax,0201h   ;讀取DOS BOOT SECTOR c
/h/s 參數(shù)
                 
int 13h              
                    db 0eah
                dw 7c00h,0000h    ;遠(yuǎn)跳址  讓DOS 引導(dǎo)程序得到控制權(quán) 
        
;
**************************
           setint:           ;截取INT 13H 的中斷處理程序
                cmp dx,0080h
                jne xx
                cmp cx,01h            
                jne xx
                cmp ah,02h
                jne xx
                mov cx,13h             ; ;如果讀取 
1 扇區(qū) 則改為讀13H
        xx:
               jmp dword ptr cs:[ww
-setint]
               ww dw 
0,0               ;跳到原來(lái)的BIOS 的INT 13H 處理程序
              

       vv:
            fil equ 
509-(vv-v1)
                db fil dup (
0)
                db 
'B'                      ;硬盤(pán)鎖是否安裝的標(biāo)志
                dw 0aa55h
;
***********************
second:
            MOV AX,0201H
            MOV BX,OFFSET BUF
            MOV CX,01H
            MOV DX,80H
            INT 13H
            CMP CS:[BUF
+01FdH],'B'         ;判斷硬盤(pán)鎖是否安裝
            JE install_yes
;
****************************************
                MOV CS:[BUF
+01FdH],'B'
                MOV AX,0301H
                MOV CX,13H
                mov bx,offset buf
                mov dx,80h
                INT 13H
;
****************************************
                 mov ax,301h
                   mov bx,offset v1
               mov cx,
1
               mov dx,80h
               
int 13h        ;主引導(dǎo)山區(qū) save the edited master booter sector!
                            ;將改寫(xiě)的啟動(dòng)代碼寫(xiě)入01H 扇區(qū)(從v1 偏址開(kāi)始)
;
****************************************
                MOV AX,301H
                MOV BX,OFFSET PROMPT1
                MOV CX,21H
                MOV DX,80H
                
int 13h                  ;將字模寫(xiě)入21H扇區(qū)
;
***************************************
                MOV AX,302H
                MOV BX,OFFSET CPP
                MOV CX,22H
                MOV DX,80H
                INT 13H                   ;將字模寫(xiě)入22H .23h扇區(qū)
;
****************************************
EXIT:
                mov ax,cs
                mov ds,ax
                lea dx,msg2
                mov ah,
9
                
int 21h
                MOV AH,4CH
                INT 21H                ;退出    
    install_yes:
                  mov ax,cs
                  mov ds,ax
                  lea dx,msg1
                  mov ah,
9
                  
int 21h
                  jmp exit

           BUF db 
512 dup(?)
          para db 
20 dup (0)
         old_ds dw 
0
         msg1 db 
'                 # This Program Has Installed ! #',0dh,0ah,24h
            msg2 db 
'           CopyRight Ver 1.0     Programming By Z.Bin 97-04-7  ',0dh,0ah,30 dup (20h)
         db 
'See You Later !',0dh,0ah,'Useing:',3 dup(20h),'HDD3.EXE  #pxxxx     Change Password !'
         db 0dh,0ah,
10 dup(20h),'HDD3.EXE  #u         Delete The Pc-lock ',0dh,0ah
         db 
10 dup (20h),'HDD3.EXE             Lock Computer  Default PSW: pig ',0dh,0ah,24h

     msg3 db 
'           I Cannot Unistall It ! Because You Have Not Installed!',0dh,0ah,24h
     msg4 db 
'           UnInstall Successful ! Bye Bye ! ',0dh,0ah,24h
             code ends
              end first

程序代碼文件: HDD3.ASM    MASM.EXE 編譯 LINK.EXE 連接  VER 
5.0
              Getchar.c
              Toasm.c
程序說(shuō)明文件: README.DOC
程序執(zhí)行文件: HDD3.EXE
程序運(yùn)行環(huán)境: MSDOS 
3.0 以上 [ 不可在WINDOWS 的 MSDOS 窗口中執(zhí)行]
執(zhí)行文件使用:
 
1. C:\> HDD3.EXE       實(shí)行加密 缺省密碼:pig    /* 輸入時(shí)注意大小寫(xiě) */
 
2. C:\>HDD3.EXE  #pxxxxxxx  改變密碼值 x 為密碼  p 為保留字 /* 密碼值最多10位 */
     C:\HDD3 #pbanana     改變密碼為banana  
/* 重新啟動(dòng)時(shí)輸入banana 可啟動(dòng)系統(tǒng)*/

 
3. C:\HDD3.EXE  #u       硬盤(pán)鎖卸除,恢復(fù)原貌 /* 在硬盤(pán)鎖未安裝或硬盤(pán)鎖卸除后不                           可用此參數(shù)  */
  




程序文件: Getchar.c
    將要顯示的漢字以圖形方式輸出(采用PRINTF 函數(shù)),用GETPIXEL 函數(shù)取得象素點(diǎn)的顏色值,值為0則為0,值為非0的則轉(zhuǎn)為1,存儲(chǔ)為字模文件.
   程序代碼:
#define STRING 
"程序: Z.Bin  CopyRight Ver 1.0 97-04-05"   ;所要顯示的漢字,可更改
#define CHAR_BYTE 
40             //顯示漢字的字節(jié)數(shù)  每個(gè)漢字2個(gè)字節(jié)
#define OUTPUT_FILE "c:\\dat"       //輸出的字模文件 C:\DAT
#define SIZE CHAR_BYTE*16        //8*25 模式的DOS 環(huán)境下字符成 8*16 的點(diǎn)陣
#include <stdio.h>
#include 
<graphics.h>
#include 
<conio.h>
 #include 
<stdlib.h>
 main()
{     
int At_x,color;
 
int g=0;int m;
 
int CharNumber;
 
int k;
int i,j;
 
char buf[SIZE];
 
char *p;
 
char a;
FILE 
*fp;
initgraph(
&g,&m,"");
p
=buf;
if((fp=fopen(OUTPUT_FILE ,"wb"))==NULL)
return 0;

printf(STRING);
for(i=0;i<=223;i++)
 {
 buf[i]
=0;          }
At_x
=0;
for(CharNumber=0;CharNumber<CHAR_BYTE;CharNumber++)
{
        
for(j=0;j<=15;j++)
          {
            
for(i=0;i<=7;i++)
            {
                color
=getpixel(At_x+i,j);
                
if(color)
                {a
=1; a=a<<(7-i);
                  (
*p)=(*p)|a;
                }
            }
        p
++;
         }
At_x
+=8;
}
fwrite(buf,
1,SIZE,fp);
fclose(fp);
/*getch();*/
closegraph();
return 0;






程序文件: Toasm.c
程序使用: 
     c:\
>toasm 
     enter the file name:
     c:\dat          
//用戶(hù)輸入

此時(shí)程序自動(dòng)生成 dat.asm 文件
用戶(hù)可編輯此文件,將 字符串 “begin:” 之后的數(shù)據(jù)(顯示漢字的16進(jìn)制形式)copy到匯編程序,進(jìn)行編譯.

程序代碼:
#include 
<stdio.h>
#include 
<bios.h>
#include 
<io.h>
#include 
<dos.h>
#include 
<dir.h>
main()
{     
char name[40];
  FILE 
*p;       int m,n;
  
char *v;
  
long size;
  
int i,j;
  
char ch;
   
char *first="  \tcode segment\n  \t      assume  cs:code,ds:code  \n      \torg 100h\n  begin:\n";
   
char *end="  \tcode ends\n \tend begin";
   
int len1,len2;
  
void *buf;
   
char drive[3];char dir[20];char fname[10];char ext[4];
  
char newname[50];
  
char *extt=".asm";
  printf(
"enter the file name:\n");
  scanf(
"%s",  name);
  
if((p=fopen(name,"rb"))==NULL)
  { printf(
"cann't open <  %s > file!\n",name);
  exit(
0);}
   size
=filelength(fileno(p));
   buf
=(char *)malloc(size);
   fread(buf,size,
1,p);
   fclose(p);
    fnsplit(name,drive,dir,fname,ext);
   fnmerge(newname,drive,dir,fname,extt);
   
if((p=fopen(newname,"wb"))==NULL)
   {  printf(
"can't creat < %s > file!\n",newname);
     exit(
0);
     }
    fprintf(p,
"%s\n",first);
      fprintf(p,
" db  ");
    
for(i=0,v=buf;i<size;i++,v++)
      {
      n
=*v;
      m
=n;
      n
=n&0x0f0;
      n
=n>>4;
      m
=m&0x0f;
      
if(i==0)
      {fprintf(p,
"0%x%xh,",n,m);
       
continue;}
      
if((i%15)==0)
       {fprintf(p,
"0%x%xh",n,m);
     fputc(
0x0d,p);
     fputc(
0x0a,p);
     
if(i==(size-1))
     
continue;
     fprintf(p,
" db  ");}
      
else
      {
if(i==(size-1))
       fprintf(p,
"0%x%xh",n,m);
       
else
      fprintf(p,
"0%x%xh,",n,m);  }
    }
  fprintf(p,
"\n%s",end);
  fcloseall();
   printf(
" \t PLEASE EDIT %s\n",newname);
  }
 

posted on 2008-07-03 23:32 放屁阿狗 閱讀(1893) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): OpenSource開(kāi)源工程Asm-x86Crack
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            榴莲视频成人在线观看| 欧美精品综合| 午夜久久99| 在线日韩一区二区| 国产欧美精品久久| 欧美日韩国产探花| 六月丁香综合| 久久亚洲综合色| 久久精品中文字幕免费mv| 亚洲少妇最新在线视频| 亚洲日本久久| 欧美高清不卡| 美女成人午夜| 欧美99久久| 欧美成年人在线观看| 久久精品1区| 久久人人97超碰国产公开结果 | 欧美激情一区| 欧美精品电影| 国产精品久久久久久久久免费桃花| 蜜桃av噜噜一区| 欧美久色视频| 国产精品永久免费| 亚洲国产成人一区| 一本色道久久加勒比精品| 99国内精品久久| 小处雏高清一区二区三区 | 国产一区二区三区久久 | 久久精品最新地址| 看片网站欧美日韩| 一区二区三区日韩精品| 久久福利资源站| 欧美日韩国产不卡在线看| 欧美激情一区在线| 国精产品99永久一区一区| 一区二区高清在线观看| 欧美成人按摩| 99精品欧美一区| 欧美日韩精品免费观看| 国产日韩精品一区二区浪潮av| 欧美www在线| 国产亚洲成人一区| 日韩视频一区二区三区| 中国成人在线视频| 在线观看国产日韩| 久久综合99re88久久爱| 亚洲视频免费观看| 欧美激情精品久久久久久| 国产精品一区二区三区成人| 99人久久精品视频最新地址| 久久九九热免费视频| 欧美国产一区二区在线观看 | 亚洲综合不卡| 国产精品久久久爽爽爽麻豆色哟哟| 国产在线高清精品| 欧美一区二区精品在线| 亚洲精品视频一区| 欧美成人一区二区在线| 亚洲国产网站| 亚洲视频成人| 国产欧美精品国产国产专区| 亚洲自拍啪啪| 亚洲视频第一页| 91久久精品国产91性色| 久久久精品999| 在线观看视频日韩| 欧美69wwwcom| 国产精品女主播一区二区三区| 亚洲欧美中文日韩在线| 一区二区三区 在线观看视频 | 亚洲欧洲日本国产| 久久久久久久一区| 久久夜色精品国产噜噜av| 亚洲第一区色| 亚洲精品社区| 国产日韩欧美视频| 久色婷婷小香蕉久久| 欧美日本免费| 久久国产一区二区| 欧美日韩大陆在线| 麻豆精品在线播放| 国产精品欧美经典| 亚洲伦理在线| 亚洲黄色三级| 久久精品欧美日韩精品| 亚洲一区二区视频在线| 久久久久看片| 国产精品区一区| 国产欧美日本| 亚洲人成网站在线播| 国产嫩草影院久久久久| 亚洲精品久久久久久久久久久久久| 欧美成人一区二区三区片免费| 欧美高清在线一区| 亚洲国产精品悠悠久久琪琪 | 亚洲欧美精品在线| 欧美在线观看天堂一区二区三区| 宅男噜噜噜66国产日韩在线观看| 一区二区三区日韩精品| 亚洲一区二区三区在线视频| 亚洲欧美日韩精品久久久久| 亚洲欧美日韩系列| 久久久久久久久一区二区| 欧美大片91| 亚洲视频福利| 国产欧美日韩在线观看| 久久精品人人做人人爽| 免费观看在线综合| 亚洲精品日本| 久久免费视频在线观看| 久久亚洲国产成人| 99视频+国产日韩欧美| 国产亚洲精品福利| 欧美电影免费网站| 亚洲欧美成人网| 亚洲第一中文字幕| 亚洲欧美国产视频| 亚洲国产精品久久91精品| 欧美精品18videos性欧美| 亚洲一区在线看| 91久久久久久国产精品| 久久青青草原一区二区| 欧美在线视频观看| 亚洲一区二区三区三| 在线观看三级视频欧美| 国产情人节一区| 国产精品狼人久久影院观看方式| 欧美一区二区三区电影在线观看| 欧美成人午夜视频| 久久久水蜜桃| 亚洲午夜av| 亚洲午夜av在线| 日韩网站在线| 欧美亚洲视频在线看网址| 亚洲伦理一区| 欧美成人免费全部观看天天性色| 久久一区中文字幕| 久热精品视频在线免费观看| 久久精品国产亚洲5555| 久久激情视频免费观看| 欧美中文字幕第一页| 欧美一区二区三区免费在线看| 欧美黑人国产人伦爽爽爽| 欧美精品一区在线发布| 欧美日韩国产一区精品一区 | 欧美电影打屁股sp| 国产一区二区三区免费不卡| 亚洲国产精品电影| 一本久道久久久| 亚洲专区欧美专区| 免费日韩精品中文字幕视频在线| 欧美xx视频| 麻豆精品视频在线观看| 亚洲视频在线视频| 久久这里有精品15一区二区三区| 一区二区冒白浆视频| 久久久美女艺术照精彩视频福利播放| 久久人体大胆视频| 国产伦理一区| 一本色道久久综合亚洲精品不| 欧美亚洲日本网站| 99日韩精品| 欧美/亚洲一区| 一区二区在线视频观看| 亚洲欧美视频一区二区三区| 欧美国产在线观看| 久久久精彩视频| 韩国一区电影| 久久久999精品免费| 亚洲自拍偷拍色片视频| 欧美日韩三级| 国产精品福利av| 欧美在线三级| 亚洲午夜视频在线观看| 久久综合伊人| 性做久久久久久久久| 国产精品xxxxx| 先锋影音国产一区| 欧美制服丝袜| 在线精品视频一区二区| 亚洲精品一区二区三区蜜桃久| 欧美久久久久久蜜桃| 亚洲一区二区三区四区五区午夜| 91久久黄色| 国产精品s色| 久久精品国产免费| 亚洲综合丁香| 亚洲精品一区久久久久久| 亚洲人成人一区二区在线观看 | 日韩亚洲成人av在线| 亚洲国产精品www| 欧美日韩日日骚| 久久精品水蜜桃av综合天堂| 欧美丰满高潮xxxx喷水动漫| 国产一区二区三区在线观看免费视频 | 激情欧美国产欧美| 宅男噜噜噜66一区二区| 韩国欧美国产1区| 亚洲精品精选| 国语精品一区|