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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
z3 — حل SMT عالي الأداء للبرهان الآلي للنظريات، وحل القيود، والتحقق من البرامج. يدعم نظريات متعددة وربطات لغوية للتحليل الرسمي. | Kitploit
أدوات/GitHubGitHub/z3prover/z3
التحليل الثابتالتشفيرتحليل الملفات الثنائيةالأوراق والأبحاثالتعلم والتعليم
GitHubz3prover/z3

z3

حل SMT عالي الأداء للبرهان الآلي للنظريات، وحل القيود، والتحقق من البرامج. يدعم نظريات متعددة وربطات لغوية للتحليل الرسمي.

عرض المستودع
12.5k1.7kمنذ 15س 45دتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Z3

Z3 هو مبرهن نظري من Microsoft Research. مرخص بموجب رخصة MIT. تتضمن التوزيعات الثنائية لنظام Windows مكتبات C++ وقت التشغيل القابلة لإعادة التوزيع

إذا لم تكن على دراية بـ Z3، يمكنك البدء من هنا.

الملفات الثنائية المجهزة مسبقًا للإصدارات المستقرة والليلية متاحة هنا.

يمكن بناء Z3 باستخدام Visual Studio، أو Makefile، أو CMake، أو vcpkg، أو Bazel. يوفر روابط للعديد من لغات البرمجة.

راجع ملاحظات الإصدار للحصول على ملاحظات حول الإصدارات المستقرة المختلفة لـ Z3.

Try the online Z3 Guide

حالة البناء

سير عمل طلبات السحب والدفع

WASM BuildWindows BuildCIOCaml Binding

سير العمل المجدولة

سير العمل اليدوية والإصدارات

DocumentationRelease BuildWASM ReleaseNuGet Build

سير العمل المتخصصة

Nightly ValidationCopilot SetupAgentics Maintenance
Nightly Build Validation

سير العمل الوكيلية

TPTP Benchmark
TPTP Front-End Benchmark

بناء Z3 على Windows باستخدام موجه أوامر Visual Studio

للبناء 32-بت، ابدأ بـ:

root@kitploit:~
python scripts/mk_make.py

أو بدلاً من ذلك، للبناء 64-بت:

root@kitploit:~
python scripts/mk_make.py -x

ثم نفذ:

root@kitploit:~
cd build
nmake

يستخدم Z3 C++20. لذا فإن الإصدار الموصى به من Visual Studio هو VS2019 أو أحدث.

ميزات الأمان (MSVC): عند البناء باستخدام Visual Studio/MSVC، يتم تمكين ميزتين أمنيتين افتراضيًا لـ Z3:

  • Control Flow Guard (/guard:cf) - مفعل افتراضيًا لاكتشاف محاولات اختراق الكود الخاص بك عن طريق منع الاستدعاءات لمواقع أخرى غير نقاط دخول الدوال، مما يجعل من الصعب على المهاجمين تنفيذ كود عشوائي عبر إعادة توجيه تدفق التحكم
  • Address Space Layout Randomization (/DYNAMICBASE) - مفعل افتراضيًا لترتيب عشوائي لتخطيط الذاكرة، وهو مطلوب بواسطة خيار الرابط /GUARD:CF
  • يمكن تعطيل هذه باستخدام python scripts/mk_make.py --no-guardcf (بناء Python) أو cmake -DZ3_ENABLE_CFG=OFF (بناء CMake) إذا لزم الأمر

بناء Z3 باستخدام make و GCC/Clang

نفذ:

root@kitploit:~
python scripts/mk_make.py
cd build
make
sudo make install

لاحظ أن g++ يُستخدم افتراضيًا كمترجم C++ إذا كان متاحًا. إذا كنت تفضل استخدام Clang، قم بتغيير استدعاء mk_make.py إلى:

root@kitploit:~
CXX=clang++ CC=clang python scripts/mk_make.py

لاحظ أن Clang < 3.7 لا يدعم OpenMP.

يمكنك أيضًا بناء Z3 لنظام Windows باستخدام Cygwin ومترجم Mingw-w64 cross-compiler. في هذه الحالة، تأكد من استخدام Python الخاص بـ Cygwin وليس تثبيت Python لنظام Windows.

للبناء 64-بت (من Cygwin64)، قم بتكوين مصادر Z3 باستخدام:

root@kitploit:~
CXX=x86_64-w64-mingw32-g++ CC=x86_64-w64-mingw32-gcc AR=x86_64-w64-mingw32-ar python scripts/mk_make.py

يجب أن يعمل البناء 32-بت بشكل مشابه (لكنه غير مُختبر); نفس الأمر ينطبق على البناء 32/64 بت من داخل Cygwin32.

افتراضيًا، سيقوم بتثبيت الملفات التنفيذية لـ Z3 في PREFIX/bin، والمكتبات في PREFIX/lib، وملفات التضمين في PREFIX/include، حيث يتم استنتاج بادئة التثبيت PREFIX بواسطة script mk_make.py. عادة ما تكون /usr لمعظم توزيعات Linux، و /usr/local لـ FreeBSD و macOS. استخدم خيار سطر الأوامر --prefix= لتغيير بادئة التثبيت. على سبيل المثال:

root@kitploit:~
python scripts/mk_make.py --prefix=/home/leo
cd build
make
make install

لإلغاء تثبيت Z3، استخدم:

root@kitploit:~
sudo make uninstall

لتنظيف Z3، يمكنك حذف دليل البناء وتشغيل script mk_make.py مرة أخرى.

بناء Z3 باستخدام CMake

Z3 لديه نظام بناء باستخدام CMake. اقرأ ملف README-CMake.md للحصول على التفاصيل. يُوصى به لمعظم مهام البناء، باستثناء بناء روابط OCaml.

بناء Z3 باستخدام vcpkg

vcpkg هو مدير حزم كامل المنصة. لتثبيت Z3 باستخدام vcpkg، قم بتنفيذ:

root@kitploit:~
git clone https://github.com/microsoft/vcpkg.git
./bootstrap-vcpkg.bat # For powershell
./bootstrap-vcpkg.sh # For bash
./vcpkg install z3

بناء Z3 باستخدام Bazel

يمكن بناء Z3 باستخدام Bazel. هذا معروف بأنه يعمل على Ubuntu مع Clang (لكن قد يعمل في أماكن أخرى مع مترجمات أخرى):

root@kitploit:~
bazel build //...

التبعيات

Z3 نفسه لديه تبعيات قليلة فقط. يستخدم مكتبات C++ وقت التشغيل، بما في ذلك pthreads للتعددية الخيطية. من الممكن اختياريًا استخدام GMP للأعداد الصحيحة متعددة الدقة، ولكن Z3 يحتوي على وظائف متعددة الدقة ذاتية الاكتفاء. Python مطلوب لبناء Z3. يتطلب بناء واجهات Java و .NET و OCaml و Julia تثبيت سلاسل أدوات ذات صلة.

روابط Z3

Z3 لديه روابط للعديد من لغات البرمجة.

.NET

يمكنك تثبيت حزمة NuGet لأحدث إصدار من Z3 من nuget.org.

استخدم علامة سطر الأوامر --dotnet مع mk_make.py لتمكين بناء هذه.

انظر examples/dotnet للحصول على أمثلة.

C

هذه دائمًا مفعلة.

انظر examples/c للحصول على أمثلة.

C++

هذه دائمًا مفعلة.

انظر examples/c++ للحصول على أمثلة.

Java

استخدم علامة سطر الأوامر --java مع mk_make.py لتمكين بناء هذه.

للحصول على إعدادات IDE (Eclipse، IntelliJ IDEA، Visual Studio Code) واستكشاف الأخطاء وإصلاحها، راجع دليل إعداد Java IDE.

انظر examples/java للحصول على أمثلة.

Go

استخدم علامة سطر الأوامر --go مع mk_make.py لتمكين بناء هذه. لاحظ أن روابط Go تستخدم CGO وتتطلب سلسلة أدوات Go (Go 1.20 أو أحدث) للبناء.

مع CMake، استخدم الخيار -DZ3_BUILD_GO_BINDINGS=ON.

انظر examples/go للحصول على أمثلة و src/api/go/README.md للحصول على توثيق كامل لواجهة API.

OCaml

استخدم علامة سطر الأوامر --ml مع mk_make.py لتمكين بناء هذه.

انظر examples/ml للحصول على أمثلة.

Python

يمكنك تثبيت غلاف Python لـ Z3 لأحدث إصدار من pypi باستخدام الأمر:

root@kitploit:~
   pip install z3-solver

استخدم علامة سطر الأوامر --python مع mk_make.py لتمكين بناء هذه.

لاحظ أنه مطلوب على منصات معينة أن دليل حزمة Python (site-packages في معظم التوزيعات و dist-packages في التوزيعات المستندة إلى Debian) يقع تحت بادئة التثبيت. إذا كنت تستخدم بادئة غير قياسية، يمكنك استخدام خيار --pypkgdir لتغيير دليل حزمة Python المستخدم للتثبيت. على سبيل المثال:

root@kitploit:~
python scripts/mk_make.py --prefix=/home/leo --python --pypkgdir=/home/leo/lib/python-2.7/site-packages

إذا كنت بحاجة إلى التثبيت في بادئة غير قياسية، فإن النهج الأفضل هو استخدام بيئة Python virtual environment وتثبيت Z3 هناك. حزم Python تعمل أيضًا مع Python3. تحت Windows، تذكر البناء داخل بيئة بناء أوامر Visual C++ الأصلية. لاحظ أن الدليل build/python/z3 يجب أن يكون قابلاً للوصول من مكان استخدام Python مع Z3 ويتطلب وجود libz3.dll في المسار.

root@kitploit:~
virtualenv venv
source venv/bin/activate
python scripts/mk_make.py --python
cd build
make
make install
# ستجد Z3 وروابط Python مثبتة في البيئة الافتراضية
venv/bin/z3 -h
...
python -c 'import z3; print(z3.get_version_string())'
...

انظر examples/python للحصول على أمثلة.

Julia

حزمة Julia Z3.jl تغلف واجهة C لـ Z3. إصدار سابق منها غلف واجهة C++: يمكن العثور على معلومات حول تحديث وبناء روابط Julia في src/api/julia.

WebAssembly / TypeScript / JavaScript

يتم نشر بناء WebAssembly مع كتابة TypeScript المرتبطة على npm كـ z3-solver. يمكن العثور على معلومات حول بناء هذه الروابط في src/api/js.

Smalltalk (Pharo / Smalltalk/X)

يوفر مشروع MachineArithmetic واجهة Smalltalk لواجهة C لـ Z3. لمزيد من المعلومات، راجع MachineArithmetic/README.md.

AIX

إعدادات البناء لـ AIX موصوفة هنا.

نظرة عامة على النظام

System Diagram

الواجهات

  • تنسيق الإدخال الافتراضي هو SMTLIB2

  • واجهات الوظائف الخارجية الأصلية الأخرى:

  • C++ API

  • .NET API

  • Java API

  • Python API (متاح أيضًا بتنسيق pydoc)

  • Rust

  • C

  • OCaml

  • Julia

  • Smalltalk (يدعم Pharo و Smalltalk/X)

أدوات القوة

  • Axiom Profiler الذي تم تطويره حاليًا بواسطة ETH Zurich
تنزيل الأداة
WASM Build
Windows
CI
OCaml Binding CI
Open BugsAndroid BuildPyodide Wheel (PyPI)Nightly BuildCross Build
Open IssuesAndroid BuildPyodide Wheel (PyPI)Nightly BuildRISC V and PowerPC 64
MSVC StaticMSVC Clang-CLBuild Z3 CacheMemory SafetyMark PRs Ready
MSVC Static BuildMSVC Clang-CL Static BuildBuild and Cache Z3Memory Safety AnalysisMark PRs Ready for Review
Documentation
Release Build
WebAssembly Publish
Build NuGet Package
Copilot Setup Steps
Agentics Maintenance
API CoherenceCode SimplifierRelease NotesWorkflow SuggestionAcademic Citation
API Coherence CheckerCode SimplifierRelease Notes UpdaterWorkflow Suggestion AgentAcademic Citation Tracker
Issue BacklogMemory Safety ReportQF-S BenchmarkSpecbot Crash AnalyzerSMTLIB Benchmark Finder
Issue Backlog ProcessorMemory Safety ReportZIPT String Solver BenchmarkSpecbot Crash AnalyzerSMTLIB Benchmark Finder