STA 4 – How to Break Captcha

May 1, 2007 STA - Secangkir Teh Anget | Comments (16) dj @ 9:52 am

OK.. Ketemu lagi di STA – Secangkir Teh Anget… (bahasa hapalan nih, alias ccp ^_^)

Seperti biasa, seluruh arsip STA bisa di lihat di blog ku:
http://namaku.dijas.net
dan untuk contoh program live beserta gambar dan/atau PDF bisa di lihat dan didownload di:
http://sta.dijas.net

Setelah sebelumnya di ‘STA 3 – *Captcha* Bagaimana Usaha Manusia Membuat Bodoh Komputer’, nah sekarang kita akan ngebahas bagaimana cara nge-break captcha. Kalo nggak ngerti apa artinya captcha, silahkan baca STA 3 di sini => http://namaku.dijas.net/2007/04/16/sta-3-captcha-bagaimana-usaha-manusia-membuat-bodoh-komputer/

Hmm… Entah kapan pernah pas lagi browsing ada situs yang ngebahas tentang nge-break captcha juga, tapi lupa dimana alamatnya. Dia berhasil nge-break captcha di suatu situs dengan program yang dibuat sendiri. Banyak juga yang minta source codenya tapi demi keamanan ga dia kasih tu program 😀 . Hanya aja dia ngejelasin gambaran secara umum tentang bagaimana dia nge-break-nya. Tapi emg dasar para pengunjungnya bebal, udah dibilang ga bakal dikasih source codenya, masih aja pada mintain source codenya 😆

Sekarang aku nyoba untuk ngebahas bagaimana cara ‘nge-break captcha versi dj’ (hehe.. bcanda kok, metode yang aku gunakan ini emg aku bikin sendiri tetapi tetap berdasarkan metode2x yang udah ada :mrgreen: )

Captcha 2x yang akan coba kita tembus sekarang ini adalah captcha2x yang standar. Liat contoh2x captcha standar di bawah ini: (aku ngambilnya dari flazx, ituloh situs tempat donlod ebook 🙂 )

contoh captcha
contoh captcha

Nah.. Sekedar saranku nih…. kalo mau nge-break captcha paling enak yang nggak ada antialiasing dan kalo bisa dalam format gif. Tau antialiasing kan? Nah trus knp format gif? Karena gif itu nyimpen warna apa adanya, kalo pake jpg nanti akan ngebentuk antialiasing sendiri. Jadi bikin repot deh.. 😛

O iya, sebelum dilanjutin aku nggak bermaksud ngajarin untuk cracking atau sejenisnya yah.. Hanya sekedar pengetahuan aja kok 🙂 .

Ok, lanjut..

Nah.. Sebenarnya cara nge-break captcha itu tergantung kasusnya, jadi impementasi untuk tiap kasus captcha kemungkinan besar berbeda walaupun beti (beda tipis :mrgreen: ). Kalau aku sebagai orang yang ingin nge-break captcha di atas, ini tahapan yang akan aku lakuan:
1. Picture Extraction
2. Filling
3. Skletoning
4. Similarity (dengan cara standar atau dengan kecerdasan buatan kayak jst (jaringan syaraf tiruan), dll)

Kita bahas satu persatu:

1. Extract picture
Yang ini artinya misahin antara gambar dengan latarnya. Kebetulan contoh di atas perbedaanya kontras banget, jadi tinggal buang aja warna itemnya. (karena itu aku jadikan contoh, biar ga repot ngejelasinnya gitu hehehe… :mrgreen: )

Trus yang dilakukan adalah pemotongan angka/hurup satu persatu. Caranya gmn? yang paling gampang dengan ngeliat sebaran warnanya. Jadi dibaca per piksel dari horizontal dan vertika. Kalo bingung gambarannya coba liat contoh sebaran warna:

Sebaran warna

Nah.. perhatikan titik merahnya. Itu artinya ada gap/celah kosong. Disitulah kita potong gambarnya untuk mendapatkan hurup perhurup.

2. Filling
Artinya ya ngisi lubang2x yang kosong. Kalo ga salah ada algoritmanya sendiri deh.. tapi untuk contoh spesial ini kita hanya butuh untuk menyatukan warna yang berpendar akibat antialiasing ke satu warna yang dominan. Perhatikan gambar:

Filling

3. Skletoning
Yaahh.. sesuai namanyalah. nyari kerangka dari suatu objek. Metode yang aku gunakan untuk contoh kasus ini adalah metode ‘Zhang dan Suen’. Kalo ga tau di googling aja yah (sori lagi kepanjangan kalo ngebahas ini :mrgreen: ). Perhatikan gambar:

Skletonning

Yah.. karena gambarnya ada sudut2xnya ya jadi kurang bagus hasilnya. tapi gpp kok.. 🙂

4. Similarity
Naahhh… sampe deh ditahap akhir. Kalo yang ini sih terserah kita mau pake cara apa. Bisa pake cara standar: ‘Pixel Counting’ dan ‘Distance measures’ atau pake kecerdasan buatan: ‘jst (jaringan syaraf tiruan)’, dll…

Yah ini sih suka2x kita mau pake apaan. Karena kalo udah lewat tahap skletoning, gambar yang dihasilkan udah ‘normal’.

Yup.. Selesai deh inti pembahasan STA 4 kali ini..

Mungkin ada pertanyaan dari teman2x:
Tanya: “Bagaimana kalo hurup/angkanya dirotasi?”
Jawab: “Ada yang namanya Invariant Moments. Dengan ini tingkat similarity tahan terhadap skala atau rotasi. Gunakan itu pada tahap 4, Similarity”

Tanya: “Bagaimana bikin captcha yang baik?”
Jawab: “Gunakan latar yang bervariasi, tambahkan garis2x, rotasi, distorsi, dll”

Tanya: “Emg apa sampe segitunya orang berniat nge-break captcha?”
Jawab: “Hhmm… Di indonesia belum kerasa kali yah.. tapi kalo di luar ngefek banget tuh. apa lagi untuk ngatasi bot/spam”

Tanya: “Om dj.. prakteknya mana? 😛 ”
Jawab: “Huehehee.. ok2x.. :mrgreen:

Kan ada 4 tahap tuh.. nah anggap aja udah sampe tahap 3 yah, abis males bikin tahap 1 dan 2 :mrgreen: .
Untuk program silahkan donlod di: (dengan asumsi dikomputernya ada Ms ADO 2.5 yah… hmm.. tapi ga usah bingung2x deh.. jalanin aja programnya 🙂 )
http://sta.dijas.net/

Trus nanti pilih folder ‘STA 4 – How to Break Captcha’. Nama filenya Pengolahan Citra Digital.zip

Caranya penggunaannya gampang, klik tombol gambar untuk ambil gambar atau tulis aja hurup di kanvas paling kiri. Trus klik lihat karakter. Mungkin di pentium 3 ke bawah agak lambat karena aku pake timer, biar keliatan tahapan2xnya 🙂 . Udah lengkap dengan tambah data dan lain2xnya.. (tapi databasenya masih dikit sih.. so tambah sendiri)

Untuk contoh gambarnya bisa diliat di sini:

Contoh Program

Huee… dah cape aku nulis STA 4.. :mrgreen: . Programnya dicoba2x sendiri aja yah.. Bikin pake vb, tapi blom aku open source kan karena kodingnya masih brantakan.. malu aku.. 😀 :mrgreen: .

Program itu aku buat waktu ada tugas Pengolahan Citra Digital di S2.

Untuk bung Kholiq.. Waktu itu pernah nanya gmn cara Captcha dengan suara. Hmmm.. caranya cukup simple. Buat file wav untuk tiap2x hurup dan angka. Jadi hurup + angka = 26 + 10 = 36 file. Nanti cara penyampaiannya ke user file2x yang dibutuhkan digabungkan dulu. Misalnya captchanya ‘a3tz5’, nah.. file:
a.wav
3.wav
t.wav
z.wav
5.wav

Digabung jadi satu, misalnya captcha.wav , dan itu yang dikirim ke user…

Ok sekian dulu yah… Seperti biasa: (disclaimer nih ceritanya 😛 )
“aku nulis ini bukan buat menggurui loh, aku juga masih belajar, so sama2x blajar aja. Mohon maap kepada para master kalo ada tulisan ku yang salah, mohon dikoreksi yah… piss ^_^”

c u in next STA – Secangkir Teh Anget ^_^

Regards,

dj

n.b: Teman2x.. kalo program ku di atas itu dilombakan di program Open Source kira2x layak ga yah? Kasih masukan dong… Pengen ikutan soalnya, mana tau nyantol 50 juta ( huehehehe.. mimpi kali yee… :mrgreen: )

16 Comments »

  1. […] atau (dianjurkan seperti yang di bawah ini, karena langsung ke artikel yang anda sadur) Anda bisa melihat artikel lengkapnya/aslinya yang dibuat oleh dj di http://namaku.dijas.net/2007/05/01/sta-4-how-to-break-captcha/ […]

    Pingback by dj’s-Blog » Etika Penyaduran Artikel Blog Ini :: May 24, 2007 @ 6:04 am
  2. mw tnya neh gimana caranya bwt program mencari intensitas citra… bingung bgt neh mw mulai dari mana????
    bisa tolongin g???

    makasih sebelumnya….

    Comment by nita :: March 12, 2008 @ 4:49 pm
  3. siapa pun yang bisa bantuin bwt progam mencari intensitas warna pada citra… bleh tuh kirim ke nita… di nie_hatchi@yahoo.co.id

    makasih sebelumnya….

    Comment by nita :: March 12, 2008 @ 4:51 pm
  4. @nita

    intensitas warna bisa dihitung dari nilai pixelnya. misalnya dihitung dari grayscalenya. Atau hitung dari nilai RGB kemudian dibagi 3

    Regards,

    dj

    Comment by dj :: March 15, 2008 @ 10:12 am
  5. Menarik sekali programnya. Bisa dishare, bro? 🙂

    Comment by Xrvel :: August 18, 2008 @ 5:05 pm
  6. Btw gimana dengan captcha yang berupa animasi, apakah program udah bisa membagi file gbr yg terdiri dari beberapa frame menjadi frame2 terpisah utk kemudian diolah per frame?

    Comment by Xrvel :: August 18, 2008 @ 5:06 pm
  7. @Xrvel

    Menarik sekali programnya. Bisa dishare, bro?

    coba ke: http://sta.dijas.net
    pilih folder sta 4, program diatas aku publikasin kok. Tapi cuman memproses tahap 3-4 :mrgreen: .
    Sedangkan tahap 1 sangat bergantung pada captcha yang digunakan

    Btw gimana dengan captcha yang berupa animasi, apakah program udah bisa membagi file gbr yg terdiri dari beberapa frame menjadi frame2 terpisah utk kemudian diolah per frame?

    Mggak bisa. Karena program yang aku bikin cuman memproses tahap 3-4.

    Untuk captcha animasi (gif), terdiri dari frame2x yang tidak sempurna.
    Misal: (aku ambil dari e-gold, 19 agustus 2008)
    contoh captcha animasi

    Captcha tersebut (menurutku loh) masih bisa untuk ditembus, dengan mengolah per-frame terlebih dahulu.
    Lebih susah, tapi masih memungkinkan 🙂

    Regards,

    dj

    Comment by dj :: August 19, 2008 @ 9:57 am
  8. mas dijas..aku perlu banget tuch coding vb skletoning’nya..please aku buat di delphi jalan tapi di VB nggak jalan..padahal aku perlu banget di VB. ditunggu yach codingnya di “vien-16@plasa.com”
    makasih banyak2.

    Comment by pipin :: September 14, 2008 @ 9:32 pm
  9. beneran ditunggu ya maz secepatnya..coz penting banget source code skletoningnya.

    Comment by pipin :: September 14, 2008 @ 9:36 pm
  10. @pipin

    udah.. walah.. sampe posting berulang2x :mrgreen:

    Comment by dj :: September 16, 2008 @ 4:20 am
  11. Thanks programnya scepetnya aku coba 🙂

    Comment by xrvel :: September 19, 2008 @ 10:39 am
  12. hmm…artikel yang menarik…

    Comment by Awank KostBlogger[dot]com :: January 26, 2009 @ 1:31 pm
  13. this link may be interesting for you,
    http://www.cs.sfu.ca/~mori/research/gimpy/

    nice article 🙂

    Comment by hakimrie :: February 15, 2009 @ 1:21 pm
  14. @Pipin n @dj… boleh gak sy minta source code nya Skletoning. Klo bisa delphi 6 ya…

    Makasih sblmnya

    Comment by Adi Wira :: October 19, 2014 @ 4:14 pm
  15. jocuri mario 2015

    dj's-Blog » STA 4 – How to Break Captcha

    Trackback by jocuri mario 2015 :: October 29, 2016 @ 10:03 pm
  16. jocuri cu mario noi

    dj's-Blog » STA 4 – How to Break Captcha

    Trackback by jocuri cu mario noi :: November 2, 2016 @ 7:49 pm

RSS feed for comments on this post. TrackBack URI

Leave a comment

  1. You must be logged in to post a comment.

    Maaf, anda harus login untuk mengisi komentar.