Wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

5. Analisis Reverse Engineering

Total questions: 20

Worksheet time: 10mins

Name
Class
Date
1.

Apa itu reverse engineering dalam konteks perangkat lunak?

a)

Reverse engineering adalah cara untuk menciptakan perangkat lunak baru dari nol.

b)

Reverse engineering adalah teknik untuk menghapus fitur dari perangkat lunak.

c)

Reverse engineering adalah proses memperbaiki perangkat lunak yang rusak.

d)

Reverse engineering adalah proses menganalisis perangkat lunak untuk memahami cara kerjanya.

2.

Sebutkan dua metode umum untuk menganalisis perangkat lunak tanpa kode sumber!

a)

Analisis Dinamis dan Analisis Statis

b)

Analisis Visual dan Analisis Proses

c)

Analisis Performa dan Analisis Keamanan

d)

Analisis Fungsional dan Analisis Kualitatif

3.

Apa yang dimaksud dengan decompiling?

a)

Decompiling adalah proses mengubah kode sumber menjadi kode biner.

b)

Decompiling adalah teknik untuk mengoptimalkan kode biner.

c)

Decompiling adalah proses mengubah kode biner kembali menjadi kode sumber.

d)

Decompiling adalah cara untuk menyembunyikan kode sumber dari pengguna.

4.

Jelaskan perbedaan antara decompiling dan disassembling!

a)

Decompiling converts code to a high-level language; disassembling converts code to assembly language.

b)

Decompiling translates code to machine language; disassembling translates code to bytecode.

c)

Decompiling generates source code; disassembling generates executable files.

d)

Decompiling analyzes code structure; disassembling analyzes code performance.

5.

Sebutkan satu alat yang sering digunakan untuk decompiling!

a)

Procyon

b)

JADX

c)

CFR

d)

JD-GUI

6.

Apa tujuan dari patching program?

a)

Menjaga kompatibilitas perangkat keras, mengurangi ukuran file, dan memperlambat akses.

b)

Meningkatkan performa sistem, mengurangi biaya, dan mempercepat proses.

c)

Memperbaiki bug, meningkatkan keamanan, dan menambah fitur baru.

d)

Menghapus data lama, mengubah antarmuka pengguna, dan menambah iklan.

7.

Jelaskan proses patching secara singkat!

a)

Patching adalah proses mengubah konfigurasi jaringan untuk meningkatkan keamanan.

b)

Patching adalah proses memperbarui perangkat lunak dengan menerapkan perbaikan atau pembaruan.

c)

Patching adalah proses menginstal perangkat keras baru pada sistem.

d)

Patching adalah proses menghapus perangkat lunak yang tidak terpakai.

8.

Apa itu algoritma validasi flag dalam perangkat lunak?

a)

Algoritma validasi flag adalah teknik untuk menyimpan data dalam memori.

b)

Algoritma validasi flag adalah metode untuk memeriksa keabsahan data dengan menggunakan bendera untuk menandai status validasi.

c)

Algoritma validasi flag digunakan untuk mengoptimalkan kecepatan pemrosesan data.

d)

Algoritma validasi flag adalah metode untuk menghapus data yang tidak diperlukan.

9.

Mengapa analisis algoritma validasi flag penting?

a)

Karena meningkatkan kecepatan algoritma dalam memproses data.

b)

Karena memastikan algoritma dapat menangani kondisi input dengan benar dan efisien.

c)

Karena memastikan algoritma dapat berfungsi tanpa adanya input yang valid.

d)

Karena mengurangi kompleksitas algoritma secara keseluruhan.

10.

Sebutkan satu teknik untuk menganalisis algoritma validasi flag!

a)

Analisis kompleksitas waktu dan ruang.

b)

Analisis struktur data.

c)

Analisis performa sistem.

d)

Analisis kesalahan logika.

11.

Apa yang dimaksud dengan binary dalam konteks perangkat lunak?

a)

Binary adalah jenis perangkat keras yang menggunakan dua warna.

b)

Binary adalah format teks yang terdiri dari huruf dan angka.

c)

Binary adalah sistem pengkodean yang hanya menggunakan angka genap.

d)

Binary adalah format data yang menggunakan dua simbol, 0 dan 1, dalam perangkat lunak.

12.

Jelaskan apa yang dilakukan oleh disassembler!

a)

Disassembler mengubah kode assembly menjadi kode sumber.

b)

Disassembler mengompilasi kode sumber menjadi kode mesin.

c)

Disassembler menganalisis kode mesin tanpa mengubahnya.

d)

Disassembler mengubah kode mesin menjadi kode assembly.

13.

Sebutkan satu contoh aplikasi yang dapat digunakan untuk disassembling!

a)

OllyDbg

b)

Radare2

c)

Ghidra

d)

IDA Pro

14.

Apa risiko yang terkait dengan reverse engineering perangkat lunak?

a)

Pembuatan dokumentasi perangkat lunak yang lebih baik.

b)

Peningkatan kinerja perangkat lunak secara otomatis,

c)

Penggunaan perangkat lunak yang tidak terdaftar,

d)

Risiko terkait dengan reverse engineering perangkat lunak termasuk pelanggaran hak cipta, eksposur informasi sensitif, kerentanan keamanan, dan pelanggaran lisensi perangkat lunak.

15.

Jelaskan bagaimana reverse engineering dapat digunakan untuk keamanan siber!

a)

Reverse engineering can be used to identify vulnerabilities in software, analyze malware, and enhance security protocols.

b)

Reverse engineering is only applicable in hardware design and manufacturing.

c)

It helps in creating new software without analyzing existing ones.

d)

Reverse engineering is primarily used for software development and optimization.

16.

Apa yang dimaksud dengan 'obfuscation' dalam perangkat lunak?

a)

Obfuscation adalah proses membuat kode perangkat lunak sulit dipahami untuk melindungi dari analisis.

b)

Obfuscation adalah proses mendokumentasikan kode perangkat lunak secara rinci.

c)

Obfuscation adalah metode untuk menambah ukuran file perangkat lunak.

d)

Obfuscation adalah teknik untuk mempercepat eksekusi kode perangkat lunak.

17.

Sebutkan satu cara untuk mengatasi obfuscation saat reverse engineering!

a)

Menggunakan alat pemrograman baru.

b)

Menggunakan teknik enkripsi.

c)

Menerapkan metode kompresi.

d)

Menggunakan alat deobfuscator.

18.

Apa peran debugger dalam analisis perangkat lunak?

a)

Debugger mengelola memori perangkat lunak secara otomatis.

b)

Debugger membantu dalam menemukan dan memperbaiki kesalahan dalam perangkat lunak.

c)

Debugger meningkatkan kecepatan eksekusi perangkat lunak.

d)

Debugger mengoptimalkan algoritma dalam perangkat lunak.

19.

Jelaskan bagaimana Anda dapat menggunakan debugger untuk menganalisis program!

a)

Gunakan debugger untuk menjalankan program secara otomatis, menghapus breakpoint, dan mengabaikan alur kontrol.

b)

Gunakan debugger untuk mengedit kode secara langsung, menambahkan breakpoint, dan mengabaikan pemeriksaan variabel.

c)

Gunakan debugger untuk menulis kode tanpa kesalahan, menghindari breakpoint, dan mengabaikan variabel.

d)

Gunakan debugger untuk menjalankan program langkah demi langkah, menetapkan breakpoint, memeriksa variabel, dan menganalisis alur kontrol.

20.

Apa yang dimaksud dengan 'control flow' dalam analisis perangkat lunak?

a)

Control flow adalah urutan eksekusi instruksi dalam program.

b)

Control flow adalah pengelolaan memori dalam aplikasi.

c)

Control flow adalah cara mengatur data dalam program.

d)

Control flow adalah proses debugging dalam perangkat lunak.