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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ipa-medit — أداة تعديل الذاكرة لتطبيقات .ipa المعاد توقيعها تدعم تطبيقات iOS التي تعمل على iPhone و Apple Silicon Mac دون الحاجة إلى كسر الحماية. | Kitploit
أدوات/GitHubGitHub/sterrasec/ipa-medit
أمان iOSتحليل الذاكرة الجنائياختبار اختراق تطبيقات الجوالاختبار الاختراقأمن الجوالتحليل الملفات الثنائية
GitHubsterrasec/ipa-medit

ipa-medit

أداة تعديل الذاكرة لتطبيقات .ipa المعاد توقيعها تدعم تطبيقات iOS التي تعمل على iPhone و Apple Silicon Mac دون الحاجة إلى كسر الحماية.

عرض المستودع
207244منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

ipa-medit

GitHub release License: MIT

Ipa-medit هي أداة بحث وتصحيح في الذاكرة لملفات .ipa المعاد توقيعها بدون كسر الحماية (jailbreaking). تدعم تطبيقات iOS التي تعمل على iPhone و Apple Silicon Mac. تم إنشاؤها لاختبار أمان ألعاب الهاتف المحمول. العديد من ألعاب الهاتف المحمول لديها كشف عن كسر الحماية، لكن ipa-medit لا يتطلب كسر الحماية، لذا يمكن إجراء تعديل الذاكرة دون تجاوز كشف كسر الحماية.

الدافع

تعديل الذاكرة هو أسهل طريقة للغش في الألعاب، وهو أحد العناصر التي يجب فحصها في اختبار الأمان. توجد أيضًا أدوات غش يمكن استخدامها بشكل عادي مثل GameGem و iGameGuardian. ومع ذلك، لم تكن هناك أدوات متاحة للأجهزة غير المخترقة (un-jailbroken) وواجهة سطر الأوامر (CUI) و Apple Silicon Mac. لذا قمت بإنشائها كأداة لاختبار الأمان. إصدار Android هو sterrasec/apk-medit.

العرض التوضيحي

المتطلبات

  • macOS
    • يجب أن يكون لديك شهادة تطوير iOS صالحة مثبتة.
  • فقط عند استهداف تطبيقات iOS التي تعمل على iPhone.
    • Xcode
    • libimobiledevice/libimobiledevice
    • libimobiledevice/ideviceinstaller
root@kitploit:~
$ brew install --HEAD libplist
$ brew install --HEAD usbmuxd
$ brew install --HEAD libimobiledevice
$ brew install --HEAD ideviceinstaller

التثبيت

ثنائي (Intell Mac فقط)

قم بتنزيل الملف الثنائي من GitHub Releases وضعه في متغير $PATH الخاص بك.

بناء يدوي

يمكنك بناؤه باستخدام الأمر make. مطلوب مترجم Go للبناء. إذا كنت تستهدف تطبيق iOS يعمل على Apple Silicon Mac، فستحتاج إلى توقيعه، ولكن سيتم تنفيذ script/codesign.sh وتوقيعه تلقائيًا.

root@kitploit:~
$ git clone [email protected]:sterrasec/ipa-medit.git
$ cd ipa-medit
$ make build

الاستخدام

يجب أن يكون ملف .ipa الهدف موقعًا بشهادة مثبتة على جهاز الكمبيوتر الخاص بك. إذا كنت ترغب في تعديل الذاكرة على تطبيقات الطرف الثالث، فيرجى استخدام أداة مثل ipautil لإعادة التوقيع.

root@kitploit:~
$ ipautil decode tap1000000.ipa # unzip
$ ipautil build Payload         # re-sign and generate .ipa file

استهداف تطبيق iOS على iPhone

لتشغيله، تحتاج إلى تحديد مسار الملف القابل للتنفيذ الموجود داخل ملف .ipa باستخدام -bin ومعرّف الحزمة باستخدام -id.

root@kitploit:~
$ unzip tap1000000.ipa
$ ipa-medit -bin="./Payload/tap1000000.app/tap1000000" -id="jp.hoge.tap1000000"

استهداف تطبيق iOS على Apple Silicon Mac

لتشغيله، تحتاج إلى تحديد اسم العملية باستخدام -name أو معرف العملية باستخدام -pid. يمكن التحقق من اسم العملية ومعرفها لتطبيق iOS في "مراقب النشاط" (Activity Monitor).

root@kitploit:~
$ ipa-medit -name <process name>

الأوامر

فيما يلي الأوامر المتاحة في موجه تفاعلي.

find

ابحث عن العدد الصحيح المحدد في الذاكرة.

root@kitploit:~
> find 999986
Success to halt process
Scanning: 0x00000001025e4000-0x00000001025e8000
Scanning: 0x00000001025f4000-0x00000001025fc000
Scanning: 0x0000000102604000-0x0000000102608000
....
Scanning: 0x000000016eb34000-0x000000016ebbc000
Scanning: 0x000000016ebc0000-0x000000016ebe8000
Scanning: 0x000000016ebec000-0x000000016ec74000
Scanning: 0x000000016ec78000-0x000000016ed00000
Found: 1!!
Address: 0x10a2feea0

افتراضيًا، يتم البحث عن الأعداد الصحيحة فقط عند استهداف تطبيقات iOS التي تعمل على iPhone، لأن واجهة LLDB API بطيئة. عند استهداف تطبيق iOS يعمل على Apple Silicon Mac، سيتم أيضًا البحث عن السلاسل النصية.

يمكنك أيضًا تحديد نوع البيانات مثل string و word و dword و qword.

root@kitploit:~
> find dword 999994
Search Double Word...
Target Value: 999994([58 66 15 0])
Found: 1!!
Address: 0x11378aea0

filter

تصفية نتائج البحث السابقة التي تطابق نتائج البحث الحالية.

root@kitploit:~
> filter 999842
Success to halt process
Found: 1!!
Address: 0x1087beea0

patch

اكتب القيمة المحددة في العنوان الذي تم العثور عليه بواسطة البحث.

root@kitploit:~
> patch 10
Successfully patched!

attach

الارتباط بالعملية الهدف.

root@kitploit:~
> attach
Success to halt process

detach

فك الارتباط من العملية المرتبطة.

root@kitploit:~
> detach
Success to continue process

ps

الحصول على معلومات حول العملية الهدف. سيعمل فقط إذا كنت تستهدف تطبيق iOS يعمل على iPhone.

root@kitploit:~
> ps
SBProcess: pid = 926, state = running, threads = 37, executable = tap1000000
State: Running
thread #1: tid = 0x545ee, 0x00000001bd6552d0 libsystem_kernel.dylib`mach_msg_trap + 8, queue = 'com.apple.main-thread'
thread #3: tid = 0x54619, 0x00000001bd67a184 libsystem_kernel.dylib`__workq_kernreturn + 8
thread #4: tid = 0x5461a, 0x00000001bd67a184 libsystem_kernel.dylib`__workq_kernreturn + 8
thread #5: tid = 0x5461b, 0x00000001bd67a184 libsystem_kernel.dylib`__workq_kernreturn + 8
thread #6: tid = 0x5461c, 0x00000001bd67a184 libsystem_kernel.dylib`__workq_kernreturn + 8
thread #7: tid = 0x5461d, 0x00000001bd6552d0 libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.apple.uikit.eventfetch-thread'
thread #8: tid = 0x5461e, 0x00000001bd6791ac libsystem_kernel.dylib`__psynch_cvwait + 8, name = 'GC Finalizer'
thread #9: tid = 0x5461f, 0x00000001bd65530c libsystem_kernel.dylib`semaphore_wait_trap + 8, name = 'Job.Worker 0'
thread #10: tid = 0x54620, 0x00000001bd65530c libsystem_kernel.dylib`semaphore_wait_trap + 8, name = 'Job.Worker 1'
thread #11: tid = 0x54621, 0x00000001bd65530c libsystem_kernel.dylib`semaphore_wait_trap + 8, name = 'Job.Worker 2'
...
thread #35: tid = 0x54659, 0x00000001bd6552d0 libsystem_kernel.dylib`mach_msg_trap + 8, name = 'AURemoteIO::IOThread'
thread #36: tid = 0x54662, 0x00000001bd679814 libsystem_kernel.dylib`__semwait_signal + 8
thread #37: tid = 0x54663, 0x00000001bd6552d0 libsystem_kernel.dylib`mach_msg_trap + 8, name = 'com.apple.CoreMotion.MotionThread'
thread #38: tid = 0x54664, 0x00000001bd65530c libsystem_kernel.dylib`semaphore_wait_trap + 8, name = 'Loading.PreloadManager'

exit

للخروج من medit، استخدم الأمر exit أو Ctrl-D.

root@kitploit:~
> exit
Bye!

استكشاف الأخطاء وإصلاحها

فشل الحصول على رد لحزمة المصافحة

إذا حصلت على الخطأ /private/var/containers/Bundle/Application/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/hoge.app: error: failed to get reply to handshake packet ولم تتمكن من التواصل بشكل صحيح مع جهاز iOS و lldb، فقم بتشغيل Xcode وبناء أحد التطبيقات، وسيعمل.

لا يمكن الاتصال بـ lockdownd

إذا حصلت على الخطأ Could not connect to lockdownd. ولم تتمكن من التواصل بشكل صحيح مع جهاز iOS و ideviceinstaller، فقم بتشغيل Xcode وبناء أحد التطبيقات، وسيعمل. إذا لم يحل ذلك المشكلة، فيرجى تحديث ideviceinstaller و libimobiledevice إلى أحدث الإصدارات باستخدام مثال الأوامر في قسم المتطلبات.

لا يمكن بدء com.apple.debugserver

يمكن إصلاح ذلك عن طريق تثبيت أحدث كود غير معنون من libimobiledevice و ideviceinstaller عن طريق إضافة الخيار --HEAD عند القيام بـ brew install.

  • المرجع: Could not start com.apple.debugserver! ios 14.1 xcode 12.2 MacOS 10.15.4 iphone12 · Issue #1104 · libimobiledevice/libimobiledevice

الترخيص

MIT License

تنزيل الأداة