Не важно, как медленно ты продвигаешься, главное, что ты не останавливаешься.


Tuesday, 10 May 2016

Python for Fun

Berangkat dari pengalaman pribadi membuat program sederhana untuk bermain di CTF, akhirnya saya berniat untuk mendokumentasikan beberapa library yang berguna atau mungkin sering digunakan dalam permainan ini. Itung-itung untuk catatan pribadi agar tidak berceceran di desktop saya. Semua yang saya tulis disini akan di update seiring dengan berjalannya waktu, karena soal CTF sangat variatif dan berbeda-beda disetiap eventnya. So, langsung saja disimak dan mulai menulis code.

Daftar Isi:
String Operation
Regular Expression

String Operation

Pengolahan string merupakan hal yang banyak dilakukan, terutama dalam mengolah input. Mulai dari slice, split, reverse, up/lowercase, dll. Berfungsi untuk mengolah input sesuai dengan format yang diinginkan.
Slice
>>> kata = 'halo dunia'
#nyomot huruf melalui index
>>> kata[0]
'h'
>>> kata[2]
'l'
>>> kata[-1]
'a'

#memotong string, format string[start:end]
>>> kata[:2]
'ha'
>>> kata[:-2]
'halo dun'
>>> kata[-2:]
'ia'
>>> kata[-8:]
'lo dunia'
>>> kata[2:8]
'lo dun'

#reverse string
>>> kata[::-1]
'ainud olah'

#split string, memisahkan string dalam kalimat menjadi array
#contoh, memisahkan string kata dengan pembatas spasi
>>> kata = 'halo dunia'
>>> kata.split()
['halo', 'dunia']

#memisahkan string dengan delimiter '/'
>>> 'potong/potong/kata'.split('/')
['potong', 'potong', 'kata']

#Uppercase
>>> kata = 'Halo Dunia'
>>> kata.upper()
'HALO DUNIA'

#lowercase
>>> kata = 'Halo Dunia'
>>> kata.lower()
'halo dunia'

Regular Expression

Regular expression (regex)merupakan fungsi yang sangat berguna untuk pencarian string/ pola huruf, atau bisa juga sebagai filter untuk menampilkan informasi yang kita cari. Contohnya, kita ingin mengumpulkan link yang ada dihalaman website, maka regex sangat berperan dalam kasus ini.
>>> import re
>>> urls = "visit http://www.crackatoa.id and then like us on the http://www.facebook.com"
>>> re.findall(r"http[^\.]+\.*[\w|\d]+\.\w{1,3}",urls)
['http://www.crackatoa.id', 'http://www.facebook.com']

Untuk latihan dapat menggunakan regex tester, http://myregexp.com/ 
Untuk regex cheatsheetnya:
http://www.rexegg.com/regex-quickstart.html
https://www.cheatography.com/davechild/cheat-sheets/regular-expressions/

5 λ .: May 2016 Berangkat dari pengalaman pribadi membuat program sederhana untuk bermain di CTF, akhirnya saya berniat untuk mendokumentasikan beberapa lib...
< >