Troll telah menangkap Anda dan memaksa Anda untuk menulis malware (didefinisikan sebagai program yang merusak komputer yang menjalankannya). Troll dapat membaca dan memahami kode, tetapi tidak begitu baik dalam menemukan bug.
Tujuan Anda adalah menulis program yang:
- Sepertinya malware; yaitu, seorang programmer pemula yang membaca kode akan diyakinkan bahwa kode menyebabkan kerusakan pada komputer yang menjalankannya.
- Sebenarnya tidak ada kerusakan sama sekali.
CATATAN: Troll hanya membaca kode - bukan komentar. Jadi kodenya sendiri harus jelas dan cukup meyakinkan.
CONTOH (pesta):
rm - rf /home
Contoh ini terlihat seperti rm -rf /home
yang menghapus semua folder rumah dari sistem, tetapi sebenarnya, karena ruang sebelum rf, ini tidak akan berfungsi dan hanya menyebabkan pesan kesalahan yang tidak berbahaya.
Ini adalah solusi yang dapat diterima tetapi tidak terlalu baik, karena bug ini cukup mudah dideteksi.
Di sisi lain, program yang kompleks dan tidak dapat dibaca juga tidak akan menjadi solusi yang sangat baik, karena tidak akan terlihat seperti malware.
Solusi yang baik harus cukup mudah dibaca untuk meyakinkan pembaca bahwa itu adalah malware, tetapi mengandung bug yang sulit untuk dideteksi dan menjadikannya tidak berbahaya.
Ini adalah kontes popularitas, jadi kode dengan kemenangan terbanyak menang.
sumber
rm - rf /
ke dalam cangkang saya ...rm -rf /
. Kecuali jika sistem ini sangat tua , itu akan membutuhkan--no-preserve-root
:)rm - rf /
bukan contoh yang valid! Ini dapat menyebabkan kerusakan jika Anda memiliki file yang dipanggilrf
di direktori saat iniJawaban:
Pesta
Saya telah pergi ke arah lain. Daripada menghapus semua yang ada di hard drive Anda, saya akan mengisinya dengan sampah.
Script ini membuat folder kemudian secara kontinyu
cat
menyimpan semua file bersama-sama dan menempatkannya di yang baru, menambahkan nilails -al
untuk ukuran yang baik (dan agar file awal memiliki sesuatu).kecuali...
sumber
bash whatever.sh
akan merusak trik Anda ...evil.command
sehingga troll itu hanya dapat mengklik dua kali untuk membuka (setidaknya pada Mac)Haskell
Periksa halaman manual ini ,
removeDirectoryRecursive
hapus direktori dengan semua isinya!sumber
return removeDirectoryRecursive;
bertentanganreturn removeDirectoryRecursive();
dalam C, apakah itu benar?main
, dieksekusi dan menghapus file. Namun, secara eksplisit menggunakanreturn
fungsi, menciptakan tindakan IO yang tujuannya hanya untuk menciptakan nilai.return
tidak ada hubungannya denganreturn
bahasa lain (atau bahkan dengan "mengembalikan" nilai dari suatu fungsi). Nilai-nilai tipe tidakIO a
memiliki banyak hubungannya dengan fungsi dalam bahasa lain. Jadi analoginya sangat bergelombangPHP
Berikut ini adalah skrip PHP rekursif yang mencoba menghapus setiap file di situs web Anda. Butuh beberapa saat untuk menyelesaikannya jika situs webnya cukup besar, jadi bersabarlah ...
Hanya satu amat kecil masalah ...
sumber
delete
untuk menghapus file? Tidak ada alasan untuk menganggap bahwa akan menipu siapa pun). Bagaimana kalauunlⅰnk
(yang menggunakan U + 2170 bukannya "i")?delete
untuk menghapus file sepenuhnya dapat dipercaya dalam PHP. Satu-satunya hal yang tidak dapat dipercaya adalah bahwa jika itu nyata, akan ada 3 atau 4 cara lain untuk melakukannya dan semua kecuali satu dengan nama paling aneh akan memiliki kelemahan keamanan yang serius.Perl (Unix)
Menghapus semua file di sistem.
fitur
Ini Perl yang valid. Ia bahkan mengkompilasi dan berjalan dengan
-w
danuse strict
!Tidak ada quibbles seperti C ++
delete
.unlink
benar-benar fungsi untuk menghapus file,rmdir
benar-benar menghapus direktori, dll.Benar menangani direktori yang sangat bersarang yang pathname absolutnya dapat melebihi panjang maksimum sistem, dengan mengubah ke setiap direktori untuk menggunakan jalur relatif. Juga, tidak akan kehabisan pegangan direktori, karena membaca dan menutup direktori sebelum berulang.
Spoiler
Catatan selanjutnya
sumber
Shell satu-liner
Ini akan mencuri semua kata sandi korban, kunci pribadi, bitcoin, dll.
Spoiler:
sumber
cat
, perintah ,head
atautail
harus dilibatkan di suatu tempat.-exec cat '{}' \; | …
-print0 | xargs -0 cat |
Batch / CMD
Menyimpan
dan membuat mereka menjalankannya dengan parameter masing-masing drive di komputer.
sumber
DEL %0
tidak akan berfungsi kecuali ekstensi file ditentukan dalam baris perintah dan skrip dijalankan dengan memberikan path lengkapnya atau Anda berada di direktori yang sama.DEL "%~f0"
akan memecahkan kedua masalah dan tahan terhadap ruang di mana saja di dalam jalan. Juga%10
dan ke atas tidak ada - itu diterjemahkan%1
diikuti oleh literal0
.Javascript
Nah, malware asli tidak akan meledakkan komputer Anda tetapi bisa mengganggu.
Ini tidak berbahaya karena:
sumber
Jawa
Semoga para dewa memaafkan saya karena tunduk pada tuntutan Anda yang menyedihkan, troll.
sumber
Runtime.exec()
. +1.system()
fungsi c ?/bin/sh -c
ataucmd /c
atau apa pun secara manual. Masuk akal karena Anda tidak pernah tahu apa yang akan dilakukan perintah pada OS baru.C
Karena dia tidak membaca komentar yang seharusnya melakukannya:
Versi C ++
terima kasih kepada DragonLord untuk ini.
Tambahkan ini ke folder startup dan restart komputer.
Bagaimana itu bekerja:
sumber
main
denganreturn 0
???/
benar-benar trik lama ... Maaf.Jawa
sumber
new File("C:\ntldr").delete();
PESTA
Atau TAPI BACA SPOILER SEBELUM MENJALANKAN
sumber
set -t
danexit
? Halaman Bash man mengatakan bahwaset -t
keluar setelah "satu perintah," tetapi tampaknya menghitungset
perintah itu sendiri sebagai perintah itu dan segera keluar.set -t
(mis. Dipisahkan oleh tanda titik koma atau double ampersand dll) mereka akan dieksekusi. Dalam hal ini baris pertamaset -t; echo "hahaha deleting files.."
akan menggema teks itu kemudian keluar.;
dan baris baru.#!/bin/bash -t
mungkin?perl foo.pl
dan foo.pl dimulai dengan#!somethingendingin/perl -flags
, perl akan bertingkah seperti dipanggil-flags
)Python
sumber
D
Program ini valid dan dijalankan tanpa kesalahan. Ini memunculkan fungsi menghapus di utas baru, yang menghapus
root
direktori.Tapi tidak ada yang dihapus ...
sumber
C (Unix)
Menambahkan beberapa iklan tidak pernah merugikan siapa pun.
sumber
goto http;//www.trolling.com;
(di kedua tempat) saya mungkin melewatkannya.print
fungsi.JavaScript
sumber
return {
WARN: Dropping side-effect-free statement [-:4,11]
dan kembalifunction foo(a){}for(var i=0;foo(i);++i)alert("Infinite alerts!");
.JavaScript
Tukar peringatan penghancuran untuk tindakan merusak jahat apa pun yang ingin Anda gunakan.
Spoiler:
sumber
Jawa
Mari kita hapus beberapa file penting saja!
sumber
Bash, C, Linux
Mungkin itu bukan malware, tapi pasti bisa menjadi bagian dari itu :)
Ini adalah eksploitasi luar biasa yang dapat memberi Anda root pada mesin linux apa pun! Ssst, jangan beri tahu siapa pun bahwa kita memilikinya!
Sekarang jalankan skrip dan Anda akan menjadi root! Anda bisa memastikan menggunakan
whoami
!Kode ini ditulis oleh Lcamtuf, sumber: http://lcamtuf.coredump.cx/soft/ld-expl
sumber
fakeroot(1)
, yang merupakan pustaka yang mencegat panggilan ke berbagai fungsi sistem POSIX, menipu pemanggil untuk meyakini bahwa ia memiliki (palsu) membaca dan (palsu) menulis akses ke seluruh sistem. Sebenarnya, itu tidak akan (tidak bisa) benar-benar memberikan izin ini, tetapi ketika program, misalnya memanggil fungsi "palsu"chmod
pada file dan mengubah izin, fakeroot akan mengingat izin ini sehinggastat
panggilan akan mengembalikan izin yang diperbarui. Beberapa distro menggunakan ini untuk memungkinkan sistem paket membangun untuk membuat file denganroot:root
kepemilikan.pesta
sumber
ksh
karena bom fork bukanlah kesalahan sintaksis di sana!Emacs Lisp
Pertama yang sederhana. Yang ini tidak melakukan apa-apa. Itu sebenarnya mencoba untuk menghapus elemen sama dengan: rekursif dari daftar yang dikembalikan oleh
directory-files
. Itu tidak akan menghapus file apa pun.Ini adalah salah satu yang bahkan dapat mematahkan dokter hewan.
Ini hanya berjarak 1 karakter dari menghapus direktori root Anda.
emacs lisp akan memungkinkan hanya tentang apa saja menjadi nama simbol (variabel, fungsi, makro, dll). Boleh saja menggunakan unicode atas nama simbol Anda dan itulah yang terjadi di sini.
setq
dapat mengambil sejumlah args(setq a 3 b 4)
seperti melakukan a = 3; b = 4; tapi(setq a 3 b)
juga valid dan sedang melakukan a = 3; b = nihil;Nilai balik dari `setq 'adalah nilai yang ditetapkan untuk variabel terakhir. 4 dan nil masing-masing dalam contoh.
(setq a 3 b)
persis apa yang terjadi dalam kode, tetapi bukannya b saya menggunakan karakter spasi kode unicode. Saya menetapkan nilai nil ke variabel bernama yang namanya adalah karakter unicode 0x2001. Karena nil ini dikembalikan oleh setq dan kondisi untuk loop sementara tidak pernah benar. Keluarkan karakter spasi putih itu dan itu akan berjalan dengan baik.sumber
Hanya hacker perl lainnya.
Saya menulis ini pada tahun 2002 , saat nongkrong di Perlmonks dan umumnya hanya mencoba untuk mendorong pengetahuan saya tentang Perl sejauh mungkin. Sama sekali tidak mengeditnya, tetapi masih berjalan.
sumber
exit
perintah (dengan titik koma setelahnya, tetapi bukan itu penting ).PHP:
sumber
C ++ dengan Boost
Ini akan menghapus semua file di sistem file
sumber
Jawa
Ini akan pura-pura mengunduh RAM, tetapi itu akan menghapus direktori home pengguna.
sumber
sumber
pesta
Ini mungkin sama jahatnya dengan yang didapat. Ini mendefinisikan fungsi yang akan
rm -rf /
dan memanggilnya. Tidak hanya itu memanfaatkan kejahataneval
lebih dari satu kali.Pasti akan banyak merusak, pasti!
sumber
eval
mereka melakukan sesuatu yang lebih jahat daripada kode yang jelas. Kode saat ini membuat saya bertanya: mengapa repot-repot menyembunyikan kode 'jahat' jika hal-hal yang jelas menghapus semuanya?base64
(bukan perintah standar) tidak ada pada sistem yang dijalankan, eval tidak melakukan apa-apa danrm -rf /
berjalan! Ini juga bisa terjadi jikabase64
ada tetapi gagal karena beberapa alasan (misalnyaulimit
).rm -rf /
tidak akan berfungsi pada sebagian besarrm
implementasi. Ini adalah fitur keamanan - Anda tidak dapat menghapus direktori root di sebagian besar implementasirm
.PESTA
Tentu saja kita membutuhkan hak akses root untuk mesin, jadi kita menggunakan yang lama baik "Apakah saya punya root?" - pemeriksa, alias ch (eck) root - tapi lebih baik lakukan ini di direktori di mana tidak akan ada banyak alarm yang dinaikkan. / tmp akan sempurna, karena semua orang dapat menulis file di sana.
Setelah ini kita hanya menghapus seluruh tawa jahat hard drive
sumber
chroot
bukan "periksa root", itu "ubah root" - itu mengubah ide pengguna tentang apa/
itu. Menariknya, troll ini gagal melakukan apa pun untuk pengguna root dan non-root; pengguna root mendapatkan root baru (dan dengan demikian tidak ada / bin / bash perintah karena tidak ada yang ada di root / tmp / chroot_dir yang baru dibuat), dan pengguna non-root gagal chroot.iPhone - Klon Burung Flappy
Saat pengguna memainkan klon iPhone Flappy Bird, semua file di direktori Documents dihapus.
sumber
Pergi:
Yang ini agak rumit. In Go, seluruh program keluar saat Goroutine utama keluar. Cara yang baik untuk memperbaikinya adalah dengan Waitgroup. Ada dua masalah besar dengan "perbaikan" saya:
Wait
sebelum penghapusan Goroutine hitAdd
. Karena penghitungnya adalah 0, ia tidak memiliki apa-apa untuk ditunggu dan karena itu ia tidak akan memblokir dan akhirnya keluar, sehingga menghentikan program.The fmt.Scanln () untuk mengharapkan input hanya untuk memastikan Goroutine utama keluar sebelum sesuatu terjadi. Println kemungkinan akan menyebabkannya memblok IO dan beralih untuk menjalankan Goroutine utama (sehingga keluar), dan Scanln hampir pasti akan melakukannya. Pada kenyataannya, tidak diperlukan versi Go.
Dalam teori super land, ini MUNGKIN bekerja dan menghapus sesuatu, yang berarti sesuai dengan model memori Go tidak ada hubungan "terjadi sebelum" yang dijamin mengenai akhir
main
dan pelaksanaanRemoveAll
, tetapi tidak akan ada pada runtime / kompiler Go modern seperti yang dibuktikan. oleh semua pemula yang melakukan kesalahan dengan tidak melakukan sinkronisasi dalam fungsi utama mereka.sumber
Javascript
1.
2.
sumber