§
    sÂj9  ã                  óò  — d Z ddlmZ ddlZddlZddlZddlZddlZddlm	Z	 ej
                             ej
                             ej
                             e¦  «        d¦  «        ¦  «        Zej
                             ed¦  «        Zeej
        vrej
                             de¦  «         eej
        vrej
                             de¦  «         ddlmZmZmZ ddlmZmZmZ dd	lmZmZmZ dd
lmZm Z m!Z! ddl"m#Z#m$Z$  G d„ dej%        ¦  «        Z& G d„ dej%        ¦  «        Z' G d„ dej%        ¦  «        Z( G d„ dej%        ¦  «        Z) G d„ dej%        ¦  «        Z*e+dk    r ej,        ¦   «          dS dS )u/  
Sprint 4 TDD Unit & Integration Test Suite for FreeExile:
PHÃ�O Ä�Ã€I Báº¢O Máº¬T & TRÃ� TUá»† NHÃ‚N Táº O CHá»�NG BOT (TUáº¦N 7)
- 1. Sinh tráº¯c há»�c cáº£m á»©ng & AI / Heuristic Bot Detection (> 99.2% bot detection)
- 2. Apple App Attest & Client Integrity Verification (Secure Enclave, Anti-Jailbreak)
- 3. Chá»‘ng táº¥n cÃ´ng Replay, Timestamp Gating & Nonce Cache (< 1ms rejection)
- 4. Dynamic Polymorphic XOR Key RAM Encryption (Anti-Cheat Engine / GameGem)
- 5. Penetration Test Suite (Speedhack, Teleport, Packet Injection, Dupe Replay, Wallhack)
é    )ÚannotationsN)ÚListz../..Úserver)ÚTouchBiometricsValidatorÚ
TouchPointÚBiometricEvaluationResult)ÚAppleAppAttestValidatorÚAttestationTokenÚClientEnvironmentInfo)ÚTimestampGatedPacketGuardÚPacketCipherEngineÚAntiReplayWindow)ÚPolymorphicRAMVariableÚProtectedPlayerStatsÚMemoryTamperViolationError)ÚPenetrationTestHarnessÚPenetrationSuiteSummaryc                  ó2   — e Zd ZdZdd„Zdd„Zdd	„Zdd
„ZdS )ÚTestSprint4TouchBiometricsMLz@Test suite for Touch Biometrics AI & Micro-tremor Bot Detection.ÚreturnÚNonec                ó,   — t          ¦   «         | _        d S ©N)r   Ú	validator©Úselfs    úOC:\Projects\FreeExile\tests\unit\test_sprint_4_security_fortress_and_antibot.pyÚsetUpz"TestSprint4TouchBiometricsML.setUp7   s   € Ý1Ñ3Ô3ˆŒˆˆó    ÚseedÚintúList[TouchPoint]c                ó8  — g }t          d¦  «        D �]}t          j        |dz  |z   ¦  «        dz  }t          j        |dz  |z   ¦  «        dz  }|                     t	          t          |dz  |z   |z   ¦  «        t          |dz  t          j        |dz  ¦  «        dz  z   ¦  «        t          |d	z  t          j        ||z   ¦  «        dz  z   ¦  «        d
t          j        |dz  ¦  «        dz  z   dt          j        |dz  ¦  «        dz  z   ¬¦  «        ¦  «         �Œ|S )z?Generates an authentic human curved swipe with natural tremors.é   çffffffæ?gffffff@g      ø?gš™™™™™Ù?é   ç      à?g      @é(   ç      2@gš™™™™™é?g      @g333333ë?g333333Ã?)ÚxÚyÚtimestamp_msÚmajor_radiusÚforce)ÚrangeÚmathÚsinÚappendr   ÚfloatÚcos)r   r    ÚpointsÚiÚjitterÚtremors         r   Ú!_generate_synthetic_human_gesturez>TestSprint4TouchBiometricsML._generate_synthetic_human_gesture:   s$  € à#%ˆÝ�r‘”ð 	ñ 	ˆAÝ”X˜a #™g¨™nÑ-Ô-°Ñ3ˆFÝ”X˜a #™g¨™nÑ-Ô-°Ñ3ˆFØ�MŠMÝÝ˜A ™F V™O¨fÑ4Ñ5Ô5Ý˜A ™F¥T¤X¨a°#©gÑ%6Ô%6¸Ñ%<Ñ<Ñ=Ô=Ý!& q¨2¡vµ´¸!¸d¹(Ñ1CÔ1CÀcÑ1IÑ'JÑ!KÔ!KØ!%­¬°°S±Ñ(9Ô(9¸CÑ(?Ñ!?Ø¥¤¨!¨c©'Ñ!2Ô!2°TÑ!9Ñ9ðñ ô ñô ð ñ ð ˆr   c                ó@  — t          d¦  «        D ]�}|                      |¦  «        }| j                             |¦  «        }|                      |j        d|› d|j        › �¦  «         |                      |j        d¦  «         |  	                    |j
        d¦  «         ŒŽdS )z;Genuine human swipes are accepted with trust score >= 0.70.é   zFailed on seed z: r%   r'   N)r/   r9   r   Úevaluate_detailedÚ
assertTrueÚis_humanÚanomaly_reasonsÚassertGreaterEqualÚtrust_scoreÚ
assertLessÚbot_probability)r   r    ÚsampleÚress       r   Ú3test_authentic_human_touch_accepted_with_high_trustzPTestSprint4TouchBiometricsML.test_authentic_human_touch_accepted_with_high_trustK   s¥   € å˜"‘I”Ið 	7ð 	7ˆDØ×;Ò;¸DÑAÔAˆFØ”.×2Ò2°6Ñ:Ô:ˆCØ�OŠO˜CœLÐ*Y¸DÐ*YÐ*YÀCÔDWÐ*YÐ*YÑZÔZÐZØ×#Ò# C¤O°TÑ:Ô:Ð:Ø�OŠO˜CÔ/°Ñ6Ô6Ð6Ð6ð	7ð 	7r   c                óØ   ‡ — d„ d„ d„ d„ d„ d„ g}d„ |D ¦   «         }t          |¦  «        }t          ˆ fd„|D ¦   «         ¦  «        }||z  d	z  }‰                      |d
d|d›d�¦  «         d S )Nc                ó”   — t          t          | dz  ¦  «        t          | dz  ¦  «        t          | dz  ¦  «        d| dz  z   d¦  «        S )Né   é   é   ç      .@é   ç      ð?©r   r3   ©Újr6   s     r   ú<lambda>zaTestSprint4TouchBiometricsML.test_bot_detection_rate_exceeds_99_point_2_percent.<locals>.<lambda>W   óB   € �¥E¨!¨b©&¡M¤Mµ5¸¸R¹±=´=Å%ÈÈBÉÁ-Ä-ÐQUÐYZÐ]^ÑY^ÑQ_ÐadÑeÔe€ r   c                óŽ   — t          t          d|z   | z   ¦  «        t          d| z   ¦  «        t          | dz  ¦  «        dd¦  «        S )Néd   éÈ   é2   g        rN   rO   rP   s     r   rR   zaTestSprint4TouchBiometricsML.test_bot_detection_rate_exceeds_99_point_2_percent.<locals>.<lambda>X   s=   € �¥E¨#°©'°A©+Ñ$6Ô$6½¸cÀA¹g¹¼ÍÈaÐRTÉfÉÌÐWZÐ\_Ñ`Ô`€ r   c                óH   — t          ddt          | dz  ¦  «        dd¦  «        S )Nç     Àb@g     Àr@r(   ç      0@rN   rO   rP   s     r   rR   zaTestSprint4TouchBiometricsML.test_bot_detection_rate_exceeds_99_point_2_percent.<locals>.<lambda>Y   s    € � E¨5µ%¸¸B¹±-´-ÀÀsÑKÔK€ r   c                ó”   — t          t          | dz  | dz  z   ¦  «        t          | dz  ¦  «        t          | dz  ¦  «        dd¦  «        S )Né
   é   r$   g´Èv¾Ÿª@@rZ   rN   rO   rP   s     r   rR   zaTestSprint4TouchBiometricsML.test_bot_detection_rate_exceeds_99_point_2_percent.<locals>.<lambda>Z   sF   € �¥E¨!¨b©&°A¸±EÑ*:Ñ$;Ô$;½UÀ1ÀrÁ6¹]¼]ÍEÐRSÐV\ÑR\ÑL]ÔL]Ð_cÐehÑiÔi€ r   c                ó”   — t          t          | dz  ¦  «        t          | dz  ¦  «        t          | dz  ¦  «        d| dz  z   d¦  «        S )Nr;   r)   r]   rN   rO   rP   s     r   rR   zaTestSprint4TouchBiometricsML.test_bot_detection_rate_exceeds_99_point_2_percent.<locals>.<lambda>[   rS   r   c                óˆ   — t          ddt          j        | ¦  «        z  z   ddt          j        | ¦  «        z  z   ddd¦  «        S )Nç      Y@g      >@ç     @�@rL   rN   )r   r0   r4   r1   rP   s     r   rR   zaTestSprint4TouchBiometricsML.test_bot_detection_rate_exceeds_99_point_2_percent.<locals>.<lambda>\   s>   € � E¨Dµ4´8¸A±;´;Ñ,>Ñ$>ÀÈÍtÌxÐXYÉ{Ì{ÑHZÑ@ZÐ\bÐdhÐjmÑnÔn€ r   c                ón   ‡‡— g | ]0Št          d ¦  «        D ]Šˆˆfd„t          d¦  «        D ¦   «         ‘ŒŒ1S )rV   c                ó(   •— g | ]} ‰|‰¦  «        ‘ŒS © rd   )Ú.0rQ   Úfnr6   s     €€r   ú
<listcomp>znTestSprint4TouchBiometricsML.test_bot_detection_rate_exceeds_99_point_2_percent.<locals>.<listcomp>.<listcomp>_   s#   ø€ Ð(Ð(Ð(˜!ˆRˆR��1‰XŒXÐ(Ð(Ð(r   é   )r/   )re   rf   r6   s    @@r   rg   zcTestSprint4TouchBiometricsML.test_bot_detection_rate_exceeds_99_point_2_percent.<locals>.<listcomp>^   s_   øø€ ð /
ð /
ð /
Ø-/ÅuÈSÁzÄzð/
ð /
ØBCÐ(Ð(Ð(Ð(Ð(�u Q™xœxÐ(Ñ(Ô(ð/
ð /
ð /
ð /
r   c              3  óZ   •K  — | ]%}‰j                              |¦  «        j        °!d V — Œ&dS )é   N)r   r<   r>   )re   rD   r   s     €r   ú	<genexpr>zbTestSprint4TouchBiometricsML.test_bot_detection_rate_exceeds_99_point_2_percent.<locals>.<genexpr>c   s<   øè è € ÐqÐq &¸t¼~×?_Ò?_Ð`fÑ?gÔ?gÔ?pÐq˜AÐqÐqÐqÐqÐqÐqr   r`   gÍÌÌÌÌÌX@zBot detection rate z.2fz$% is below required 99.2% threshold!)ÚlenÚsumr@   )r   Ú
archetypesÚbot_samplesÚ
total_botsÚdetected_botsÚdetection_rates   `     r   Ú2test_bot_detection_rate_exceeds_99_point_2_percentzOTestSprint4TouchBiometricsML.test_bot_detection_rate_exceeds_99_point_2_percentT   sÇ   ø€ ð fÐeØ`Ð`ØKÐKØiÐiØeÐeØnÐnð
ˆ
ð/
ð /
Ø3=ð/
ñ /
ô /
ˆõ ˜Ñ%Ô%ˆ
ÝÐqÐqÐqÐq¨KÐqÑqÔqÑqÔqˆØ'¨*Ñ4¸Ñ=ˆà×ÒØ˜DØZ .ÐZÐZÐZÐZñ	
ô 	
ð 	
ð 	
ð 	
r   N©r   r   )r    r!   r   r"   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r9   rF   rs   rd   r   r   r   r   4   sj   € € € € € ØJÐJð4ð 4ð 4ð 4ðð ð ð ð"7ð 7ð 7ð 7ð
ð 
ð 
ð 
ð 
ð 
r   r   c                  ó2   — e Zd ZdZd	d„Zd	d„Zd	d„Zd	d„ZdS )
Ú TestSprint4AppAttestAndIntegrityz@Test suite for Apple App Attest & Client Integrity Verification.r   r   c                ó0   — t          d¬¦  «        | _        d S )Núcom.freeexile.game.ios)Úexpected_bundle_id)r	   r   r   s    r   r   z&TestSprint4AppAttestAndIntegrity.setUpo   s   € Ý0ÐD\Ð]Ñ]Ô]ˆŒˆˆr   c                ó   — d}| j                              |d¬¦  «        }|                      t          |¦  «        d¦  «         | j                              |dd|¬¦  «        }| j                              ||¬¦  «        \  }}|                      |¦  «         |                      d	|                     ¦   «         ¦  «         | j                              |dd
|¬¦  «        }| j                              ||¬¦  «        \  }}|  	                    |¦  «         dS )zGChallenge nonce generation, TTL expiration, and single-use consumption.Úiphone_16_pro_max_01éx   )Ú	device_idÚttl_secondsé0   r|   rj   )r�   Ú	bundle_idÚcounterÚchallenge_nonce)Úrequired_challengeÚverifiedrM   N)
r   Úgenerate_challengeÚassertEqualrl   Úgenerate_mock_attestationÚverify_attestationr=   ÚassertInÚlowerÚassertFalse)	r   r�   ÚnonceÚtokenÚokÚmsgÚreplay_tokenÚ	ok_replayÚ_s	            r   Ú,test_app_attest_challenge_response_handshakezMTestSprint4AppAttestAndIntegrity.test_app_attest_challenge_response_handshaker   s  € à*ˆ	Ø”×1Ò1¸IÐSVÐ1ÑWÔWˆØ×Ò�˜U™œ RÑ(Ô(Ð(ð ”×8Ò8ØÐ+CÈQÐ`eð 9ñ 
ô 
ˆð ”.×3Ò3°EÈeÐ3ÑTÔT‰ˆˆCØ�Š˜ÑÔÐØ�Š�j #§)¢)¡+¤+Ñ.Ô.Ð.ð ”~×?Ò?ØÐ+CÈQÐ`eð @ñ 
ô 
ˆð ”~×8Ò8¸ÐZ_Ð8Ñ`Ô`‰ˆ	�1Ø×Ò˜Ñ#Ô#Ð#Ð#Ð#r   c                óœ  — d}| j                              |dd¬¦  «        }| j                              |¦  «         |                      | j                              |d¦  «        d         ¦  «         |                      | j                              |d¦  «        d         ¦  «         |                      | j                              |d¦  «        d         ¦  «         |                      | j                              |d¦  «        d         ¦  «         | j                              |¦  «        \  }}|                      |¦  «         |                      d	|                     ¦   «         ¦  «         |                      | j                              |d¦  «        d         ¦  «         |                      | j                              |d
¦  «        d         ¦  «         dS )z=Monotonic counter prevents hardware assertion replay attacks.Údevice_test_counterr|   r\   )r…   é   r   rI   r$   ÚreplayéÿÿÿÿN)r   r‹   rŒ   r=   Úverify_assertion_counterr�   r�   rŽ   )r   r�   r‘   r’   r“   s        r   Ú#test_assertion_counter_monotonicityzDTestSprint4AppAttestAndIntegrity.test_assertion_counter_monotonicity‡   s‹  € à)ˆ	Ø”×8Ò8¸ÐD\ÐfhÐ8ÑiÔiˆØŒ×)Ò)¨%Ñ0Ô0Ð0à�Š˜œ×?Ò?À	È2ÑNÔNÈqÔQÑRÔRÐRØ�Š˜œ×?Ò?À	È2ÑNÔNÈqÔQÑRÔRÐRà×Ò˜œ×@Ò@ÀÈBÑOÔOÐPQÔRÑSÔSÐSà×Ò˜œ×@Ò@ÀÈBÑOÔOÐPQÔRÑSÔSÐSà”.×3Ò3°EÑ:Ô:‰ˆˆCØ×Ò˜ÑÔÐØ�Š�h §	¢	¡¤Ñ,Ô,Ð,à×Ò˜œ×@Ò@ÀÈAÑNÔNÈqÔQÑRÔRÐRØ×Ò˜œ×@Ò@ÀÈBÑOÔOÐPQÔRÑSÔSÐSÐSÐSr   c                ó  — t          dddd¬¦  «        }| j                             |¦  «        }|                      |j        ¦  «         |                      t          |j        ¦  «        d¦  «         t          ddddd¬	¦  «        }| j                             |¦  «        }|                      |j        ¦  «         |  	                    d
|j        ¦  «         |  	                    d|j        ¦  «         |  	                    d|j        ¦  «         dS )zFFlags jailbreak artifacts, attached debuggers, and modified bundle ID.r|   zSHA256:OFFICIAL_APPLE_CERT_2026F)r„   Úbinary_hashÚis_jailbrokenÚdebugger_attachedr   zcom.cracked.freeexilezSHA256:TAMPERED_MOD_IPAT)r„   r    r¡   r¢   Úsuspicious_dylib_loadedÚBUNDLE_ID_MISMATCHÚJAILBREAK_DETECTEDÚDEBUGGER_ATTACHEDN)
r   r   Úverify_client_environmentr=   Ú
is_trustedrŠ   rl   Úviolation_flagsr�   r�   )r   Ú	clean_envÚ	clean_resÚhostile_envÚhostile_ress        r   Ú(test_client_environment_integrity_checkszITestSprint4AppAttestAndIntegrity.test_client_environment_integrity_checks›   s  € å)Ø.Ø9ØØ#ð	
ñ 
ô 
ˆ	ð ”N×<Ò<¸YÑGÔGˆ	Ø�Š˜	Ô,Ñ-Ô-Ð-Ø×Ò�˜YÔ6Ñ7Ô7¸Ñ;Ô;Ð;å+Ø-Ø1ØØ"Ø$(ð
ñ 
ô 
ˆð ”n×>Ò>¸{ÑKÔKˆØ×Ò˜Ô/Ñ0Ô0Ð0Ø�ŠÐ*¨KÔ,GÑHÔHÐHØ�ŠÐ*¨KÔ,GÑHÔHÐHØ�ŠÐ)¨;Ô+FÑGÔGÐGÐGÐGr   Nrt   )ru   rv   rw   rx   r   r—   rž   r®   rd   r   r   rz   rz   l   sx   € € € € € ØJÐJð^ð ^ð ^ð ^ð$ð $ð $ð $ð*Tð Tð Tð Tð(Hð Hð Hð Hð Hð Hr   rz   c                  ó:   — e Zd ZdZd
d„Zd
d„Zd
d„Zd
d„Zd
d„Zd	S )Ú'TestSprint4AntiReplayAndTimestampGatingzKTest suite for Anti-Replay, Timestamp Gating & Sub-Millisecond Nonce Cache.r   r   c                óJ   — d| _         t          | j         d¬¦  «        | _        d S )Ns#   SHARED_SECRET_PACKET_GUARD_KEY_2026i¸  )Ú
shared_keyÚmax_drift_ms)r²   r   Úguardr   s    r   r   z-TestSprint4AntiReplayAndTimestampGating.setUp¸   s$   € Ø@ˆŒÝ.¸$¼/ÐX\Ð]Ñ]Ô]ˆŒ
ˆ
ˆ
r   c                ó
  — t          t          j        ¦   «         dz  ¦  «        }| j                             dd|¬¦  «        }| j                             ||dz   ¬¦  «        \  }}}|                      |¦  «         |                      |d¦  «         |                      |d¦  «         t          | j	        ¦  «        }|  
                    t          ¦  «        5  |                     dd	¬
¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z4Valid packet within 3000ms drift window is accepted.éè  s   MOVE_DIR_1_0rj   ©ÚpayloadÚseq_numr,   rW   ©Úserver_now_msÚPACKET_ACCEPTEDrN   rœ   )r¹   N)r!   Útimer´   Úcreate_packetÚverify_and_process_packetr=   rŠ   rB   r   r²   ÚassertRaisesÚ
ValueErrorÚencrypt)r   ÚnowÚpktr’   ÚreasonÚlatencyÚciphers          r   Ú*test_packet_acceptance_within_drift_windowzRTestSprint4AntiReplayAndTimestampGating.test_packet_acceptance_within_drift_window¼   s9  € å•$”)‘+”+ Ñ$Ñ%Ô%ˆØŒj×&Ò&¨ÈÐX[Ð&Ñ\Ô\ˆØ"œj×BÒBÀ3ÐVYÐ\^ÑV^ÐBÑ_Ô_ÑˆˆF�GØ�Š˜ÑÔÐØ×Ò˜Ð!2Ñ3Ô3Ð3Ø�Š˜ Ñ%Ô%Ð%å# D¤OÑ4Ô4ˆØ×Ò�zÑ*Ô*ð 	8ð 	8Ø�NŠN˜?°BˆNÑ7Ô7Ð7ð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8ð 	8ð 	8s   ÃC8Ã8C<Ã?C<c                óN  — t          t          j        ¦   «         dz  ¦  «        }| j                             dd|dz
  ¬¦  «        }| j                             ||¬¦  «        \  }}}|                      |¦  «         |                      d|¦  «         |                      |d¦  «         d	S )
z3Packets with timestamp drift > 3000ms are rejected.r¶   s   CAST_SKILL_01rM   iˆ  r·   rº   ÚTIMESTAMP_DRIFT_EXCEEDEDrN   N)r!   r½   r´   r¾   r¿   r�   r�   rB   )r   rÃ   Ú	stale_pktr’   rÅ   rÆ   s         r   Ú&test_timestamp_drift_exceeded_rejectedzNTestSprint4AntiReplayAndTimestampGating.test_timestamp_drift_exceeded_rejectedÉ   s£   € å•$”)‘+”+ Ñ$Ñ%Ô%ˆØ”J×,Ò,Ð5EÈqÐ_bÐeiÑ_iÐ,ÑjÔjˆ	Ø"œj×BÒBÀ9Ð\_ÐBÑ`Ô`ÑˆˆF�GØ×Ò˜ÑÔÐØ�ŠÐ0°&Ñ9Ô9Ð9Ø�Š˜ Ñ%Ô%Ð%Ð%Ð%r   c                ó¸  — t          t          j        ¦   «         dz  ¦  «        }| j                             dd|¬¦  «        }| j                             ||¬¦  «        \  }}}|                      |¦  «         | j                             ||dz   ¬¦  «        \  }}}|                      |¦  «         |                      |d¦  «         |                      |d¦  «         d	S )
z9Replay attack with duplicated nonce is rejected in < 1ms.r¶   s   BUY_ITEM_01r]   r·   rº   r\   ÚREPLAY_DUPLICATE_NONCErN   N)	r!   r½   r´   r¾   r¿   r=   r�   rŠ   rB   )r   rÃ   rÄ   Úok1r–   Úok2rÅ   rÆ   s           r   Ú7test_duplicate_nonce_replay_rejected_in_sub_millisecondz_TestSprint4AntiReplayAndTimestampGating.test_duplicate_nonce_replay_rejected_in_sub_millisecondÒ   sØ   € å•$”)‘+”+ Ñ$Ñ%Ô%ˆØŒj×&Ò&¨~ÀqÐWZÐ&Ñ[Ô[ˆØ”J×8Ò8¸ÈCÐ8ÑPÔP‰	ˆˆQ�Ø�Š˜ÑÔÐð  $œz×CÒCÀCÐWZÐ]_ÑW_ÐCÑ`Ô`ÑˆˆV�WØ×Ò˜ÑÔÐØ×Ò˜Ð!9Ñ:Ô:Ð:Ø�Š˜ Ñ%Ô%Ð%Ð%Ð%r   c                ó  — t          t          j        ¦   «         dz  ¦  «        }| j                             dd|¬¦  «        }| j                             ||¬¦  «         g }t          d¦  «        D ]7}| j                             ||¬¦  «        \  }}}|                     |¦  «         Œ8t          |¦  «        t          |¦  «        z  }t          |¦  «        }|  
                    |dd|d	›d
�¦  «         |  
                    |dd|d	›d�¦  «         dS )zKVerifies that 100 replayed/tampered packets are all rejected in < 1ms each.r¶   s   SPAM_REPLAYr\   r·   rº   rU   r'   zAverage rejection latency z.4fzms exceeded 0.5msrN   zMax rejection latency zms exceeded 1.0msN)r!   r½   r´   r¾   r¿   r/   r2   rm   rl   ÚmaxrB   )r   rÃ   Úreplayed_pktÚ	latenciesr–   ÚlatÚavg_latÚmax_lats           r   Ú6test_rejection_latency_benchmark_under_one_millisecondz^TestSprint4AntiReplayAndTimestampGating.test_rejection_latency_benchmark_under_one_millisecondß   s  € å•$”)‘+”+ Ñ$Ñ%Ô%ˆØ”z×/Ò/¸ÐPRÐadÐ/ÑeÔeˆØŒ
×,Ò,¨\ÈÐ,ÑMÔMÐMà!#ˆ	Ý�s‘”ð 	"ð 	"ˆAØœ
×<Ò<¸\ÐY\Ð<Ñ]Ô]‰IˆAˆq�#Ø×Ò˜SÑ!Ô!Ð!Ð!å�i‘.”.¥3 y¡>¤>Ñ1ˆÝ�i‘.”.ˆØ�Š˜ Ð&aÀ7Ð&aÐ&aÐ&aÐ&aÑbÔbÐbØ�Š˜ Ð&]¸wÐ&]Ð&]Ð&]Ð&]Ñ^Ô^Ð^Ð^Ð^r   Nrt   )	ru   rv   rw   rx   r   rÈ   rÌ   rÑ   rÙ   rd   r   r   r°   r°   µ   sˆ   € € € € € ØUÐUð^ð ^ð ^ð ^ð8ð 8ð 8ð 8ð&ð &ð &ð &ð&ð &ð &ð &ð_ð _ð _ð _ð _ð _r   r°   c                  ó*   — e Zd ZdZdd„Zdd„Zdd„ZdS )	Ú&TestSprint4PolymorphicMemoryEncryptionz:Test suite for Dynamic Polymorphic XOR Key RAM Encryption.r   r   c                ó’  — t          t                   dd¦  «        }|j        }|                     ¦   «         }|                      |dd¬¦  «         |j        }|                      ||¦  «         |                     ¦   «          |j        }|                      ||¦  «         |                      |                     ¦   «         dd¬¦  «         t          t                   dd¦  «        }|                      |                     ¦   «         d¦  «         | 	                    d¦  «         |                      |                     ¦   «         d¦  «         dS )	zOInternal XOR mask key rotates dynamically on read/write without mutating value.g     ‹“@Ú	player_hprM   ©ÚplacesiÖÿÿÿÚsigned_statiÁ½ðÿN)
r   r3   Ú	_mask_keyÚ	get_valueÚassertAlmostEqualÚassertNotEqualÚ
cycle_maskr!   rŠ   Ú	set_value)r   Úhp_varÚinitial_keyÚvalÚ
second_keyÚ	third_keyÚ
signed_vars          r   Ú&test_polymorphic_key_rotates_on_accesszMTestSprint4PolymorphicMemoryEncryption.test_polymorphic_key_rotates_on_accessó   s5  € å'­Ô.¨w¸ÑDÔDˆØÔ&ˆð ×ÒÑ Ô ˆØ×Ò˜s G°AÐÑ6Ô6Ð6ØÔ%ˆ
Ø×Ò˜K¨Ñ4Ô4Ð4à×ÒÑÔÐØÔ$ˆ	Ø×Ò˜J¨	Ñ2Ô2Ð2Ø×Ò˜v×/Ò/Ñ1Ô1°7À1ÐÑEÔEÐEõ ,­CÔ0°°mÑDÔDˆ
Ø×Ò˜×-Ò-Ñ/Ô/°Ñ5Ô5Ð5Ø×Ò˜WÑ%Ô%Ð%Ø×Ò˜×-Ò-Ñ/Ô/°Ñ9Ô9Ð9Ð9Ð9r   c                óD  — t          t                   dd¦  «        }|                      |                     ¦   «         d¦  «         |                     d¦  «         |                      t          ¦  «        5  |                     ¦   «          ddd¦  «         dS # 1 swxY w Y   dS )zQOverwriting or freezing masked memory bytes causes canary verification exception.iô  Úplayer_manal   ™i8ëN)r   r!   rŠ   râ   Úinject_raw_memory_corruptionrÀ   r   )r   Úmana_vars     r   Ú9test_cheat_engine_memory_freeze_triggers_tamper_violationz`TestSprint4PolymorphicMemoryEncryption.test_cheat_engine_memory_freeze_triggers_tamper_violation	  sÙ   € å)­#Ô.¨s°MÑBÔBˆØ×Ò˜×+Ò+Ñ-Ô-¨sÑ3Ô3Ð3ð 	×-Ò-¨lÑ;Ô;Ð;Ø×ÒÕ9Ñ:Ô:ð 	!ð 	!Ø×ÒÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!ð 	!ð 	!s   Á3BÂBÂBc                ó.  — t          ddddd¬¦  «        }|                      |                     ¦   «         ¦  «         |                     d¦  «         |                      |j                             ¦   «         dd¬¦  «         |                     d	¦  «         |                      |j                             ¦   «         d
d¬¦  «         |                      |                     d¦  «        ¦  «         |                      |j	                             ¦   «         dd¬¦  «         |  
                    |                     d¦  «        ¦  «         |                     d¦  «         |                      |j                             ¦   «         d¦  «         |                      |                     d¦  «        ¦  «         |                      |j                             ¦   «         d¦  «         |                     ¦   «          |                      |                     ¦   «         ¦  «         dS )zTValidates damage, healing, mana spend, currency transactions, and frame key cycling.ra   g     @@rU   )ÚhpÚmax_hpÚmanaÚmax_manaÚcurrency_hon_nguyeng     àu@g     P„@rM   rÞ   rY   g      ‰@r`   g      y@g     8�@rW   é–   éF   éP   N)r   r=   Úverify_all_integrityÚtake_damagerã   rô   râ   ÚhealÚ
spend_manarö   r�   Úadd_currencyrŠ   rø   Úspend_currencyÚcycle_all_masks)r   Ústatss     r   Ú%test_protected_player_stats_lifecyclezLTestSprint4PolymorphicMemoryEncryption.test_protected_player_stats_lifecycle  sÙ  € å$¨°vÀEÐTYÐorÐsÑsÔsˆØ�Š˜×2Ò2Ñ4Ô4Ñ5Ô5Ð5ð 	×Ò˜%Ñ Ô Ð Ø×Ò˜uœx×1Ò1Ñ3Ô3°UÀ1ÐÑEÔEÐEØ�
Š
�5ÑÔÐØ×Ò˜uœx×1Ò1Ñ3Ô3°UÀ1ÐÑEÔEÐEð 	�Š˜×(Ò(¨Ñ/Ô/Ñ0Ô0Ð0Ø×Ò˜uœz×3Ò3Ñ5Ô5°uÀQÐÑGÔGÐGØ×Ò˜×)Ò)¨%Ñ0Ô0Ñ1Ô1Ð1ð 	×Ò˜2ÑÔÐØ×Ò˜Ô2×<Ò<Ñ>Ô>ÀÑDÔDÐDØ�Š˜×,Ò,¨RÑ0Ô0Ñ1Ô1Ð1Ø×Ò˜Ô2×<Ò<Ñ>Ô>ÀÑCÔCÐCð 	×ÒÑÔÐØ�Š˜×2Ò2Ñ4Ô4Ñ5Ô5Ð5Ð5Ð5r   Nrt   )ru   rv   rw   rx   rí   rò   r  rd   r   r   rÛ   rÛ   ð   sV   € € € € € ØDÐDð:ð :ð :ð :ð,!ð !ð !ð !ð6ð 6ð 6ð 6ð 6ð 6r   rÛ   c                  ó"   — e Zd ZdZdd„Zdd„ZdS )ÚTestSprint4PenetrationHarnessz?Test suite for Automated Penetration & Exploit Fuzzing Harness.r   r   c                ó,   — t          ¦   «         | _        d S r   )r   Úharnessr   s    r   r   z#TestSprint4PenetrationHarness.setUp1  s   € Ý-Ñ/Ô/ˆŒˆˆr   c                ó6  — | j                              ¦   «         }|                      |j        d¦  «         |                      |j        d¦  «         |                      |j        d¦  «         |j        D ]&}|                      |j        d|j	        › d�¦  «         Œ'dS )zWExecutes full penetration matrix (Speedhack, Teleport, Tamper, Dupe, Wallhack, Memory).é   r`   zAttack vector z bypassed defense!N)
r  Ú#run_comprehensive_penetration_suiterŠ   Útotal_attacksÚblocked_attacksÚblock_rate_percentÚverdictsr=   Ú
is_blockedÚvector_name)r   ÚsummaryÚverdicts      r   Ú6test_penetration_suite_achieves_100_percent_block_ratezTTestSprint4PenetrationHarness.test_penetration_suite_achieves_100_percent_block_rate4  s©   € à+/¬<×+[Ò+[Ñ+]Ô+]ˆØ×Ò˜Ô.°Ñ2Ô2Ð2Ø×Ò˜Ô0°!Ñ4Ô4Ð4Ø×Ò˜Ô3°UÑ;Ô;Ð;àÔ'ð 	jð 	jˆGØ�OŠO˜GÔ.Ð0hÀÔATÐ0hÐ0hÐ0hÑiÔiÐiÐið	jð 	jr   Nrt   )ru   rv   rw   rx   r   r  rd   r   r   r  r  .  sH   € € € € € ØIÐIð0ð 0ð 0ð 0ðjð jð jð jð jð jr   r  Ú__main__)-rx   Ú
__future__r   r0   ÚosÚsysr½   ÚunittestÚtypingr   ÚpathÚabspathÚjoinÚdirnameÚ__file__ÚPROJECT_ROOTÚ
SERVER_DIRÚinsertÚ server.security.touch_biometricsr   r   r   Úserver.security.app_attestr	   r
   r   Úserver.security.packet_cipherr   r   r   Ú"server.security.polymorphic_memoryr   r   r   Ú(server.security.penetration_test_harnessr   r   ÚTestCaser   rz   r°   rÛ   r  ru   Úmainrd   r   r   ú<module>r*     s	  ððð ð #Ð "Ð "Ð "Ð "Ð "Ø €€€Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð àŒw�Š˜rœwŸ|š|¨B¬G¯OªO¸HÑ,EÔ,EÀwÑOÔOÑPÔP€ØŒW�\Š\˜,¨Ñ1Ô1€
Ø�S”XÐÐØ„H‡O‚O�A�zÑ"Ô"Ð"Ø�s”xÐÐØ„H‡O‚O�A�|Ñ$Ô$Ð$ðð ð ð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð5
ð 5
ð 5
ð 5
ð 5
 8Ô#4ñ 5
ô 5
ð 5
ðpFHð FHð FHð FHð FH xÔ'8ñ FHô FHð FHðR8_ð 8_ð 8_ð 8_ð 8_¨hÔ.?ñ 8_ô 8_ð 8_ðv;6ð ;6ð ;6ð ;6ð ;6¨XÔ->ñ ;6ô ;6ð ;6ð|jð jð jð jð j HÔ$5ñ jô jð jð" ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   