forked from jekyll/minima
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path2025-07-20-HY300-Root.md
More file actions
513 lines (385 loc) · 22.8 KB
/
2025-07-20-HY300-Root.md
File metadata and controls
513 lines (385 loc) · 22.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
---
layout: post
title: "HY300 Projektörde Root İşlemi: Kapsamlı Bir Rehber"
author: "Rüzgar Erik"
---

Bu rehber, piyasada ortalama 30-40 dolara satılan HY300 adlı basit bir projektör cihazı üzerinde gerçekleştirdiğim root işlemini adım adım belgelemektedir. Bu işlem, cihazın işletim sistemine tam kontrol sağlamanıza ve daha gelişmiş özelleştirmeler yapmanıza olanak tanır.
<div style="border:2px solid #e74c3c; background:#fdecea; color:#c0392b; padding:1em; border-radius:6px; margin-bottom:1.5em;">
<strong>⚠️ DİKKAT! ÖNEMLİ UYARI</strong><br><br>
BU REHBER YALNIZCA BİLGİLENDİRME AMAÇLIDIR. BURADA ANLATILAN HER TÜRLÜ İŞLEMİN SORUMLULUĞU TAMAMEN KENDİNİZE AİTTİR. CİHAZINIZDA MEYDANA GELEBİLECEK HERHANGİ BİR HASARDAN YAZAR SORUMLU DEĞİLDİR. REHBERDE, BASİT ADIMLAR VE KOMUTLAR ATLANMIŞTIR. TÜM İŞLEMLER <strong>FEDORA WORKSTATION 42</strong> ÜZERİNDE GERÇEKLEŞTİRİLMİŞTİR. PATCHLEME VE GÜNCELLEME İŞLEMLERİNİ GERÇEKLEŞTİRİRKEN, OLASI RİSKLERİ MİNİMİZE ETMEK İÇİN İNTERNET BAĞLANTISI KESİLMİŞ, İZOLE BİR SANAL MAKİNE KULLANMANIZ ŞİDDETLE TAVSİYE EDİLİR.
</div>
---
## Ön Gereksinimler
Bu rehberdeki adımları takip edebilmek için aşağıdaki araçlara ve bilgilere sahip olmanız gerekmektedir:
* **Cihaz:** HY300 projektör cihazı.
* **Bilgisayar:** GNU/Linux tabanlı bir işletim sistemi (örn. Fedora, Ubuntu) yüklü bir bilgisayar.
* **USB A to USB A Kablo:** Cihazı bilgisayara bağlamak için gerekli kablo.
* **ADB ve Fastboot:** Bilgisayarınızda kurulu ve çalışan Android Debug Bridge (ADB) ve Fastboot araçları.
* **Python 3 ve `payload_dumper.py`:** `payload.bin` dosyasını ayrıştırmak için Python ortamı ve gerekli kütüphaneler.
* **Magisk APK:** Cihazda çalışacak Magisk uygulamasının APK dosyası.
* **Dosya Yöneticisi APK:** Cihaz üzerinde dosya transferi ve seçimi için bir dosya yöneticisi uygulaması (örn. FX File Explorer).
* **HY300 Firmware Dosyası:** Cihaza ait orijinal firmware (ürün yazılımı) dosyası (genellikle `.zip` veya `.img` uzantılı).
## 0. Geliştirici Seçeneklerini Aktif Etme ve ADB İzinlerini Ayarlama
Cihazınızda root işlemi yapabilmek için öncelikle geliştirici seçeneklerini aktif etmeniz ve ADB izinlerini ayarlamanız gerekmektedir. Bu adımlar, cihazınızın USB üzerinden bilgisayar ile iletişim kurabilmesi için gereklidir.
1. **Geliştirici Seçeneklerini Aktif Etme:**
* Cihazınızın "Ayarlar" menüsüne gidin.
* "Telefon Hakkında" veya "Cihaz Hakkında" bölümüne girin.
* "Yapı Numarası" üzerine 7 kez dokunun. Bu işlem, geliştirici seçeneklerini aktif edecektir.
2. **ADB İzinlerini Ayarlama:**
* Geliştirici seçeneklerine geri dönün ve "USB Hata Ayıklama" seçeneğini bulun.
* Bu seçeneği aktif edin.
* Ayrıca, "OEM Kilidini Açma" seçeneğini de aktif etmeniz gerekmektedir yoksa fastboot komutları çalışmaz.
3. **ADB İzinlerini Verme:**
* Cihazınızı bilgisayara USB kablosu ile bağlayın.
* Bilgisayarınızda terminal veya komut istemcisini açın ve aşağıdaki komutu çalıştırın:
```bash
adb devices
```
a
* Eğer cihazınız listeleniyorsa, ADB bağlantısı başarılıdır. Cihazınızda bir onay penceresi açılacak ve "Bu bilgisayara güven" seçeneğini onaylamanız istenecektir. Bu adımı tamamlayın.
---
## 1. Cihaz Bilgilerini Toplama (Reconnaissance)
Root işlemine başlamadan önce cihazın donanım ve yazılım özelliklerini detaylı bir şekilde incelemek kritik öneme sahiptir. Bu sayede cihazın mimarisi, işletim sistemi versiyonu ve bölümleme yapısı hakkında bilgi sahibi olunur.
### CPU Bilgisi
Cihazın işlemcisi hakkında bilgi almak için `cat /proc/cpuinfo` komutu kullanıldı:
```bash
adt3:/ $ cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 45.51
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
processor : 1
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 45.51
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
processor : 2
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 45.51
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
processor : 3
model name : ARMv7 Processor rev 4 (v7l)
BogoMIPS : 45.51
Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
Hardware : Generic DT based system
Revision : 0000
Serial : 0000000000000000
```
**CPU Hakkında Önemli Notlar:**
* Cihaz, **ARMv7** mimarisinde, **ARMv7-A, 32-bit** uzantılı bir işlemciye sahiptir.
* `CPU part: 0xd03` bilgisi, işlemcinin bir **Cortex-A53** olduğunu gösterir.
### Board ve Platform Bilgileri
Cihazın anakartı ve platformu hakkında bilgi edindim:
```bash
adt3:/ $ getprop ro.product.board
exdroid
adt3:/ $ getprop ro.board.platform
ares
```
### Yapı (Build) Bilgileri
Cihazın yazılım sürümü ve yapı parmak izi (fingerprint) tespit edildi:
```bash
adt3:/ $ getprop ro.build.version.release
11
adt3:/ $ getprop ro.build.fingerprint
ADT-3/adt3/adt3:11/RP1A.201005.006/eng.projector.20240130.105221:user/release-keys
```
Cihaz **Android 11** sürümünü kullanmaktadır.
### Hafıza (Memory) Bilgisi
Cihazın bellek kullanım durumu aşağıdaki gibidir:
```bash
adt3:/ $ cat /proc/meminfo
MemTotal: 954252 kB (~932 MB RAM)
MemFree: 54376 kB
MemAvailable: 426072 kB
Buffers: 2660 kB
Cached: 412560 kB
SwapCached: 1488 kB
Active: 359916 kB
Inactive: 301756 kB
Active(anon): 135788 kB
Inactive(anon): 115076 kB
Active(file): 224128 kB
Inactive(file): 186680 kB
Unevictable: 2584 kB
Mlocked: 2584 kB
HighTotal: 262144 kB
HighFree: 14496 kB
LowTotal: 692108 kB
LowFree: 39880 kB
SwapTotal: 858820 kB (~838 MB Swap)
SwapFree: 764612 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 248708 kB
Mapped: 299368 kB
Shmem: 2432 kB
KReclaimable: 27184 kB
Slab: 62972 kB
SReclaimable: 21892 kB
SUnreclaim: 41080 kB
KernelStack: 6656 kB
PageTables: 17400 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 1335944 kB
Committed_AS: 10648844 kB
VmallocTotal: 245760 kB
VmallocUsed: 10652 kB
VmallocChunk: 0 kB
Percpu: 3344 kB
CmaTotal: 24576 kB
CmaFree: 84 kB
IonUsed: 38216 kB
```
Yaklaşık 1GB RAM (954MB) ve 858MB takas (swap) alanı bulunmaktadır.
### Depolama ve Bölümlendirme (Partition Layout)
Cihazın depolama durumu ve disk bölümleme tablosu incelendi:
```bash
adt3:/ $ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 464M 844K 463M 1% /dev
tmpfs 464M 0 464M 0% /mnt
/dev/block/mmcblk0p19 11M 120K 11M 2% /metadata
/dev/block/dm-0 1.4G 1.4G 0 100% /
/dev/block/dm-1 106M 106M 0 100% /vendor
/dev/block/dm-2 241M 240M 0 100% /product
/dev/block/mmcblk0p24 16M 6.0K 16M 1% /Reserve0
/dev/block/mmcblk0p23 100M 1.9M 98M 3% /oem
tmpfs 464M 0 464M 0% /apex
tmpfs 464M 248K 464M 1% /linkerconfig
/dev/block/mmcblk0p25 4.8G 880M 3.8G 19% /data
tmpfs 464M 0 464M 0% /data_mirror
/dev/fuse 4.8G 880M 3.8G 19% /storage/emulated
```
`/data` bölümü yaklaşık 4.8GB kullanılabilir alana sahiptir. Cihaz A/B bölümlendirme yapısını kullanmaktadır, bu da güncelleme süreçlerinde önemli bir rol oynar.
```bash
adt3:/ $ ls -l /dev/block/by-name
total 0
lrwxrwxrwx 1 root root 21 1969-12-31 18:00 Reserve0 -> /dev/block/mmcblk0p24
lrwxrwxrwx 1 root root 21 1969-12-31 18:00 UDISK -> /dev/block/mmcblk0p25
lrwxrwxrwx 1 root root 20 1969-12-31 18:00 boot_a -> /dev/block/mmcblk0p5
lrwxrwxrwx 1 root root 20 1969-12-31 18:00 boot_b -> /dev/block/mmcblk0p6
lrwxrwxrwx 1 root root 20 1969-12-31 18:00 bootloader_a -> /dev/block/mmcblk0p1
lrwxrwxrwx 1 root root 20 1969-12-31 18:00 bootloader_b -> /dev/block/mmcblk0p2
lrwxrwxrwx 1 root root 21 1969-12-31 18:00 dtbo_a -> /dev/block/mmcblk0p21
lrwxrwxrwx 1 root root 21 1969-12-31 18:00 dtbo_b -> /dev/block/mmcblk0p22
lrwxrwxrwx 1 root root 21 1969-12-31 18:00 empty -> /dev/block/mmcblk0p18
lrwxrwxrwx 1 root root 20 1969-12-31 18:00 env_a -> /dev/block/mmcblk0p3
lrwxrwxrwx 1 root root 20 1969-12-31 18:00 env_b -> /dev/block/mmcblk0p4
lrwxrwxrwx 1 root root 21 1969-12-31 18:00 frp -> /dev/block/mmcblk0p17
lrwxrwxrwx 1 root root 21 1969-12-31 18:00 media_data -> /dev/block/mmcblk0p23
lrwxrwxrwx 1 root root 21 1969-12-31 18:00 metadata -> /dev/block/mmcblk0p19
lrwxrwxrwx 1 root root 21 1969-12-31 18:00 misc -> /dev/block/mmcblk0p10
lrwxrwxrwx 1 root root 18 1969-12-31 18:00 mmcblk0 -> /dev/block/mmcblk0
lrwxrwxrwx 1 root root 21 1969-12-31 18:00 private -> /dev/block/mmcblk0p20
lrwxrwxrwx 1 root root 20 1969-12-31 18:00 super -> /dev/block/mmcblk0p9
lrwxrwxrwx 1 root root 21 1969-12-31 18:00 userdata -> /dev/block/mmcblk0p25
lrwxrwxrwx 1 root root 21 1969-12-31 18:00 vbmeta_a -> /dev/block/mmcblk0p11
lrwxrwxrwx 1 root root 21 1969-12-31 18:00 vbmeta_b -> /dev/block/mmcblk0p12
lrwxrwxrwx 1 root root 21 1969-12-31 18:00 vbmeta_system_a -> /dev/block/mmcblk0p13
lrwxrwxrwx 1 root root 21 1969-12-31 18:00 vbmeta_system_b -> /dev/block/mmcblk0p14
lrwxrwxrwx 1 root root 21 1969-12-31 18:00 vbmeta_vendor_a -> /dev/block/mmcblk0p15
lrwxrwxrwx 1 root root 21 1969-12-31 18:00 vbmeta_vendor_b -> /dev/block/mmcblk0p16
lrwxrwxrwx 1 root root 20 1969-12-31 18:00 vendor_boot_a -> /dev/block/mmcblk0p7
lrwxrwxrwx 1 root root 20 1969-12-31 18:00 vendor_boot_b -> /dev/block/mmcblk0p8
```
### Yüklü Yazılımlar
Cihaz üzerinde yüklü olan paketlerin listesi incelenerek sistem uygulamaları ve ön yüklü yazılımlar hakkında fikir sahibi olundu.
```bash
adt3:/ $ pm list packages
package:com.dsmart.blu.android
package:com.softwinner.TvdVideo
package:com.mobisystems.office
# ... (kısaltılmış çıktı)
package:com.waxrain.airplaydmr2
package:com.android.musicfx
package:com.softwinner.vis
# ... (kısaltılmış çıktı)
package:com.google.android.youtube.tv
package:com.softwinner.theme.icon
package:com.android.vpndialogs
# ... (kısaltılmış çıktı)
package:com.netflix.ninja
package:com.android.bluetooth
package:com.android.captiveportallogin
package:com.disney.disneyplus
package:com.softwinner.TvdFileManager
package:android.auto_generated_rro_vendor__
```
### Kernel Bilgisi
Cihazın çekirdek sürümü belirlendi:
```bash
adt3:/ $ uname -r
5.4.99-00086-gb837701cbedb
```
Kernel sürümü **5.4.99**'dur.
**Tüm Sistem Özellikleri (`getprop`)**
Tüm sistem özelliklerine erişmek için `getprop` komutu kullanılabilir. Bu çıktı oldukça kapsamlı olduğundan, burada sadece önemli bulgulara değinilmiştir. Tam çıktı, derinlemesine analiz için kullanılabilir ve cihazın tüm yapılandırmasını gösterir.
Bazı önemli bulgular:
* `persist.sys.deviceName`: `HY300`
* `persist.sys.modelName`: `HY300`
* `ro.product.model`: `HY300`
* `ro.build.user`: `hotack` (Geliştirici bilgisi)
* `ro.board.platform`: `ares`
* `ro.boot.hardware`: `sun50iw12p1`
* `ro.boot.selinux`: `permissive` (SELinux'un izinli modda çalıştığını gösterir, bu root için bir avantajdır.)
* `persist.sys.usb.config`: `adb` (ADB'nin varsayılan olarak açık olduğunu gösterir.)
* `vendor.wlan.driver.version`: `rwnx 20231222-000-6.4.3.0 - - 241c091M (master)` (Kablosuz sürücü bilgisi)
* Cihazın keystone (yamuk düzeltme) ayarları ve HDMI ile ilgili `persist.display.keystone` ve `ro.hdmi.device_type` gibi birçok projeksiyon spesifik özelliği bulunmaktadır.
*(Tam `getprop` çıktısı çok uzun olduğu için burada yalnızca bir özeti sunulmuştur. İhtiyaç halinde, yukarıdaki komut ile tam çıktıya erişilebilir.)*
### `boot.fex` ve `u-boot.fex` Analizi (Binwalk ile)
Firmware dosyasını incelerken `boot.fex` ve `u-boot.fex` dosyalarının ne olduğunu anlamak için `file` komutunu kullandım:
```bash
# ... (file komutu çıktısının tamamı için yukarıdaki metne bakınız)
boot.fex: Android bootimg, kernel (0xd121d9), ramdisk (0x62c)
# ...
u-boot.fex: data
```
`boot.fex` bir Android boot imajı olduğunu gösteriyor. U-Boot bootloader kullanıldığı da tespit edildi.
Daha detaylı bilgi için `binwalk` aracı kullanıldı:
```bash
/mnt/linux-data/projects/PROJECTOR/update.img.dump binwalk boot.fex ✔
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
0 0x0 Android bootimg, kernel size: 21972556 bytes, kernel addr: 0xD121D9, ramdisk size: 369099106 bytes, ramdisk addr: 0x62C, product name: ""
# ... (kısaltılmış çıktı)
17365632 0x108FA80 Unix path: /home/hotack/hotack_workspace/Allwiner/T08_H713/longan/kernel/linux-5.4/init/main.c
# ... (kısaltılmış çıktı)
18362368 0x1183000 ELF, 32-bit LSB shared object, ARM, version 1 (SYSV)
# ... (kısaltılmış çıktı)
20593284 0x13A3A84 ASCII cpio archive (SVR4 with no CRC), file name: "dev", file name length: "0x00000004", file size: "0x00000000"
# ... (kısaltılmış çıktı)
/mnt/linux-data/projects/PROJECTOR/update.img.dump binwalk u-boot.fex ✔
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
369620 0x5A3D4 CRC32 polynomial table, little endian
402234 0x6233A Android bootimg, kernel size: 1836212480 bytes, kernel addr: 0x61003436, ramdisk size: 1711304050 bytes, ramdisk addr: 0x6563726F, product name: "vice"
# ... (kısaltılmış çıktı)
```
Bu çıktı, `boot.fex` dosyasının bir Android boot imajı olduğunu ve içinde kernel kaynak yollarının (örn. `/home/hotack/hotack_workspace/Allwiner/T08_H713/longan/kernel/linux-5.4/`) bulunduğunu doğrulamıştır. Bu, Hotack'ın kendi derlemesini kullandığına dair bir işarettir. Ayrıca, sıkıştırılmış veri blokları ve cpio arşivi gibi bileşenler de görülmektedir.
---
## 2. Firmware Elde Etme ve Ayrıştırma
Root işlemine devam edebilmek için cihazın orijinal `boot.img` dosyasına ihtiyacımız var. Bu dosya, firmware içerisinden alınacaktır.
1. **Firmware Edinme:** HY300'ün firmware dosyası, internet üzerindeki çeşitli kaynaklardan (örn. forumlar, üretici veya satıcı siteleri) elde edilebilir. Genellikle `update.zip` veya benzeri bir adla dağıtılır. **Yasal nedenlerden dolayı doğrudan firmware dosyası paylaşılmamaktadır.**
2. **Firmware Ayrıştırma:** Cihazın A/B bölümlendirme yapısına sahip olması nedeniyle, `boot.img` dosyası genellikle doğrudan `update.zip` içinde bulunmaz. Bunun yerine, `payload.bin` adlı bir dosyanın içinde yer alır. Bu `payload.bin` dosyasını ayrıştırmak için `payload_dumper.py` aracını kullandım.
Öncelikle, `payload_dumper` aracını GitHub'dan klonlayın ve bağımlılıklarını kurun:
```bash
git clone https://github.com/vm03/payload_dumper
cd payload_dumper
pip3 install -r requirements.txt
```
Ardından, indirdiğiniz firmware dosyasının içerisinden çıkan `payload.bin` dosyasını `payload_dumper` klasörüne kopyalayın ve aşağıdaki komutla ayrıştırma işlemini başlatın:
```bash
python3 payload_dumper.py ../payload.bin
```
Başarılı bir ayrıştırma işlemi sonunda aşağıdaki gibi bir çıktı alacaksınız:
```bash
/home/ruzgarerik/.local/lib/python3.13/site-packages/google/protobuf/runtime_version.py:98: UserWarning: Protobuf gencode version 5.27.2 is exactly one major version older than the runtime version 6.31.1 at update_metadata.proto. Please update the gencode to avoid compatibility violations in the next runtime release.
warnings.warn(
Processing product partition......................................................................................................................................................Done
Processing system partition................................................................................................................................................................................................................................................................................................................................................................................................................................................................Done
Processing vendor partition.......................................................Done
Processing boot partition................................Done
Processing vendor_boot partition................Done
Processing dtbo partition.Done
Processing vbmeta partition.Done
Processing vbmeta_vendor partition.Done
Processing vbmeta_system partition.Done
Processing custom partition.Done
```
Bu işlem sonucunda, `payload_dumper` klasörünün içerisinde `boot.img` dahil olmak üzere tüm sistem bölümlerinin imaj dosyaları oluşacaktır.
---
## 3. Magisk ile Boot İmgesini Yamalama (Rooting)
Şimdi elde ettiğimiz `boot.img` dosyasını Magisk ile yamalayarak root yetkisi kazanacağız.
1. **Magisk ve Dosya Yöneticisi Kurulumu:** Magisk'in `boot.img`'yi cihaza patchlemesi için Magisk uygulamasını cihaza kurmanız gerekmektedir. Ayrıca, cihazın dahili dosya yöneticisi (örn. `com.softwinner.TvdFileManager`) bazen Magisk'in dosya seçicisinde doğru çalışmayabilir, bu nedenle FX File Explorer gibi bir üçüncü parti dosya yöneticisi kurmanız tavsiye edilir.
```bash
adb install Magisk-v30.1.apk
adb install FX\ File\ Explorer_9.1.0.0_APKPure.apk
```
2. **`boot.img`'yi Cihaza Aktarma:** Ayrıştırdığınız `boot.img` dosyasını bilgisayarınızdan cihazın dahili depolama alanına aktarın:
```bash
adb push boot.img /sdcard/Download/
```
3. **Magisk ile Patchleme:**
* Cihazınızda Magisk uygulamasını açın.
* "Magisk'i Yükle" veya "Install Magisk" seçeneğine dokunun.
* "Bir Dosya Seç ve Yama Yap" veya "Select and Patch a File" seçeneğini seçin.
* Açılan dosya seçicisini kullanarak, az önce cihaza attığınız `/sdcard/Download/boot.img` dosyasını seçin.
* Magisk, `boot.img` dosyasını yamalayacak ve genellikle aynı `Download` klasörüne `magisk_patched-<version_number>.img` adıyla yeni bir dosya oluşturacaktır.

*Magisk uygulamasında boot.img dosyasını seçme ve yamalama işlemi*
4. **Yamalanmış İmajı Geri Çekme:** Yamalanmış `boot.img` dosyasını bilgisayarınıza geri çekin:
```bash
adb pull /sdcard/Download/magisk_patched-30100_Y751n.img ./patched/
```
*(Dosya adı, sizin Magisk sürümünüze ve yama sonucuna göre değişebilir. Kendi çıktınızdaki tam adı kullanın.)*
---
## 4. Yamalanmış Boot İmgesini Yükleme (Flashing)
Yamalanmış `boot.img` dosyasını cihaza yüklemek için Fastboot moduna geçmek gereklidir.
1. **Fastboot Moduna Geçiş:** Cihazınızı Fastboot moduna yeniden başlatın:
```bash
adb reboot bootloader
```
Cihazınızın ekranı genellikle "Fastboot Mode" veya "Bootloader" gibi bir metin gösterecektir.
Fastboot modu aşağıda gösterildiği gibi görünebilir:

<sub>The Android robot image is reproduced or modified from work created and shared by Google and used under the Creative Commons 3.0 Attribution License.</sub>
2. **Yamalanmış İmajı Flashlama:** Yamalanmış `boot.img` dosyasını cihaza flashlayın (yükleyin):
<div style="border:2px solid #e74c3c; background:#fdecea; color:#c0392b; padding:1em; border-radius:6px; margin-bottom:1.5em;">
<strong>🛑 DİKKAT! ÖNEMLİ UYARI 🛑</strong><br><br>
Bu adımda yapacağınız işlem, cihazın boot bölümünü değiştirecektir. Yanlış bir dosya yüklemek cihazınızı boot edilemez hale getirebilir. Bu nedenle, doğru `magisk_patched-*.img` dosyasını kullandığınızdan emin olun. Ayrıca, bu işlem sırasında cihazınızın güç bağlantısının kesilmemesi için dikkatli olun.
</div>
```bash
fastboot flash boot ./update/magisk_patched-30100_uKRSo.img
```
*(Dosya yolu ve adı, sizin kaydettiğiniz yere göre farklılık gösterebilir. Kendi dosya adınızı ve yolunuzu kullandığınızdan emin olun.)*
Komut çıktısı aşağıdaki gibi görünecektir:
```bash
Sending sparse 'boot' 1/2 (32764 KB) OKAY [ 1.048s]
Writing 'boot' OKAY [ 5.620s]
Sending sparse 'boot' 2/2 (416 KB) OKAY [ 0.035s]
Writing 'boot' OKAY [ 65.563s]
Finished. Total time: 72.321s
```
3. **Cihazı Yeniden Başlatma:** Flash işlemi tamamlandıktan sonra cihazı normal şekilde başlatın:
```bash
fastboot reboot
```
Komut çıktısı:
```bash
Rebooting OKAY [ 0.008s]
Finished. Total time: 1.710s
```
---
## Sonuç ve Doğrulama
Cihaz yeniden başlatıldıktan sonra Magisk Manager uygulamasını açarak root durumunu doğrulayabilirsiniz. Uygulama, cihazın başarıyla rootlandığını ve Magisk'in aktif olduğunu belirtecektir.
Bu işlem, HY300 projektörünüz üzerinde tam kontrol sağlamanıza ve daha fazla özelleştirme yapmanıza olanak tanır. Artık sistem dosyalarına erişebilir, özel modüller yükleyebilir ve cihazınızın potansiyelini daha da genişletebilirsiniz.
```bash
adb shell
su -
```
Magisk uygulamasında root işleminin başarıyla gerçekleştirildiğini aşağıdaki gibi görebilirsiniz:

---