Showing posts with label Coding n Debug. Show all posts
Showing posts with label Coding n Debug. Show all posts
0

DOS (Disk Operating System) adalah sistem operasi berbasis teks yang dikeluarkan microsoft sebelum windows. Sama seperti Terminal di Linux, DOS memiliki daftar perintah berbasis teks yang harus diketik di Console DOS atau lazim disebut Command Prompt. Mengetahui penggunaan perintah DOS adalah pengetahuan tersendiri yang perlu dipahami oleh administrator jaringan berbasis windows. Anda akan lebih mudah menguasai NetBios Hacking atau remote komputer berbasis console di windows dengan mengetahui perintah- perintah DOS.

Berikut daftar lengkap perintah DOS beserta fungsinya :

# ADDUSERS : Menambah/melihat daftar user melalui CSV file
# ARP : Address Resolution Protocol
# ASSOC : Mengganti ekstensi file asosiasi
# ASSOCIAT : Menjalankan file asosiasi satu langkah
# AT : Menjadwalkan perintah yang akan dijalankan lain waktu
# ATTRIB : Mengganti attribut file

# BOOTCFG : Mengedit pengaturan Windows boot
# BROWSTAT : Mengambil domain, browser dan PDC info

# CACLS : Mengganti permision file
# CALL : Memanggil salah satu program dari kelompok program
# CD : Pindah direktori/pindah folder
# CHANGE : Mengganti properties Terminal Server Session
# CHKDSK : Cek disk/harddisk dan memperbaiki permasalah harddisk
# CHKNTFS : Cek NTFS file system
# CHOICE : Menyetujui/memilih tombol input keyboard untuk memanggil file
# CIPHER : Enkripsi/dekripsi file atau folder
# CleanMgr : Menghapus otomatis temporary file termasuk recycle bin
# CLEARMEM : Menghapus/membersihkan memory
# CLIP : Mengcopy STDIN ke Windows clipboard.
# CLS : Membersihkan/menghilangkan layar
# CLUSTER : Clustering Windows
# CMD : Memulai/membuka command prompt
# COLOR : Mengganti warna layar command prompt
# COMP : Membandingkan isi dua file atau lebih
# COMPACT : Mengompress file atau folder pada partisi NTFS
# COMPRESS : Mengompress sebuah file pada partisis NTFS
# CON2PRT : Menghubungkan atau memutus koneksi printer
# CONVERT : Mengganti dari partisi FAT ke NTFS.
# COPY : Mencopy satu atau lebih files
# CSVDE : Import/Export Active Directory data

# DATE : Menampilkan tanggal
# Dcomcnfg : DCOM Configuration Utility
# DEFRAG : Mendefragmen harddisk
# DEL : Menghapus file
# DELPROF : Menghapus profil user NT
# DELTREE : Menghapus folder dan subfolder
# DevCon : Device Manager Command Line Utility
# DIR : Menampilkan daftar file dan folder
# DIRUSE : Menampilkan daftar disk yang terpakai
# DISKCOMP : Membandingkan isi dua buah floppy disk
# DISKCOPY : Mengcopy isi Floppy disk
# DNSSTAT : DNS Statistik
# DOSKEY : Mengedit baris perintah, memanggil ulang perintah, dan membuat macros
# DSADD : Menambah user dan grup komputer di active directory
# DSQUERY : Menampilkan daftar item di active directory
# DSMOD : Memodifikasi user dan grup komputer di active directory

# ECHO : Menampilkan pesan di layar
# ENDLOCAL : Menampilkan perubahan pada akhir kelompok file
# ERASE : Menghapus satu atau lebih file
# EXIT : Keluar dari commant prompt
# EXPAND : Menggelar file
# EXTRACT : Mengekstrak file

# FC : Membandingkan dua file
# FDISK : Menampilkan format disk dan partisi
# FIND : Mencari sebuah file
# FINDSTR : Mencari file berdasarkan potongan kata
# FOR : Menampilkan kondisi terakhir yang terjadi pada waktu terakhir
# FORFILES : Menampilkan proses kelompok file
# FORMAT : Memformat disk
# FREEDISK : Melihat kapasitas disk yang kosong
# FSUTIL : Utilitas file dan volume file
# FTP : File Transfer Protocol
# FTYPE : Menampilkan atau mengganti ekstensi file

# GLOBAL : Menampilkan user dari grup global
# GOTO : Mengakses langsung kelompok program melalui label program pada command line

# HELP : Bantuan
# HFNETCHK : Network Security Hotfix Checker

# IF : Salah satu perintah kondisi
# IFMEMBER : Kondisi salah satu user di NT Workgroup
# IPCONFIG : Konfigurasi IP (Internet Protocol)

# KILL : Mematikan/menghapus program yang sedang berjalan di memory

# LABEL : Mengganti label disk
# LOCAL : Menampilkan anggota sebuah grup
# LOGEVENT : Menulis file di NT event viewer.
# LOGOFF : Logoff
# LOGTIME : Menampilkan Log tanggal dan waktu pada sebuah file

# MAPISEND : Mengirim e-mail dengan baris perintah
# MEM : Menampilkan memori yang terpakai
# MD : Membuat sebuah folder
# MODE : Mengkonfigurasi system device
# MORE : Menampilakn output/hasil berikutnya dilayar
# MOUNTVOL : Manajemen volume mount point
# MOVE : Memindahkan file
# MOVEUSER : Memindahkan user
# MSG : Mengirim pesan
# MSIEXEC : Microsoft Windows Installer
# MSINFO : Windows NT diagnosik
# MSTSC : Terminal Server Connection (Remote Desktop Protocol)
# MUNGE : Mencari dan mereplika teks dalam sebuah file
# MV : Mencopy file yang sedang aktif

# NET : Manajemen jaringan yang digunakan
# NETDOM : Domain Manager
# NETSH : Mengkonfigurasi network protocols
# NETSVC : Daftar perintah Service Controller
# NBTSTAT : Menampilkan statistik jaringan (NetBIOS TCP/IP)
# NETSTAT : Menampilkan statistik jaringan (TCP/IP)
# NOW : Menampilkan tanggal dan waktu sekarang
# NSLOOKUP : Name server lookup
# NTBACKUP : Membackup file
# NTRIGHTS : Mengedit user
# PATH : Menampilkan alamat (path) sebuah program
# PATHPING : Menelusuri jejak koneksi yang terganggu dan kehilangan paket
# PAUSE : Mengentikan proses sejenak pada program atau perintah yang sedang berjalan
# PERMS : Menampilkan user permition
# PERFMON : Memonitor permorma
# PING : Mengetes koneksi jaringan
# POPD : Restore ke harga awal pada direktori asli berdasarkan PUSHD
# PORTQRY : Menampilkan status port dan services
# PRINT : Mencetak teks
# PRNCNFG : Menampilkan, mengkonfigurasi atau mengganti nama printer
# PRNMNGR : Menambah, menghapus atau mendefault printer
# PROMPT : Mengganti perintah
# PsExec : Mengeksekusi proses secara remote
# PsFile : Menampilkan file yang terbuka secara remote
# PsGetSid : Menampilkan SID komputer pengguna
# PsInfo : Menampilkan informasi sistem komputer
# PsKill : Mematikan proses berdasarkan nama atau ID proses
# PsList : Menampilkan detail proses yang sedang berjalan
# PsLoggedOn : Melihat siapa yang sedang Logon baik local maupun sharing
# PsLogList : Menampilkan rekaman LOG
# PsPasswd : Mengganti password account
# PsService : Menampilkan dan mengontrol services
# PsShutdown : Shutdown atau merestart komputer
# PsSuspend : Suspend
# PUSHD : Menyimpan kemudian mengganti pada direktori asli
# QGREP : Mencari file berdasarkan pola

# RASDIAL : Manajemen RAS connections
# RASPHONE : Manajemen RAS connections
# RECOVER : Merecover file yang rusak dari disk
# REG : Membaca, mengeset atau menghapus registry key atau value
# REGEDIT : Mengimpor/eksport pengaturan registry
# REGSVR32 : Register atau unregister DLL file
# REGINI : Mengganti Registry Permissions
# REM : Merekam komentar pada kelompok file
# REN : Mengganti nama file
# REPLACE : Menindih (replace) atau mengupdate file dengan file lainya
# RD : Menghapus folder
# RDISK : Membuat Recovery Disk
# RMTSHARE : Sharing folder atau printer
# ROBOCOPY : Menyalin file atau folder secara keseluruhan (asli)
# ROUTE : Manipulasi network routing tabel
# RUNAS : Menjalankan program pada user account berbeda
# RUNDLL32 : Menjalankan perintah DLL32

# SC : Service Control
# SCHTASKS : Membuat atau mengedit schedule task
# SCLIST : Menampilkan service NT yang sedang berjalan
# ScriptIt : Mengontrol aplikasi GUI
# SET : Menampilkan, mengeset atau menghapus variabel tertentu
# SETLOCAL : Mengubah local konfigurasi sementara pada kelompok file
# SETX : Mengatur konfigurasi variabel secara permanen
# SHARE : Menampilkan atau mengedit data/printer sharing
# SHIFT : Menyisipkan parameter pada kelompok file
# SHORTCUT : Membuat shortcut file
# SHOWGRPS : Menampilkan NT Workgroups user yang tergabung
# SHOWMBRS : Menampilkan keanggotaan user pada sebuah workgroup
# SHUTDOWN : Mematikan komputer
# SLEEP : Mematikan sementara (x second)
# SOON : Menjadwalkan perintah agar berjalan pada waktu yang akan datang
# SORT : Sort input
# START : Menjalankan program tertentu pada jendela terpisah
# SU : Switch User
# SUBINACL : Edit file, folder Permissions, Ownership dan Domain
# SUBST : Mengurutkan lokasi berdasarkan drive letter
# SYSTEMINFO : Menampilkan daftar konfigurasi sistem

# TASKLIST : Menampilkan daftar aplikasi dan service yang sedang berjalan
# TIME : Menampilkan atau mengkonfigurasi tanggal/waktu
# TIMEOUT : Penundaan proses
# TITLE : Mengatur judul jendela CMD.EXE pada waktu berjalan
# TOUCH : Mengganti stempel waktu (timestamps) file
# TRACERT : Menelusuri route jaringan pada remote host
# TREE : Menampilkan folder terstruktur pada mode grafis
# TYPE : Menampilkan isi sebuah file

# USRSTAT : Menampilkan daftar nama domain dan sesi login terakhir

# VER : Menampilkan informasi versi
# VERIFY : Memverifikasi file yang telah disimpan
# VOL : Menampilkan label disk

# WHERE : Menentukan dan menampilkan lokasi file pada stuktur direktori
# WHOAMI : Menampilkan UserName dan domain sebenarnya
# WINDIFF : Membandingkan isi dua buah file dan konfigurasinya
# WINMSD : Diagnosa sistem windows
# WINMSDP : Diagnosa sistem windows lainya
# WMIC : Perintah WMI

# XCACLS : Mengganti file permission
# XCOPY : mengcopy files dan folder
0
JA (jump if above): Lompat, jika Operand1 > Operand2 untuk bilangan tidak bertanda.
JG (jump if greater) : Lompat, jika Operand1 > Operand2 untuk bilangan bertanda
JE (jump if equal) : Lompat, jika Operand1 = Operand2
JNE (jump if not equal) : Lompat, jika Operand1 tidak sama dengan Operand2
JB (jump if bellow) : Lompat, jika Operand1 < Operand2 untuk bilangan tidak bertanda JL (jump if less) : Lompat, jika Operand1 < Operand2 untuk bilangan bertanda JBE (jump if bellow or equal): Lompat, jika operand1 < = Operand2 untuk bilangan tidak bertanda JLE (jump if less or equal) : Lompat, jika Operand1 < = Operand2 untuk bilangan bertanda JAE (jump if above or equal): Lompat, jika Operand1 >= Operand2 untuk bilangan tidak bertanda
JGE (jump if greater or equal) : Lompat, jika Operand1 >= Operand2 untuk bilangan bertanda
JC (jump carry) : Lompat, jika Carry flag=1
JCXZ (jump if CX is zero) : Lompat, jika CX=0
JNA (jump if not above) : Lompat, jika Operand1 < Operand2 dengan CF=1 atau ZF=1 JNAE (jump if not above nor equal): Lompat, jika Operand1 < Operand2 dengan CX=1 JNB (jump if not bellow) : Lompat, jika Operand1 > Operand2 dengan CF=0
JNBE (jump if not bellow nor equal): Lompat, jika Operand1 > Operand2 dengan CF=0 dan ZF=0
JNC(jump if no carry) : Lompat, jika CF=0
JNG (jump if not greater) : Lompat, jika Operand1 <= Operand2 dengan ZF=1 atau SF tidak sama OF JNGE (jump if not greater not equal): Lompat, jika Operand1 < = Operand2 dengan SF tidak sama OF JNL (jump if not less): Lompat, jika Operand1 >= Operand2 dengan SF=OF
JNLE (jump if not less nor equal): Lompat, jika Operand1 > Operand2 dengan ZF=0 dan SF=OF
JNO (jump if no overflow): Lompat, jika tidak terjadi tidak terjadi Overflow
JNP (jump if not parity) : Lompat, jika Ganjil
JNS (jump if no sign) : Lompat, jika SF=0
JNZ (jump if not zero) : Lompat, jika tidak 0
JO (jump on overflow) : Lompat, jika OF=1
JP (jump on parity) : Lompat, jika Genap
JPE (jump if parity event) : Lompat, jika PF=1
JPO (jump if parity odd) : Lompat, jika PF=0
JS (jump on sign) : Lompat, jika SF=1
JZ (jump is zero) : Lompat, jika 0

source
0

Assembler directives
Directives adalah perintah yang ditujukan kepada assembler ketika sedang menerjemahkan program kita ke bahasa mesin. Directive dimulai dengan tanda titik.
.model : memberitahu assembler berapa memori yang akan dipakai oleh program kita. Ada model tiny, model small, model compact, model medium, model large, dan model huge.
.data : memberitahu assembler bahwa bagian di bawah ini adalah data program.
.code : memberitahu assembler bahwa bagian di bawah ini adalah instruksi program.
.stack : memberitahu assembler bahwa program kita memiliki stack. Program EXE harus punya stack.
Definisi data
DB : define bytes. Membentuk data byte demi byte. Data bisa data numerik maupun teks.
catatan: untuk membentuk data string, pada akhir string harus diakhiri tanda dolar ($).
sintaks: {label} DB {data}
contoh: teks1 db "Hello world $"
DW : define words. Membentuk data word demi word (1 word = 2 byte).
sintaks: {label} DW {data}
contoh: kucing dw ?, ?, ? ;mendefinisikan tiga slot 16-bit yang isinya don't care (disimbolkan dengan tanda tanya)
DD : define double words. Membentuk data doubleword demi doubleword (4 byte).
sintaks: {label} DD {data}
EQU : equals. Membentuk konstanta.
sintaks: {label} EQU {data}
contoh: sepuluh EQU 10
untuk assembly yang melibatkan bilangan pecahan (floating point) saya belum belajar, jadi dalam tutorial ini saya hanya memakai bilangan bulat (integer).
Sebenarnya masih ada DF (define far words), DQ (define quad words), dan DT (define ten bytes).



Perpindahan data
MOV : move. Memindahkan suatu nilai dari register ke memori, memori ke register, atau register ke register.
sintaks: MOV {tujuan}, {sumber}
contoh:
mov AX, 4C00h ;mengisi register AX dengan 4C00(hex).
mov BX, AX ;menyalin isi AX ke BX.
mov CL, [BX] ;mengisi register CL dengan data di memori yang alamatnya ditunjuk BX.
mov CL, [BX] + 2 ;mengisi CL dengan data di memori yang alamatnya ditunjuk BX lalu geser maju 2 byte.
mov [BX], AX ;menyimpan nilai AX pada tempat di memori yang ditunjuk BX.
mov [BX] - 1, 00101110b ;menyimpan 00101110(bin) pada alamat yang ditunjuk BX lalu geser mundur 1 byte.
LEA : load effective address. Mengisi suatu register dengan alamat offset sebuah data.
sintaks: LEA {register}, {sumber}
contoh: lea DX, teks1
XCHG : exchange. Menukar dua buah register langsung.
sintaks: XCHG {register 1}, {register 2}
Kedua register harus punya ukuran yang sama. Bila sama-sama 8 bit (misalnya AH dengan BL) atau sama-sama 16 bit (misalnya CX dan DX), maka pertukaran bisa dilakukan.
Sebenarnya masih banyak perintah perpindahan data, misalnya IN, OUT, LODS, LODSB, LODSW, MOVS, MOVSB, MOVSW, LDS, LES, LAHF, SAHF, dan XLAT. Tapi semua ini ribet dan bikin pusing pembaca.
Operasi logika
AND : melakukan bitwise and.
sintaks:
AND {register}, {angka}
AND {register 1}, {register 2}
hasil disimpan di register 1.
contoh:
mov AL, 00001011b
mov AH, 11001000b
and AL, AH ;sekarang AL berisi 00001000(bin), sedangkan AH tidak berubah.
OR : melakukan bitwise or.
sintaks:
OR {register}, {angka}
OR {register 1}, {register 2}
hasil disimpan di register 1.
NOT : melakukan bitwise not (one's complement)
sintaks: NOT {register}
hasil disimpan di register itu sendiri.
XOR : melakukan bitwise eksklusif or.
sintaks:
XOR {register}, {angka}
XOR {register 1}, {register 2}
hasil disimpan di register 1.
Tips: sebuah register yang di-XOR-kan dengan dirinya sendiri akan menjadi berisi nol.
SHL : shift left. Menggeser bit ke kiri. Bit paling kanan diisi nol.
sintaks: SHL {register}, {banyaknya}
SHR : shift right. Menggeser bit ke kanan. Bit paling kiri diisi nol.
sintaks: SHR {register}, {banyaknya}
ROL : rotate left. Memutar bit ke kiri. Bit paling kiri jadi paling kanan kali ini.
sintaks: ROL {register}, {banyaknya}
Bila banyaknya rotasi tidak disebutkan, maka nilai yang ada di CL akan digunakan sebagai banyaknya rotasi.
ROR : rotate right. Memutar bit ke kanan. Bit paling kanan jadi paling kiri.
sintaks: ROR {register}, {banyaknya}
Bila banyaknya rotasi tidak disebutkan, maka nilai yang ada di CL akan digunakan sebagai banyaknya rotasi.
Perintah menarik yang tidak dijelaskan di sini: RCL dan RCR.
Operasi matematika
ADD : add. Menjumlahkan dua buah register.
sintaks: ADD {tujuan}, {sumber}
operasi yang terjadi: tujuan = tujuan + sumber.
carry (bila ada) disimpan di CF.
ADC : add with carry. Menjumlahkan dua register dan carry flag (CF).
sintaks: ADC {tujuan}, {sumber}
operasi yang terjadi: tujuan = tujuan + sumber + CF.
carry (bila ada lagi) disimpan lagi di CF.
INC : increment. Menjumlah isi sebuah register dengan 1. Bedanya dengan ADD, perintah INC hanya memakan 1 byte memori sedangkan ADD pakai 3 byte.
sintaks: INC {register}
SUB : substract. Mengurangkan dua buah register.
sintaks: SUB {tujuan}. {sumber}
operasi yang terjadi: tujuan = tujuan - sumber.
borrow (bila terjadi) menyebabkan CF bernilai 1.
SBB : substract with borrow. Mengurangkan dua register dan carry flag (CF).
sintaks: SBB {tujuan}, {sumber}
operasi yang terjadi: tujuan = tujuan - sumber - CF.
borrow (bila terjadi lagi) menyebabkan CF dan SF (sign flag) bernilai 1.
DEC : decrement. Mengurang isi sebuah register dengan 1. Jika SUB memakai 3 byte memori, DEC hanya memakai 1 byte.
sintaks: DEC {register}
MUL : multiply. Mengalikan register dengan AX atau AH.
sintaks: MUL {sumber}
Bila register sumber adalah 8 bit, maka isi register itu dikali dengan isi AL, kemudian disimpan di AX.
Bila register sumber adalah 16 bit, maka isi register itu dikali dengan isi AX, kemudian hasilnya disimpan di DX:AX. Maksudnya, DX berisi high order byte-nya, AX berisi low order byte-nya.
IMUL : signed multiply. Sama dengan MUL, hanya saja IMUL menganggap bit-bit yang ada di register sumber sudah dalam bentuk two's complement.
sintaks: IMUL {sumber}
DIV : divide. Membagi AX atau DX:AX dengan sebuah register.
sintaks: DIV {sumber}
Bila register sumber adalah 8 bit (misalnya: BL), maka operasi yang terjadi:
-AX dibagi BL,
-hasil bagi disimpan di AL,
-sisa bagi disimpan di AH.
Bila register sumber adalah 16 bit (misalnya: CX), maka operasi yang terjadi:
-DX:AX dibagi CX,
-hasil bagi disimpan di AX,
-sisa bagi disimpan di DX.
IDIV : signed divide. Sama dengan DIV, hanya saja IDIV menganggap bit-bit yang ada di register sumber sudah dalam bentuk two's complement.
sintaks: IDIV {sumber}
NEG : negate. Membuat isi register menjadi negatif (two's complement). Bila mau one's complement, gunakan perintah NOT.
sintaks: NEG {register}
hasil disimpan di register itu sendiri.