Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/nccgroup/mtk_bp
أمان الأنظمة المدمجةالتحليل الثابتالهندسة العكسيةأمن الجوالأمن الأجهزةتحليل الملفات الثنائيةتحليل البرامج الثابتة
GitHubnccgroup/mtk_bp

mtk_bp

أدوات لتحليل وهندسة عكسية للبرامج الثابتة لقاعدة النطاق في MediaTek، بما في ذلك استخراج الملفات، وتحليل الرموز، والتكامل مع Ghidra لملفات المودم الثنائية.

عرض المستودع
7620منذ 2 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

أدوات البرمجيات الثابتة لـ MediaTek BP

يحتوي هذا المستودع على تعريفات تنسيق ملفات مبنية على Kaitai تتعلق بالبرمجيات الثابتة لمودم MediaTek، بالإضافة إلى بعض أدوات سطر الأوامر الأساسية للتعامل مع أنواع الملفات هذه. يمكن أيضًا استخدام Kaitai IDE لاستكشاف الملفات بشكل تفاعلي باستخدام تعريفات Kaitai (ملفات *.ksy الموجودة في دليل mtk_structs).

يتوفر مُحمّل Ghidra لملفات md1img استنادًا إلى هذه التعريفات على https://github.com/nccgroup/ghidra-mtk-loader.

باستخدام XT2205-1_TESLA_TMO_12_S2STS32.71-118-4-2-6-3_subsidy-TMO_UNI_RSU_QCOM_regulatory-DEFAULT_cid50_CFC.xml.zip من https://mirrors.lolinet.com/firmware/lenomola/tesla/official/TMO/ كمثال:

استخراج محتويات حاوية md1img

يستخرج md1_extract.py الملفات الموجودة داخل md1img:

root@kitploit:~
$ ./md1_extract.py ../XT2205-1_TESLA_TMO_12_S2STS32.71-118-4-2-6-3_subsidy-TMO_UNI_RSU_QCOM_regulatory-DEFAULT_cid50_CFC/md1img.img --outdir ./md1img_out/
extracting files to: ./md1img_out
md1rom: addr=0x00000000, size=43084864
        extracted to 000_md1rom
cert1md: addr=0x12345678, size=1781
        extracted to 001_cert1md
cert2: addr=0x12345678, size=988
        extracted to 002_cert2
md1drdi: addr=0x00000000, size=12289536
        extracted to 003_md1drdi
cert1md: addr=0x12345678, size=1781
        extracted to 004_cert1md
cert2: addr=0x12345678, size=988
        extracted to 005_cert2
md1dsp: addr=0x00000000, size=6776460
        extracted to 006_md1dsp
cert1md: addr=0x12345678, size=1781
        extracted to 007_cert1md
cert2: addr=0x12345678, size=988
        extracted to 008_cert2
md1_filter: addr=0xffffffff, size=300
        extracted to 009_md1_filter
md1_filter_PLS_PS_ONLY: addr=0xffffffff, size=300
        extracted to 010_md1_filter_PLS_PS_ONLY
md1_filter_1_Moderate: addr=0xffffffff, size=300
        extracted to 011_md1_filter_1_Moderate
md1_filter_2_Standard: addr=0xffffffff, size=300
        extracted to 012_md1_filter_2_Standard
md1_filter_3_Slim: addr=0xffffffff, size=300
        extracted to 013_md1_filter_3_Slim
md1_filter_4_UltraSlim: addr=0xffffffff, size=300
        extracted to 014_md1_filter_4_UltraSlim
md1_filter_LowPowerMonitor: addr=0xffffffff, size=300
        extracted to 015_md1_filter_LowPowerMonitor
md1_emfilter: addr=0xffffffff, size=2252
        extracted to 016_md1_emfilter
md1_dbginfodsp: addr=0xffffffff, size=1635062
        extracted to 017_md1_dbginfodsp
md1_dbginfo: addr=0xffffffff, size=1332720
        extracted to 018_md1_dbginfo
md1_mddbmeta: addr=0xffffffff, size=899538
        extracted to 019_md1_mddbmeta
md1_mddbmetaodb: addr=0xffffffff, size=562654
        extracted to 020_md1_mddbmetaodb
md1_mddb: addr=0xffffffff, size=12280622
        extracted to 021_md1_mddb
md1_mdmlayout: addr=0xffffffff, size=8341403
        extracted to 022_md1_mdmlayout
md1_file_map: addr=0xffffffff, size=889
        extracted to 023_md1_file_map

توجد البرمجيات الثابتة الرئيسية للمودم في ملف md1rom (000_md1rom). وللهندسة العكسية لملفات nanoMIPS الثنائية، راجع امتداد nanoMIPS لـ Ghidra.

سرد رموز التصحيح

يأخذ mtk_dbg_extract.py الرموز من md1_dbginfo (اسم الملف الكامل المقدَّم من md1_file_map) ويُخرجها بتنسيق نصي يمكن استيراده عبر سكربت ImportSymbolsScript.py الخاص بـ Ghidra.

root@kitploit:~
$ ./mtk_dbg_extract.py symbols DbgInfo_NR16.R2.MT6879.TC2.PR1.SP_LENOVO_S0MP1_K6879V1_64_MT6879_NR16_TC2_PR1_SP_V17_P38_03_24_03R_2023_05_19_22_31 | tee debug_symbols.txt
INT_Vectors 0x0000084c f
brom_ext_main 0x00000860 f
INT_SetPLL_Gen98 0x00000866 f
PLL_Set_CLK_To_26M 0x000009a2 f
PLL_MD_Pll_Init 0x000009da f
INT_SetPLL 0x000009dc f
INT_Initialize_Phase1 0x027b5c80 f
INT_Initialize_Phase2 0x027b617c f
init_cm 0x027b6384 f
init_cm_wt 0x027b641e f
...

تحتوي بعض ملفات معلومات التصحيح، مثل md1_dbginfodsp في البرنامج الثابت المثال، على رموز لملفات متعددة. حاليًا، تُطبع رموز كل ملف بالتسلسل مع سطر فاصل يبدأ بـ #، على سبيل المثال:

root@kitploit:~
# 0x000010 DSP_USIP0 
_ss_reset_entry 0x00000000 l
_vector_excpetion_veneer 0x00000404 l
...
# 0x081c4b DSP_USIP1 
_ss_reset_entry 0x00000000 l
_vector_excpetion_veneer 0x00000404 l
...
# 0x2cb407 DSP_SCQ16 SCQ16_LTE_ROCODE
void_lte_dmrs_comm_cell_info_trace___uint___uint 0x0003aff8 l
void_inv_cholesky_4x4_vst_func_Q3_VMLmvpvHalf_Q3_VMLmvpvHalf_Q3_VMLmvpvcHalf_Q3_VMLmvpvcHalf_Q3_VMLmvpvcHalf_Q3_VMLmvpvcHalf_Q3_VMLmvpvcHalf_Q3_VMLmvpvHalf_Q3_VMLmvpvHalf_Q3_VMLmvpvcHalf_Q3_VMLmvpsHalf___uint___uint___uint___uint___uint___uint___uint___uint___uint___uint___uint___uint___uint___uint___uint___uint 0x0004a5ab l
...

أسطر التعليقات هذه غير مدعومة بواسطة ImportSymbolsScript.py، لذا يجب إجراء التقسيم يدويًا. (TODO: خيار لإخراج ملف نصي للرموز لكل إدخال.)

تنزيل الأداة