Steganography 2 : membaca pesan tersembunyi

May 3, 2010 4 comments

Berikut ini akan saya tunjukkan cara membaca steganography yang telah saya buat sebelumnya. Sebelum post ini ada penjelasan steganography dan contohnya. Setelah gambar berhasil diunduh, bukalah gambar tersebut dengan Adobe Photoshop atau software lain yang dapat menampilkan detail pixel gambar dan menampilkan komposisi RGB tiap pixelnya.

Pesan terletak mulai dari kolom pertama baris ke tujuh (7,1) pada gambar. Yang perlu dilakukan pertama membaca RGB tiap pixelnya. Hal ini bisa dilakukan dengan menggunakan eyedropper, RGB akan terlihat di panel warna. Sebelumnya perbesar gambar hingga terlihat tiap pixelnya. Pada gambar ini saya perbesar hingga 3200%.

Kemudian ganti nilai tiap RGB dengan 1 atau 0, 1 jika nilainya ganjil, 0 jika genap. Misalnya pada pixel pertama R:108 G:103 B:61, maka kita parsing menjadi 011. Lakukan hal ini hingga pixel ke 32 atau koordinat (7,32).

Akan kita dapatkan barisan angka biner sebagai berikut: 011101100110100101110110011001010010000001101100011001010010000001110010011011110110100100100001. Pisahkan tiap 8 digit angka, sehingga kita dapatkan sebagai berikut: 01110110, 01101001, 01110110, 01100101, 00100000, 01101100, 01100101, 00100000, 01110010, 01101111, 01101001, 00100001.

Tiap 8 digit angka tersebut melambangkan sebuah kode karakter ASCII, terjemahkan tiap 8 digit menjadi karakter ASCIInya. Misalkan untuk 8 digit pertama 01110110, dalam desimal berarti 118 merupakan kode untuk huruf ‘v’. Lakukan hingga 8 digit terakhir.

Akan didapatkan pesan : vive le roi!

Cara membuat

Cara membuat staganography tersebut pasti mudah dipahami setelah anda mengetahui cara membacanya.

Carilah gambar yang akan digunakan sebagai media penyimpanan pesan, kemudian ubah formatnya menjadi bmp (bitmap picture) supaya nilai RGB tiap pixelnya tidak berubah-ubah tiap kali dibuka.

Siapkan pesan, kemudian ubah tiap karakternya ke dalam kode ASCII. Nyatakan kode ASCII tersebut ke dalam bentuk biner. Tiap karakter direpresentasikan ke dalam 8 digit biner. Gabungkan semua digit biner tersebut, kemudian pisahkan menjadi masing-masing 3 digit biner. Tiap 3 digit biner ini akan direpresentasikan dalam RGB tiap pixel.

Pilih pixel penyimpanan pesan. Pada steganography ini pesan mulai saya simpan dari pixel (7,1). Lihat RGB tiap pixelnya, ubah RGB sesuai 3 digit biner yang telah dipersiapkan. Jika 1 maka nilai RGB harus ganjil, jika 0 maka nilai RGB genap. Misalnya 3 digit pertama 011, maka R: genap G:ganjil B:ganjil. Pengubahan dilakukan dengan menambah 1 untuk genap ke ganjil, mengurangi 1 untuk ganjil ke genap. Yang jelas perubahan nilai RGB hanya selisih satu dari aslinya, sehingga ketika keseluruhan gambar dilihat mata manusia, tidak akan tampak keanehan gambar. Misalkan RGB pixel pertama R:109 G:102 B:61, pesan yang ingin disisipkan adalah 011, maka ubah RGB menjadi R:108 G:103 B:61. Nilai R ditambah 1, G dikurang 1, B tidak perlu diubah karena telah sesuai. Lakukanpada pixel berikutnya hingga 3 digit terakhir telah direpresentasikan dengan RGB.

Asalkan penerima pesan tahu pixel penyimpanan pesan dan cara membacanya, maka pesan dapat tersembunyi dan hanya diketahui penerima.

Steganography

March 21, 2010 11 comments

Steganography adalah seni dan ilmu menyembunyikan pesan, sehingga pesan tersebut sampai kepada penerima tanpa ada orang lain, selain pengirim dan penerima, yang menyadari keberadaan pesan tersebut. Steganography termasuk ke dalam security through obscurity. Steganography biasa digunakan oleh teroris, intelijen, atau militer dalam menyampaikan pesan sehingga tidak diketahui orang lain.

Digital Steganography

Steganography digital adalah suatu steganography dengan cara menyembunyikan pesan ke dalam suatu file digital. Pesan yang terkirim melalui internet sangat rentan terhadap adanya pencuridengaran paket oleh orang lain. Steganography digital merupakan salah satu cara untuk menjaga aspek confidentiality tersebut.

Berbagai macam steganography digital antara lain menyembunyikan pesan ke dalam file gambar, file audio, file video, dalam percakapan VoIP, dalam kode suatu program, status di social networking, dan masih banyak lagi.

Steganography vs Cryptography

Steganography berbeda dengan cryptograhy. Pada steganography, sniffer tidak dapat melihat pesan yang benar-benar ingin disampaikan, yang terlihat adalah file atau pesan lain yang menjadi persembunyian pesan sebenarnya. Pada cryptography, sniffer menyadari keberadaan pesan tersebut, hanya saja pesan tersebut tidak terbaca karena telah terenkripsi. Dengan enkripsi yang bagus mungkin sniffer akan kesulitan membaca pesan tersebut, tetapi dengan menyadari keberadaan pesan tersebut, sniffer bisa berusaha untuk mendekripsikannya. Dengan steganography, sniffer tidak menyadari keberadaan pesan, namun bila ditemukan, pesan akan mudah dibaca.

Terkadang kedua teknik tersebut dipakai bersamaan. Pesan dienkripsi terlebih dahulu menjadi suatu cipher text, kemudian cipher text tersebut disembunyikan ke dalam file lain. Sniffer akan lebih sulit mengetahui keberadaan pesan karena cipher text hanya terlihat seperti kode-kode ASCII tidak beraturan. Meskipun keberadaannya diketahui, cipher text tersebut harus didekripsi terlebih dahulu.

Steganography vs Watermark

Watermark dan steganography hampir sama. Hanya saja, maksud dan tujuannya berbeda. Steganography bertujuan menyembunyikan pesan sehingga tidak terlihat selain oleh sang penerima. Watermark bertujuan mengidentifikasi kepemilikan suatu karya, misalnya seorang seniman mengunggah gambarnya (yang telah diberi watermark), kemudian seseorang mengklaim kepemilikan gambar tersebut, sang seniman dapat membantahnya dengan menunjukkan watermark pada gambar tersebut. Pada steganography, yang menjadi pesan utama adalah pesan yang disembunyikan. Sedangkan pada watermark, pesan yang utama tidak disembunyikan, watermark hanya untuk menandai.

Contoh Steganography

Berikut ini contoh steganography buatan saya. Di dalam file gambar ini terdapat pesan yang tersembunyi.

unduh file gambar di : http://www.4shared.com/file/245896497/a0e6903d/steganography.html

preview:

(unduh yang dari 4shared untuk melihat pesan tersembunyi)

Cara membaca pesan yang tersembunyi pada gambar di atas akan saya jelaskan pada postingan selanjutnya sekitar minggu depan. Jika ingin memecahkan stagenography ini silakan unduh gambarnya kemudian coba pecahkan, saya sarankan anda tidak mencobanya, saya yakin nggak bakal ketemu.

berikut penjelasan cara membuat dan cara membacanya

Self Generating Code

March 17, 2010 Leave a comment

Self generating code atau self reproducing program merupakan kode program yang jika dieksekusi akan menampilkan kode program itu sendiri.  Self generating code ini pernah dijelaskan oleh Ken Thompson dalam sebuah pidatonya yang berjudul ‘Reflection on Trusting Trust’ saat menerima penghargaan dari ACM. Ken telah mengembangkan sistem operasi UNIX dan bahasa pemrograman B, yang menjadi awal pengembangan bahasa pemrograman C. Dalam pidatonya Ken juga bercerita mengenai pembuatan compiler bahasa C yang dibuat dengan bahasa C sendiri.

Self reproducing program ini juga disebut quine. Pada halaman http://www.nyx.net/~gthompso/quine.htm disebutkan tentang quine. :quine: /kwi:n/ /n./ [from the name of the logician Willard van Orman Quine, via Douglas Hofstadter] A program that generates a copy of its own source text as its complete output. Devising the shortest possible quine in some given programming language is a common hackish amusement.

Berikut ini merupakan contoh quine dalam bahasa C yang sudah banyak dikenal (tentu saja bukan buatan saya).

main(){char*p="main(){char*p=%c%s%c;(void)printf(p,34,p,34,10);}%c";
(void)printf(p,34,p,34,10);}

Output dari program tersebut adalah sebagai berikut.

main(){char*p="main(){char*p=%c%s%c;(void)printf(p,34,p,34,10);}%c";
(void)printf(p,34,p,34,10);}

Terlihat output ketika program dalam bahasa C ini dieksekusi sama persis dengan kode program yang dibuat.

Anatomi E-mail

March 12, 2010 Leave a comment

Saya mengirim email dari akun gmail saya ke students.if dengan dua attachment, sebuah file .txt dan sebuah gambar .jpg. Kemudian saya buka inbox students.if, klik view source.

X-Original-To: if17055[at]students.if.itb.ac.id
Delivered-To: if17055[at]students.if.itb.ac.id
Received: from mx1.itb.ac.id (mx1.itb.ac.id [167.205.23.6])
by mail.students.if.itb.ac.id (Postfix) with ESMTP id 21ED3ACA03
for ; Thu, 11 Mar 2010 08:33:11 +0700 (WIT)
Received: from mx1.itb.ac.id (localhost [IPv6:::1])
by mx1.itb.ac.id (Postfix) with ESMTP id 5770FB690D
for ; Thu, 11 Mar 2010 08:08:18 +0700 (WIT)
Received: from mail-pw0-f43.google.com (mail-pw0-f43.google.com [209.85.160.43])
by mx1.itb.ac.id (Postfix) with ESMTP id 59427B934B
for ; Thu, 11 Mar 2010 07:03:33 +0700 (WIT)
Received: by pwi7 with SMTP id 7so15725194pwi.2
for ; Wed, 10 Mar 2010 16:03:29 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=gamma;
h=domainkey-signature:mime-version:received:date:message-id:subject
:from:to:content-type;
bh=uXt9PTde2zEnDGXlnHV4ueEHx4DuA6y+di26Scw4oRI=;
b=rSzAMMQ43uKapFaYbq2HMpTKGI12q45Qs504EuxRoFld1v8dwKPaDIFKgsVPTL9djy
V6tNL3O7MJmPXXJh+9BAWtRSDuvFSTFpxrz115OL6ZXv811rhGeVJPw9ppT2CfsdygbG
8K5N7amfaOuXeWFrtEKK+AY/17Zx/PBsRV93U=
DomainKey-Signature: a=rsa-sha1; c=nofws;
d=gmail.com; s=gamma;
h=mime-version:date:message-id:subject:from:to:content-type;
b=IhOuyV+QEIkOL2vXdWT2E6w43SaQH9qSpErChfVkH65HjKwokE6U5h3iybgxTX/7VX
/13rWmHm5BM6x6iv172ydaE6hUCi57vfL3sk/azX92ND5t7ghFZTfNa4QiAUmppOJAqY
/9SXXHc8jBBhMOvqg8ujUxLrQxFycWH0IyXxo=
MIME-Version: 1.0
Received: by 10.142.248.9 with SMTP id v9mr887157wfh.308.1268265808825; Wed,
10 Mar 2010 16:03:28 -0800 (PST)
Date: Thu, 11 Mar 2010 07:03:28 +0700
Message-ID:
Subject: anatomi email
From: Kuncoro Dwi Atmojo
To: if17055[at]students.if.itb.ac.id
Content-Type: multipart/mixed; boundary=00504502c9fc0410f704817b2545

–00504502c9fc0410f704817b2545

Content-Type: multipart/alternative; boundary=00504502c9fc0410eb04817b2543

–00504502c9fc0410eb04817b2543
Content-Type: text/plain; charset=ISO-8859-1
Assalamu’alaikum,
tolong diliat anatomi e-mailnya ya
makasih..
–00504502c9fc0410eb04817b2543
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Assalamu’alaikum,=A0<div>tolong diliat anatomi e-mailnya ya<div>makasih=
..</div></div>
–00504502c9fc0410eb04817b2543–
–00504502c9fc0410f704817b2545

Content-Type: text/plain; charset=US-ASCII; name=”jadwal.txt”
Content-Disposition: attachment; filename=”jadwal.txt”
Content-Transfer-Encoding: base64
X-Attachment-Id: f_g6msog1w1

U2VuaW4gTVNESQ0KU2VsYXNhIEtJDQpSYWJ1IE1hblBybw0KS2FtaXMgRWt0ZWsNCkp1bWF0IEtJ
DQo9PQ0Kc2VuaW4NCjkgTVNESQ0KMTAgTVNESQ0Kc2VsYXNhDQo3IEtJDQo4IEtJDQoxMCBJTUsN
CjExIElNSw0KMTQgQUVJDQoxNSBBRUkNCnJhYnUNCjcgTWFuUHJvDQo4IE1hblBybw0KOSBNU0RJ
DQprYW1pcw0KNyBFa1Rlaw0KOCBFa1Rlaw0KMTAgSU1LDQoxMSBLSQ0KMTUNCjE2DQpqdW1hdA0K
NyBNYW5Qcm8NCg0KMTMgU29zaWYNCjE0IFNvc2lm

–00504502c9fc0410f704817b2545
Content-Type: image/jpeg; name=”becak malioboro.jpg”
Content-Disposition: attachment; filename=”becak malioboro.jpg”
Content-Transfer-Encoding: base64
X-Attachment-Id: f_g6msma2a0

/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEP
ERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4e
Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAHFAlwDASIA
PANJANGBANGETLAHPOKOKNYA
VxOIyMkr05z+Z1ms1IuN1PokN9kkolEisGDHJXGBn/p9NBNbXM9W08SCF4vwkMTg6zWarGXC/mnP
KDtyt8dPLTVirPFKvVIG7vk55P31C2/IEpr7LT0uKemHSBEnYDHv31ms1vad61lTa/KGpJSGZVUB
FBKr6DXK0fxKgztjIOAPbWazWuR3CVR/SSkUkjTpPUyHLu2TrmmQoAOBrNZongK9f//Z
–00504502c9fc0410f704817b2545–

E-mail ini terbagi menjadi tiga bagian, header, body, dan attachment (jika terdapat attachment).

Header

X-Original-To: if17055[at]students.if.itb.ac.id
Delivered-To: if17055[at]students.if.itb.ac.id
Received: from mx1.itb.ac.id (mx1.itb.ac.id [167.205.23.6])
by mail.students.if.itb.ac.id (Postfix) with ESMTP id 21ED3ACA03
for ; Thu, 11 Mar 2010 08:33:11 +0700 (WIT)
Received: from mx1.itb.ac.id (localhost [IPv6:::1])
by mx1.itb.ac.id (Postfix) with ESMTP id 5770FB690D
for ; Thu, 11 Mar 2010 08:08:18 +0700 (WIT)
Received: from mail-pw0-f43.google.com (mail-pw0-f43.google.com [209.85.160.43])
by mx1.itb.ac.id (Postfix) with ESMTP id 59427B934B
for ; Thu, 11 Mar 2010 07:03:33 +0700 (WIT)
Received: by pwi7 with SMTP id 7so15725194pwi.2
for ; Wed, 10 Mar 2010 16:03:29 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=gamma;
h=domainkey-signature:mime-version:received:date:message-id:subject
:from:to:content-type;
bh=uXt9PTde2zEnDGXlnHV4ueEHx4DuA6y+di26Scw4oRI=;
b=rSzAMMQ43uKapFaYbq2HMpTKGI12q45Qs504EuxRoFld1v8dwKPaDIFKgsVPTL9djy
V6tNL3O7MJmPXXJh+9BAWtRSDuvFSTFpxrz115OL6ZXv811rhGeVJPw9ppT2CfsdygbG
8K5N7amfaOuXeWFrtEKK+AY/17Zx/PBsRV93U=
DomainKey-Signature: a=rsa-sha1; c=nofws;
d=gmail.com; s=gamma;
h=mime-version:date:message-id:subject:from:to:content-type;
b=IhOuyV+QEIkOL2vXdWT2E6w43SaQH9qSpErChfVkH65HjKwokE6U5h3iybgxTX/7VX
/13rWmHm5BM6x6iv172ydaE6hUCi57vfL3sk/azX92ND5t7ghFZTfNa4QiAUmppOJAqY
/9SXXHc8jBBhMOvqg8ujUxLrQxFycWH0IyXxo=
MIME-Version: 1.0
Received: by 10.142.248.9 with SMTP id v9mr887157wfh.308.1268265808825; Wed,
10 Mar 2010 16:03:28 -0800 (PST)
Date: Thu, 11 Mar 2010 07:03:28 +0700
Message-ID:
Subject: anatomi email
From: Kuncoro Dwi Atmojo
To: if17055[at]students.if.itb.ac.id
Content-Type: multipart/mixed; boundary=00504502c9fc0410f704817b2545

–00504502c9fc0410f704817b2545

Pada bagian ini terdapat Return-Path:, Delivered-To:, Received:, Date:, Message-ID:, Subject:, From:,To: , Content-Type:. Return-Path merupakan alamat email tujuan jika e-mail tersebut dibalas. Delivered-To merupakan alamat terkirimnya e-mail ini. Received: menjelaskan perjalanan email tersebut dari (from) dan diterima oleh (by). Dalam hal ini terlihat e-mail dari kuncoro.atmojo[at]gmail.com diterima oleh pwi7, kemudian e-mail di pwi7 dikirim oleh mail-pw0-f43.google.com ke mx1.itb.ac.id, dari mx1.itb.ac.id diteruskan ke postfix, kemudian diterima if17055[at]students.if.itb.ac.id. Date: menjelaskan tanggal dan waktu diterimanya e-mail. Message-ID: menyatakan identitas unik e-mail tersebut. Subject: menjelaskan subjek e-mail. From: menjelaskan pengirim e-mail. To: menjelaskan tujuan e-mail. Content-Type: menjelaskan tipe konten, kemudian terdapat boundary yang menyatakan pembatas antar bagian e-mail.

Body

Content-Type: multipart/alternative; boundary=00504502c9fc0410eb04817b2543
–00504502c9fc0410eb04817b2543
Content-Type: text/plain; charset=ISO-8859-1
Assalamu’alaikum,
tolong diliat anatomi e-mailnya ya
makasih..
–00504502c9fc0410eb04817b2543
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Assalamu’alaikum,=A0<div>tolong diliat anatomi e-mailnya ya<div>makasih=
..</div></div>
–00504502c9fc0410eb04817b2543–

Content-Type: multipart/alternative; boundary=00504502c9fc0410eb04817b2543
–00504502c9fc0410eb04817b2543Content-Type: text/plain; charset=ISO-8859-1
Assalamu’alaikum,tolong diliat anatomi e-mailnya yamakasih..
–00504502c9fc0410eb04817b2543Content-Type: text/html; charset=ISO-8859-1Content-Transfer-Encoding: quoted-printable
Assalamu’alaikum,=A0<div>tolong diliat anatomi e-mailnya ya<div>makasih=..</div></div>
–00504502c9fc0410eb04817b2543–

Body merupakan isi dari e-mail yang dikirim. Pada e-mail ini body dipisahkan oleh boundary –00504502c9fc0410eb04817b2543 , diantara boundary tersebut adalah body e-mail.

Attachment

–00504502c9fc0410f704817b2545
Content-Type: text/plain; charset=US-ASCII; name=”jadwal.txt”
Content-Disposition: attachment; filename=”jadwal.txt”
Content-Transfer-Encoding: base64
X-Attachment-Id: f_g6msog1w1

U2VuaW4gTVNESQ0KU2VsYXNhIEtJDQpSYWJ1IE1hblBybw0KS2FtaXMgRWt0ZWsNCkp1bWF0IEtJ
DQo9PQ0Kc2VuaW4NCjkgTVNESQ0KMTAgTVNESQ0Kc2VsYXNhDQo3IEtJDQo4IEtJDQoxMCBJTUsN
CjExIElNSw0KMTQgQUVJDQoxNSBBRUkNCnJhYnUNCjcgTWFuUHJvDQo4IE1hblBybw0KOSBNU0RJ
DQprYW1pcw0KNyBFa1Rlaw0KOCBFa1Rlaw0KMTAgSU1LDQoxMSBLSQ0KMTUNCjE2DQpqdW1hdA0K
NyBNYW5Qcm8NCg0KMTMgU29zaWYNCjE0IFNvc2lm
–00504502c9fc0410f704817b2545
Content-Type: image/jpeg; name=”becak malioboro.jpg”
Content-Disposition: attachment; filename=”becak malioboro.jpg”
Content-Transfer-Encoding: base64
X-Attachment-Id: f_g6msma2a0

/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEP
ERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4e
Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAHFAlwDASIA
PANJANGBANGETLAHPOKOKNYA
VxOIyMkr05z+Z1ms1IuN1PokN9kkolEisGDHJXGBn/p9NBNbXM9W08SCF4vwkMTg6zWarGXC/mnP
KDtyt8dPLTVirPFKvVIG7vk55P31C2/IEpr7LT0uKemHSBEnYDHv31ms1vad61lTa/KGpJSGZVUB
FBKr6DXK0fxKgztjIOAPbWazWuR3CVR/SSkUkjTpPUyHLu2TrmmQoAOBrNZongK9f//Z
–00504502c9fc0410f704817b2545–

Terdapat dua attachment pada e-mail ini, tiap attachment memiliki header yang menjelaskan tipe konten, encoding yang digunakan dan nama file. Terlihat attachment pertama merupakan text/plain, attachment kedua merupakan image/jpeg. Encoding yang digunakan adalah base64. Header attachment dan isi attachment dipisahkan oleh sebuah baris kosong (sebuah enter). Antara kedua attachment dan antara attachment pertama dengan body terdapat boundary –00504502c9fc0410f704817b2545.

Base64

Salah satu penjelasan mengenai base64 terdapat di wikipedia. Intinya adalah mengubah tiap karakter menjadi 8 bit biner dari kode ASCIInya. Kemudian mengelompokkannya menjadi masing-masing 6bit. Maksimum kemungkinan untuk 6bit biner adalah 64 kombinasi. Tiap 6bit biner tersebut dikonversikan menjadi kode base64 (terdapat 64 kode base64, sesuai dengan jumlah kombinasi yang mungkin dari 6bit biner). 0-25 dikodekan menjadi A-Z, 26-51 dikodekan menjadi a-z, 52-61 dikodekan menjadi 0-9, 62 dikodekan dengan +, 63 dikodekan dengan  /

whois & host

March 2, 2010 1 comment

Kita akan mencoba menggunakan perintah whois dan host. Whois dapat digunakan untuk mengetahui name server dan pengelola suatu situs. Kali ini kita akan mencoba mencari tahu pengelola detik.com

$ whois detik.com

Kemudian akan muncul informasi pengelola dan name server detik.com, seperti berikut ini

Perintah host dapat digunakan untuk mengetahui domain name dan name server dalam cakupan suatu network. Kali ini kita akan menghitung fourth level domain di itb (*.itb.ac.id).

$ host -l itb.ac.id > dn-itb.txt

Read more…

Kaskus Search Form ‘Stress Testing’

February 22, 2010 Leave a comment

Saya akan mencoba mengetes kemampuan search form Kaskus dalam menangani masukan yang sangat besar.

1.  Buka http://kaskus.us

2.  Cari teks yang panjang

3.  Copy teks tersebut

4.  Paste ke search form di kaskus

5.  Search

6.  Apa yang terjadi?

Search form Kaskus tidak dapat menangani masukan yang besar.

Dalam kasus normal seharusnya halaman seperti berikut inilah yang muncul.

Menambahkan Tombol “dislike!” di Facebook

December 18, 2009 2 comments

Gebetan jadian sama orang lain, tapi nggak bisa ngasih “dislike this” di status facebooknya? Ho ho ho, sekarang bisa…

Begini langkahnya:

1. Pastikan anda memakai browser Mozilla Firefox

2. Buka alamat https://addons.mozilla.org/en-US/firefox/addon/13672 atau http://dislikes.info/

3. Klik download now!

4. Ok sudah terinstall, silakan buka facebook

5. Ingat, “as the great power comes great squared current times resistance (P=I^2.R)” , halah, “as the great power comes great responsibility”, ok?

Yang bisa liat tombolnya cuman yang udah nginstall add on ini, jadi ajakin orang lain buat nginstall juga, hehe.

Follow

Get every new post delivered to your Inbox.