Z3 - Satisfiability Modulo Theories (SMT)
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Kwa msingi, chombo hiki kitatusaidia kupata thamani za mabadiliko ambayo yanahitaji kutimiza masharti fulani na kuhesabu kwa mkono kutakuwa na usumbufu mkubwa. Hivyo, unaweza kuonyesha kwa Z3 masharti ambayo mabadiliko yanahitaji kutimiza na itapata baadhi ya thamani (ikiwa inawezekana).
Baadhi ya maandiko na mifano yameondolewa kutoka https://ericpony.github.io/z3py-tutorial/guide-examples.htm
Basic Operations
Booleans/And/Or/Not
Ints/Simplify/Reals
Kuchapisha Mfano
Hesabu ya Mashine
CPUs za kisasa na lugha za programu za kawaida hutumia hesabu juu ya bit-vectors zenye ukubwa wa kudumu. Hesabu ya mashine inapatikana katika Z3Py kama Bit-Vectors.
Signed/Unsigned Numbers
Z3 inatoa toleo maalum la operesheni za kihesabu ambapo ina umuhimu ikiwa bit-vector inachukuliwa kama signed au unsigned. Katika Z3Py, waendeshaji <, <=, >, >=, /, % na >> wanalingana na toleo la signed. Waendeshaji wa unsigned husika ni ULT, ULE, UGT, UGE, UDiv, URem na LShR.
Functions
Kazi za tafsiri kama za hesabu ambapo kazi + ina tafsiri ya kawaida isiyobadilika (inaongeza nambari mbili). Kazi zisizo na tafsiri na constants ni za kiwango cha juu cha kubadilika; zinaruhusu tafsiri yoyote ambayo ni sawa na vizuizi juu ya kazi au constant.
Mfano: f inatumika mara mbili kwa x inarudi x tena, lakini f inatumika mara moja kwa x ni tofauti na x.
Mifano
Mchambuzi wa Sudoku
References
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated