Home > TIPS & TRICK > Pelajari cara crack jendela, ect program secara manual

Pelajari cara crack jendela, ect program secara manual

Debug adalah sebuah program yang dilengkapi dengan modern versi DOS (Saya tidak tahu kapan saya mulai dengan pengiriman DOS). Anyway, semua pengguna Windows seharusnya sudah ada.

It’s a great alat untuk debuging program unassembling dan cracking, dan membaca “tersembunyi” memori daerah seperti sektor boot, dan banyak lagi.

Berikut ini disalin dari sebuah perkumpulan yang penulis tutorial kami tidak dapat kredit, karena kita tidak memiliki gagasan yang dia.

Masuk DOS dan ketik “debug”, Anda akan mendapatkan prompt seperti ini:

sekarang ketik “?”, maka Anda akan mendapatkan respon sebagai berikut:
berkumpul J [alamat]
C membandingkan rentang alamat
dump D [range]
memasukkan alamat e [daftar]
M rentang daftar isi
go G [= address] [alamat]
hex H nilai1 value2
masukan saya port
load L [address] [drive] [firstsector] [nomor]
memindahkan M rentang alamat
nama N [pathname] [arglist]
output O port byte
melanjutkan P [= address] [nomor]
keluar T
register R [register]
S rentang daftar pencarian
jejak T [= address] [nilai]
unassemble U [range]
write W [address] [drive] [firstsector] [nomor]
mengalokasikan memori diperluas xa [# pages]
deallocate memperluas memori😄 [handle]
peta memori diperluas halaman XM [Lpage] [ppage] [menangani]
menampilkan status memori diperluas XS

Lets melewati setiap perintah:
Berkumpul:

-a
107A: 0100

Pada titik ini Anda bisa mulai assembling beberapa program, seperti menggunakan assembler. Debug assembler namun masih sangat terbatas karena Anda mungkin akan melihat. Mari kita coba untuk memasukkan program sederhana:

-a
107A: 0100 MOV AH, 02
107A: 0102 MOV DL, 41
107A: 0104 INT 21
107A: 0106 INT 20
g –
Sebuah

Program dihentikan biasanya

Itu program yang sama kita lakukan pada akhir bab sebelumnya. Perhatikan cara anda menjalankan program yang baru saja Anda masukkan dengan “g”, dan juga melihat bagaimana setup bagian tidak ada? Hal ini disebabkan karena terlalu debug hanya terbatas untuk mendukung itu.
Satu hal yang dapat Anda lakukan adalah menentukan berkumpul dengan alamat di mana Anda ingin memulai, secara default sejak 0100 ini adalah bahwa dari semua tempat. COM file dimulai.
Bandingkan:

Bandingkan mengambil 2 blok memori dan menampilkannya berdampingan, byte untuk byte. Mari kita lakukan contoh. Cukup dari debug jika Anda belum menggunakan “q”. Sekarang ketik “debug c: \ command.com”

0100 l-c 8 0200
10A3: 0100 7A 06 10A3: 0200

Perintah ini offset 0100 dibandingkan dengan 0200 yang panjang dari 8 byte. Debug merespon dengan lokasi yang DIFFERENT. Jika 2 adalah lokasi yang sama, hanya debug akan mengabaikan mereka, jika semua adalah sama debug hanya akan kembali ke prompt tanpa respon.
Dump:

Dump akan dump memori segmen tertentu. Untuk menguji ini, kode program yang berkumpul kembali:

C: \> debug
-a
107A: 0100 MOV AH, 02
107A: 0102 MOV DL, 41
107A: 0104 INT 21
107A: 0106 INT 20
0100 l-d 8
107A: 0100 B4 02 B2 41 CD 21 CD 20
A. …!.

The “B4 02 B2 41 CD 21 CD 20” adalah program yang baru saja dibuat dalam bahasa mesin.

= B4 02 MOV AH, 02
B2 = 41 MOV DL, 41
CD 21 INT = 21
CD 20 INT = 20

The “A. …!.” Anda adalah bagian program ASCII. The “.” mewakili non-printable karakter. A pemberitahuan di sana.
Masukkan:

Ini adalah salah satu perintah keras. Dengan itu, Anda dapat memasukkan / mengubah memori daerah tertentu. Lets mengubah program kami sehingga cetak yang B, bukan yang A.
E-0103 <- mengedit program di segmen 0103
107A: 0103 41,42 <- ganti 41-42
g –
B

Program dihentikan biasanya

Wasn’t that amazing?
Isi:

Perintah ini cukup berguna, tapi yang tahu ….
It mengisi yang ditentukan jumlah memori dengan data yang ditentukan. Memungkinkan misalnya mengosongkan semua memori dari segmen 0100-0108, yang akan terjadi pada program kami.
0100 l-f 8 0 <- file offset 0100 yang panjang dari 8 byte dengan 0
d-0100 l 8 <- memastikan bahwa ia bekerja
107A: 0100 00 00 00 00 00 00 00 00 …….
Yep, it worked.
Go:

Sejauh ini kita pergi digunakan (g) untuk menjalankan program ini kami baru saja dibuat. Menuju tapi dapat digunakan untuk banyak lagi. Sebagai contoh, mari kita katakan kita ingin menjalankan program di 107B: 0100:
CS-r <- mengatur CS mendaftar untuk menunjuk ke 107B
CS 107A
: 107B
-g = 100

Anda juga dapat menetapkan breakpoints.
-a <- memasuki awal program kami, sehingga kami memiliki
107A: 0100 MOV AH, 02 untuk bekerja dengan
107A: 0102 MOV DL, 41
107A: 0104 INT 21
107A: 0106 INT 20
-g 102 <- set up a break point di 107A: 0102

Pada saat ini program akan berhenti, menampilkan semua register dan instruksi yang sekarang.
Hex:

Hal ini dapat sangat berguna. It mengurangi dan menambah dua nilai heksadesimal:
h-2 1
0003 0001 <- 2h + 1 + = 3h dan 2h – 1h = 1h

Hal ini sangat berguna untuk menghitung program panjang, karena Anda akan lihat nanti.
Input:

Ini adalah salah satu perintah lebih maju, dan saya memutuskan untuk tidak berbicara tentang itu terlalu banyak untuk saat ini. Akan membaca byte data dari komputer Anda I / O port (keyboard, mouse, printer, dll).

i-3FD
60

Data Anda mungkin berbeda.
Jika anda ingin tahu, 3FD adalah port Com 1, juga dikenal sebagai Pertama Asynchronous Adapter.
Memuat:

Perintah ini memiliki 2 format. Dapat digunakan untuk membuka file ditentukan dengan nama perintah (n), atau dapat memuat sektor tertentu.

n-c: \ command.com
-l

Ini akan menjadi beban command.com debug. Ketika program yang valid diambil semua register akan menyiapkan dan siap untuk melaksanakan program.
Metode lainnya adalah sedikit lebih rumit, tetapi juga potensi lebih bermanfaat. Sintaks adalah

L <address> <drive letter/> <sector> <amount ke load>
l-100 2 10 20

Beban ini akan dimulai pada 0100 offset dari drive C (0 = A, 1 = B, 2 = C, dll), sektor 10h untuk sektor 20h. Hal ini dapat berguna untuk memulihkan file yang dihapus.
Pindah:

Memindahkan memerlukan byte dari alamat dan mulai bergerak ke alamat tujuan. Hal ini sangat baik untuk sementara memindahkan data ke dalam sebuah daerah, daripada memanipulasinya tanpa harus khawatir tentang mempengaruhi program yang asli. Hal ini berguna terutama jika digunakan bersama-sama dengan r yang akan saya dapatkan nanti. Mari kita coba contoh:
-a <- memasuki awal program kami, sehingga kami memiliki
107A: 0100 MOV AH, 02 untuk bekerja dengan
107A: 0102 MOV DL, 41
107A: 0104 INT 21
107A: 0106 INT 20
m-107A: 0100 L 8 107B: 0100 <- 8 byte lagi mulai dari 107A: 0100 menjadi 107B: 0100
e-107B: 0103 <- mengedit 107B: 0103
107B: 0103 41,42 <- dan mengubahnya 42 (
d-107A: 0100 L 8 <- pastikan bekerja
107A: 0100 B4 02 B2 41 CD 21 CD 20 A. …!.
d-107B: 0100 L 8
107A: 0100 B4 02 B2 42 CD 21 CD 20 B. …!.
m-107B: 0100 L 8 107A: 0100 <- mengembalikan kami sejak awal program seperti perubahan.
Nama:

Ini akan menetapkan debug dengan nama file yang digunakan untuk I / O perintah. Anda harus menyertakan ekstensi file, dan Anda juga dapat menggunakan perintah:

n-c: \ command.com
Output:

Exactly what you think it is. Output akan mengirim barang ke salah satu I / O port. Jika Anda memiliki modem eksternal dengan lampu yang sejuk, anda dapat menguji ini keluar. Mengetahui apa port modem Anda dan menggunakan angka heksa yang sesuai di bawah ini:

Com 1 = 3F8 – 3FF (3DF untuk tambang)
Com 2 = 2F8 – 2FF
Com 3 =? -? (jika seseorang tahu, silakan beritahu saya)

Sekarang mengaktifkan DTA (Data Terminal Ready) sedikit kepada 01h ke:
1 XXX-o <- XXX adalah com port di hex

Segera setelah anda tekan enter, lihat modem Anda, Anda akan melihat cahaya lampu menyala. Anda dapat memiliki lebih menyenangkan dengan output perintah. Katakanlah seseorang yang meletakkan salah satu password BIOS pada “Anda” komputer. Biasanya Anda harus mengeluarkan baterai bisa sembuh, tetapi tidak lagi:

MI / AWARD BIOS
-o 70 17
-o 71 17

QPHOENIX BIOS
-o 70 FF
-o 71 17

QGENERIC
-o 70 2E
-o 71 FF

Perintah ini akan menghapus BIOS memori, sehingga nonaktifkan password.
Melanjutkan:

Hasil dalam pelaksanaan sebuah program, biasanya digunakan bersama-sama mengotot Trace, yang akan mencakup nanti. Seperti perintah lanjut, Anda dapat menentukan alamat yang akan memulai

= menggunakan alamat
-p 2

Debug akan merespon dengan register dan saat ini perintah yang akan dijalankan.
Cukup:

Hal ini bisa menjadi yang paling canggih fitur debug, ia keluar debug!

q –
Register:

Perintah ini dapat digunakan untuk menampilkan nilai sekarang semua register, atau secara manual mengatur mereka. Hal ini sangat berguna untuk menulis file-file yang Anda akan lihat nanti.

r-Ax
Ax: 011B
: 5

Search:

Lain sangat berguna perintah. Digunakan untuk menemukan terjadinya byte tertentu, atau serangkaian byte dalam segmen. Data yang dapat mencari baik karakter, atau nilai hex. Hex nilai-nilai yang dimasukkan dengan spasi atau koma di antara mereka, dan karakter yang ditutupi dengan tanda kutip (satu atau dua kali). Anda juga dapat mencari hex dan karakter yang sama dengan string:
-nc: \ command.com <- beban command.com, jadi kami memiliki beberapa data ke dalam pencarian
-l
-s 0 l 0 “MS-DOS” <- cari seluruh blok memori untuk “MS-DOS”
10A3: 39E9 <- ditemukan dalam string 10A3: 39E9

CATATAN: pencarian adalah sensitif huruf!
Trace:

Ini adalah benar-benar besar fitur debug. Akan jejak melalui program satu instruksi pada satu waktu, menampilkan instruksi dan register setelah masing-masing. Seperti pergi perintah Anda dapat menentukan di mana harus mulai dari pelaksana, dan untuk berapa lama.
-a <- yes, hal ini lagi
107A: 0100 MOV AH, 02
107A: 0102 MOV DL, 41
107A: 0104 INT 21
107A: 0106 INT 20
-t = 0100 8

Jika anda biarkan jumlah instruksi yang akan jejak, Anda bisa menggunakan melanjutkan (p) untuk melanjutkan pelaksanaan selama Anda inginkan.
Unassemble:

Unassembles blok kode. Great for debugging (dan cracking)
L-100 u 8 <- 8 bytes unassembles mulai dari offset 100
107A: 0100 MOV AH, 02 <- debut tanggapan
107A: 0102 MOV DL, 41
107A: 0104 INT 21
107A: 0106 INT 20
Write:

Perintah ini bekerja sangat mirip dengan Load. Ia juga mempunyai 2 cara dapat beroperasi: menggunakan nama, dan dengan menentukan lokasi yang tepat. Lihat kembali ke Muat untuk informasi lebih lanjut.

CATATAN: Cx mendaftar harus mengatur ukuran file untuk menulis!
NOTE: Tulis tidak akan menulis. EXE atau. Hex file. [SIZE = 7] [SIZE = 14]

Categories: TIPS & TRICK
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: