Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Đọc nội dung của BOOT SECTOR tại vi trí 2007

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

    Smile Đọc nội dung của BOOT SECTOR tại vi trí 2007

    Code:
    #include <stdio.h>
    #include <conio.h>
    #include <dos.h>
    #define BYTE	unsigned char
    #define WORD	unsigned int
    #define DWORD	unsigned long
    //dinh nghia cau truc cua mot sector
    typedef struct BOOT_SECTOR
    {
    	BYTE	First[0x0B];
    	WORD	SectSize;
    	BYTE	ClustSize;
    	WORD	ReservedSect;	//so sector truoc bang fat
    	BYTE	FATNum;
    	WORD	RDETSize;
    	WORD	VolSize;
    	BYTE	MediaDescriptor;	//ki hieu loai voi
    	WORD	FATSize;
    	WORD	TrackSize;
    	WORD	HeadNum;
    	DWORD	HiddenSect;
    	DWORD	VolSize_;
    	BYTE	Last[512 - 0x24];
    }boot;
    
    void main()
    {
    	BOOT_SECTOR bs;
    	int Csvol;
    	printf("\nNhap vao chi so vol(0:A,1:B,2:C.........):");
    	scanf("%d",&Csvol);
    	if(absread(Csvol,1,0,&bs) != 0)
    	{
    		printf("loi truy xuat.chuong trinh ket thuc");
    		return;
    	}
    	//vi tri bat dau cua cluster 2007
    	WORD vitri;//kieu 2 bytes thi co the ko du de dien gia tri - vol co the chiem nhieu trieu sector 
    	vitri = bs.ReservedSect + bs.FATNum*bs.FATSize + bs.RDETSize*32/bs.SectSize + (2007 - 2)*bs.ClustSize;
    	//co the kiem tra cluster co ton tai hay ko
    	BYTE *buf;
    	buf = new BYTE[bs.ClustSize*512];
    	//co the kiem tra mang byf co cap phat duoc ko
    	//doc cluster 2007 va luu vao buf
    	if(absread(Csvol,bs.ClustSize,vitri,&buf) != 0)
    	{
    		printf("\n Loi ko the truy xuat dia. chuong trinh ket thuc");
    			return ;
    	}
    	// hien thi noi dung ra man hinh
    	printf("Noi dung cua cluster:\n");
    	for(int i=0;i<bs.ClustSize*512;i++)
    		printf("%02x",buf[i]);//hoac la printf("%c",buf[i]);
    	// luu noi dung vao tap tin
    	char filename[60];
    	printf("nhap ten can luu noi dung:");
    	fflush(stdin);
    	gets(filename);
    	FILE *f = fopen(filename,"wb");
    	if(f == NULL)
    	{
    		printf("\n Loi Ko the mo tap tin.chuong trinh ket thuc ");
    			return ;
    	}
    	fwrite(buf,1,bs.ClustSize*512,f);
    	fclose(f);
    }
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

  2. #2
    Ngày gia nhập
    05 2007
    Bài viết
    1

    //dinh nghia cau truc cua mot sector
    Bạn muốn hỏi vấn đề gì vậy, hay là post chương trình cho mọi người tham khảo?
    typedef struct BOOT_SECTOR
    {
    ...
    }boot;
    //Khai báo
    BOOT_SECTOR bs; // chương trình chạy được ah?

  3. #3
    Ngày gia nhập
    04 2007
    Bài viết
    16

    ko chỉ là tham khảo thôi
    có cách nào hay hơn bạn có thể chỉ mình

  4. #4
    Ngày gia nhập
    08 2008
    Bài viết
    15

    nếu em chỉ muốn xem nội dung sector( chỉ thuần túy là xem) xác định nội dung của 1 tập tin ở thư mục còn thì làm sao ạ, mấy anh chỉ em với.
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

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

  1. Bài tập C Chương trình hiển thị thông tin của boot sector
    Gửi bởi vungtroicuabo trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 21-11-2011, 03:36 PM
  2. Trả lời: 5
    Bài viết cuối: 30-10-2011, 10:42 PM
  3. Bài tập C Đọc boot sector của đĩa rồi lưu ra file text
    Gửi bởi nhimbkno1 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 02-12-2010, 08:54 PM
  4. Các bài tập về Boot sector help!
    Gửi bởi @*longhai*@ trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 28-10-2009, 10:25 AM
  5. Read Bootsector | Đọc boot sector viết bằng Turbo C
    Gửi bởi AlexF trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 0
    Bài viết cuối: 10-10-2009, 04:24 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