
    jTT                        S SK r S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SKrS SK	r	S SK
Jr  S SKJr  S SKJr  S SKJr  S SKr " S S5      r\S:X  a0  S	r\" \S
9r\R/                  5       r\" \R4                  " \SS95        gg)    N)Optional)urlparse)requests)AESGCMc                      \ rS rSr\R                  S5      r\" \5      rSr	Sr
SrSSSS	S
S.rSrSrSSSS.SSSS.SSSS.SSSS./rSDS\S\S\S\SS4
S jjrS\4S  jrS\R*                  4S! jrS\4S" jrSES#\S$\S\4S% jjrS&\S\4S' jrS(\S\4S) jrS\4S* jrS+\S\4S, jrS\4S- jr\S.\S/\ S\!4S0 j5       r"S1\S2\S/\ S\4S3 jr#S1\S2\S/\ S\4S4 jr$S1\S2\S/\ S\4S5 jr%\S\&4S6 j5       r'\S7\S\(\   4S8 j5       r)\S7\S\4S9 j5       r*\S7\S\(\   4S: j5       r+\S;\S\4S< j5       r,\S=\S\4S> j5       r-S?\S\4S@ jr.S?\S\4SA jr/S\4SB jr0SCr1g)FAwsWaf	   @6f71a512b1e035eaab53d8be73120d3fb68a0ca346b9560aab3e5cdf753d5e98Ah72f957df656e80ba55f5d8ce2e8c7ccb59687dba3bfb273d54b08a261b2f3002Ah7b0c470f0cfe3a80a9e26526ad185f484f6817d0832712a4a37a908786a6a67fAha9faaffd31b4d5ede2a2e19d2d7fd525f66fee61911511960dcbb52d3c48ce25   i (  i  i   i                  z2.4.0zoMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36zGoogle Inc. (Apple)zFANGLE (Apple, ANGLE Metal Renderer: Apple M2 Pro, Unspecified Version)aw  ANGLE_instanced_arrays;EXT_blend_minmax;EXT_clip_control;EXT_color_buffer_half_float;EXT_depth_clamp;EXT_float_blend;EXT_frag_depth;EXT_shader_texture_lod;EXT_texture_compression_bptc;EXT_texture_compression_rgtc;EXT_texture_filter_anisotropic;EXT_sRGB;OES_element_index_uint;OES_standard_derivatives;OES_texture_float;OES_texture_float_linear;OES_texture_half_float;OES_texture_half_float_linear;OES_vertex_array_object;WEBGL_color_buffer_float;WEBGL_compressed_texture_s3tc;WEBGL_compressed_texture_s3tc_srgb;WEBGL_debug_renderer_info;WEBGL_debug_shaders;WEBGL_depth_texture;WEBGL_draw_buffers;WEBGL_lose_context;WEBGL_multi_drawvendormodel
extensionszGoogle Inc. (AMD)zDANGLE (AMD, AMD Radeon(TM) Graphics Direct3D11 vs_5_0 ps_5_0, D3D11)af  ANGLE_instanced_arrays;EXT_blend_minmax;EXT_color_buffer_half_float;EXT_depth_clamp;EXT_float_blend;EXT_frag_depth;EXT_shader_texture_lod;EXT_texture_compression_bptc;EXT_texture_compression_rgtc;EXT_texture_filter_anisotropic;EXT_sRGB;OES_element_index_uint;OES_standard_derivatives;OES_texture_float;OES_texture_float_linear;OES_texture_half_float;OES_texture_half_float_linear;OES_vertex_array_object;WEBGL_color_buffer_float;WEBGL_compressed_texture_s3tc;WEBGL_compressed_texture_s3tc_srgb;WEBGL_debug_renderer_info;WEBGL_debug_shaders;WEBGL_depth_texture;WEBGL_draw_buffers;WEBGL_lose_context;WEBGL_multi_drawzGoogle Inc. (Intel)zKANGLE (Intel, Intel(R) Iris(R) Xe Graphics Direct3D11 vs_5_0 ps_5_0, D3D11)zGoogle Inc. (NVIDIA)zGANGLE (NVIDIA, NVIDIA GeForce RTX 3060 Direct3D11 vs_5_0 ps_5_0, D3D11)N
websiteURLproxy	userAgentimpersonatereturnc                 j    Xl         X l        U=(       d    U R                  U l        X@l        S U l        g N)_AwsWaf__websiteURL_AwsWaf__proxy_AwsWaf__DEFAULT_UA_AwsWaf__userAgent_AwsWaf__impersonate_AwsWaf__jsConfig)selfr   r   r   r   s        =C:\Users\Teconew\Desktop\TecoChk\amazon\awsBypassSxgitario.py__init__AwsWaf.__init__   s-    '"&;$*;*;(!    c                 "    [         R                   " 5       nU R                  5       u  p#[         R                   " 5       U-
  nSSU R                  U R                  =(       d    SUUUS S3S.$ ! [         a  nS[        U5      S.s S nA$ S nAff = f)	NTzAWS WAF Challenge Token Bypassdirectz.2fs)statuscontexturlr   token	challenge	timeTakenF)r.   description)time_AwsWaf__solveChallenger    r!   	Exceptionstr)r&   startr1   challengeInfoelapsederrors         r'   solveAwsWaf.solve(   s    	@IIKE#'#8#8#: EiikE)G ;((1* '}A.   	@#CJ??	@s   A)A, ,
B6B	B	Bc                     SU R                   0nU R                  (       a  U R                  U R                  S.US'   [        R                  " S0 UD6$ )Nr   httpshttpproxies )r$   r!   r   Session)r&   kwargss     r'   __makeSessionAwsWaf.__makeSession>   sD    !3!34<<*.,, MF9)&))r*   c                 4    SSSSSSSSS	S
SU R                   S.$ )Nz?text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8en-US,en;q=0.9zno-cacheA"Chromium";v="136", "Google Chrome";v="136", "Not.A/Brand";v="99"?0	"Windows"documentnavigatenonez?11)acceptaccept-languagezcache-control	sec-ch-uasec-ch-ua-mobilesec-ch-ua-platformsec-fetch-destsec-fetch-modesec-fetch-sitezsec-fetch-userzupgrade-insecure-requests
user-agentr#   )r&   s    r'   __pageHeadersAwsWaf.__pageHeadersD   sl    [  qA  T^  mp  FJ  bm  AK  _i  }C  W[  z}  MQ  M]  M]  ^  	^r*   originrefererc                 b    SSU R                   SSSSSSS	S
S.nU(       a  XS'   U(       a  X#S'   U$ )Nz
keep-aliverM   rK   rL   z*/*z
cross-sitecorsemptyzgzip, deflate, br, zstdrJ   )
connectionrV   rZ   rT   rU   rR   rY   rX   rW   zaccept-encodingrS   r^   r_   r[   )r&   r^   r_   hs       r'   __apiHeadersAwsWaf.__apiHeadersG   sg    '{Z^ZjZj  z}  SW  ch  |H  \b  v}  Rk  @P  Q6hK7iLr*   	plaintextc                    [         R                  " S5      nU R                  R                  X!S 5      nUSS  US S pT[        R
                  " U5      R                  5        SUR                  5        SUR                  5        3$ )N   iz::)osurandom_AwsWaf__AESGCMencryptbase64	b64encodedecodehex)r&   rg   ivciphertag
ciphertexts         r'   __aesEncryptAwsWaf.__aesEncryptN   sr    ZZ^&&rd; ,tZ""2&--/03779+R
@P?QRRr*   datac                 8    [         R                  " U5      S-  S $ )Nl    08X)zlibcrc32)r&   rx   s     r'   __crc32AwsWaf.__crc32T   s    **T"Z/45r*   c                    [        [        R                  " 5       S-  5      n[        R                  " U R                  5      n[        S5       Vs/ s H  n[        R                  " SS5      PM     nn[        R                  " SS5      US'   [        R                  " SS5      US'   0 SS	SS	S
SSSSS	SSSS	SS._SU_SS _SSSS.SSS.SSS.SSS.SSS./_SS_SS_SS _S!U R                  _S"S _S#S$_S%S	S	S	S	S	S	S	S	S&.S'[        R                  " S'S$/5      S(S$S'[        R                  " S'S$/5      S).S	S*._S+US,   US-   US.   R                  S/5      S0._S1S _S2S3S4S5S6._S7S8/ / / S9.0S8S:/ 00S;._S<SSS	SS$S=._S>S	S	S'S'S'S'S'S'S'S'S'S'S'S?._[        R                  " S@SA5      S USB.S$SSSCS$0U[        R                  " S	S5      -   / U R                  [        [        R                  " 5       5      SD.	E$ s  snf )ENi     r   (   i8  i@  metricsr      r   )fp2browsercapabilitiesgpudntmathscreen	navigatorautostealthsubtlecanvasformdetectorber9   flashVersionpluginsz
PDF ViewerzPDF Viewer )namer8   zChrome PDF ViewerzChrome PDF Viewer zChromium PDF ViewerzChromium PDF Viewer zMicrosoft Edge PDF ViewerzMicrosoft Edge PDF Viewer zWebKit built-in PDFzWebKit built-in PDF dupedPluginszxPDF Viewer Chrome PDF Viewer Chromium PDF Viewer Microsoft Edge PDF Viewer WebKit built-in PDF ||1920-1080-1032-24-*-*-*
screenInfoz1920-1080-1032-24-*-*-*referrer r   location	webDriverFr   )
textShadowWebkitTextStroke	boxShadowborderRadiusborderImageopacity	transform
transitionT	supported)audiogeolocationlocalStoragetouchvideo	webWorker)cssjsr;   r   r   r   r   ;r   r   r   z-1.4214488238747245z0.8178819121159085z-0.5753861119575491)tansincos
automation
properties)rN   windowr   r   )wdphantomr   )t1t2imtemtdcrypto)r   r   rm   decryptwrapKey	unwrapKeysignverifydigest
deriveBits	deriveKeygetRandomValues
randomUUIDiGt&i$+)hash	emailHashhistogramBinssi)	r   formDetectednumFormsnumFormElementsr   enderrorsversionid)intr5   randomchoice_AwsWaf__GPU_PROFILESrange	randranger#   splitrandint_AwsWaf__FP_VERSIONr8   uuiduuid4)r&   tsr   _binss        r'   __generateFingerprintAwsWaf.__generateFingerprintX   s   $))+$%mmD//016s<A  B'<""5%0Q##E51R
qQ!TU_`lm|}  HI  VW  cd  pq  CD  LM  N
R
 D
 mDObk  GA  La  j@  CA  Lg  pL  CM  Xm  vL  OM  N	

   W
 3
 
 ))
 
 
 1!Z[mn  @A  NO  ^_  op  %q  CG  X^  Xe  Xe  gk  mr  fs  Xt  FQ  \a  lp  E  L  L  NR  TY  MZ  [  y\  ij  k
 c(mc'lRUVbRcRiRijmRno
 4
 1:NWlm
 ,R2\^0_!`nz  ~F  HJ  }K  nL  M
  aqq5I!
" aDT^bqu  @D  PT  `d  tx  GK  `d  tx  y#
$  &//	9ETXkop!qQ-q!,,((djjl#1
 	
	 =s   !G.fpc                     [         R                  " USS9R                  S5      nU R                  U5      nUR                  S5      S-   U-   nX44$ )N,:
separatorsutf-8ascii   #)jsondumpsencode_AwsWaf__crc32)r&   r   payloadchecksumcombineds        r'   __encodeFingerprintAwsWaf.__encodeFingerprintz   sL    ::bZ8??H<<(??7+d2W<!!r*   c                 p    U R                  5       nU R                  U5      u  p#U R                  U5      nX$4$ r   )_AwsWaf__generateFingerprint_AwsWaf__encodeFingerprint_AwsWaf__aesEncrypt)r&   r   r   raw	encrypteds        r'   __buildSignalPayloadAwsWaf.__buildSignalPayload   s;    '')004%%c*	""r*   r   
difficultyc                 h    [        US5      u  p#U S U SU-  :w  a  gU(       a  X   SU-
  -	  (       a  gg)N       FT)divmod)r   r   fullrems       r'   __checkDifficultyAwsWaf.__checkDifficulty   s9    :q)	%4=GdN*5FLQW-r*   challengeInputr   c           
         X-   nUR                  S5      n[        R                  " S5       H[  nU[        U5      -   R                  S5      n[        R
                  " XuSSSSS9nU R                  X5      (       d  MP  [        U5      s  $    g )Nr   r      r   r      )saltnrpdklen)r   	itertoolscountr8   hashlibscrypt_AwsWaf__checkDifficulty)	r&   r  r   r   r   r	  noncepasswordr   s	            r'   __solveScryptAwsWaf.__solveScrypt   su    !,w'__Q'E 3u:-55g>H^^H3!qPRSF%%f99#e*;L (r*   c                 (   X-   R                  S5      n[        R                  " S5       He  n[        R                  " U[        U5      R                  S5      -   5      R                  5       nU R                  Xc5      (       d  MZ  [        U5      s  $    g )Nr   r   )r   r  r  r  sha256r8   r   r  )r&   r  r   r   r   r  r   s          r'   __solveSha256AwsWaf.__solveSha256   sm    "-55g>__Q'E^^Hs5z/@/@/I$IJQQSF%%f99#e*;L (r*   c                     U R                   (       a#  U R                   S   (       a  U R                   S   OU R                  n[        R                  " SUR	                  US5      -  5      R                  S5      $ )Nbandwidth_sizesr   r   r   )r%    _AwsWaf__DEFAULT_BANDWIDTH_SIZESrn   ro   getrp   )r&   r  r   r   sizess        r'   __solveBandwidthAwsWaf.__solveBandwidth   s`    6:oo$//ZkJl 12rv  sQ  sQ%))J*F FGNNwWWr*   c                     S[         R                  " SS5      SS.SSSS.SSSS.SSSS.SS	SS.S
SSS.SSSS.SSSS.SSSS.SSSS.SSSS.SSSS.SSSS.SSSS.SSSS.SSSS.SSSS.S[         R                  " SS5      SS.SSSS.S[         R                  " SS5      SS.S[         R                  " SS5      SS.S [         R                  " S!S"5      SS.S#SSS./$ )$N2r   r   )r   valueunit100101102103r   104105106107108	undefined110111r   1123r   74rQ   
      g     @B@562   <   0      8)r   uniformrD   r*   r'   __buildMetricsAwsWaf.__buildMetrics   s-    V^^Aq%9cJQ4uqZ]6^Q4uqZ]6^Q4uqZ]6^Q4uqZ]6^Q4{UV`c6dQ4uqZ]6^Q4{UV`c6dQcJQcJV^^B%;cJTcJV^^Aq%9cJV^^B%;cJV^^C%=cJQcJ!
 	
r*   htmlc                     [         R                  " SU [         R                  5      nU(       a%  [        R                  " UR                  S5      5      $ g )Nz%window\.gokuProps\s*=\s*(\{.*?\})\s*;r   )researchDOTALLr   loadsgrouprC  ms     r'   __extractGokuPropsAwsWaf.__extractGokuProps   s5    II>biiPTZZ
++r*   c                 v    [         R                  " SU 5      nU(       d  [        S5      eUR                  S5      $ )Nz(src="https://([^"]+)/challenge[^"]*\.js"z"challenge.js src not found in pager   )rE  rF  
ValueErrorrI  rJ  s     r'   __extractWafHostAwsWaf.__extractWafHost   s/    IIA4H
#GHHwwqzr*   c                 d    [         R                  " SU 5      nU(       a  UR                  S5      $ S $ )Nz(src="(https://[^"]+/challenge[^"]*\.js)"r   )rE  rF  rI  rJ  s     r'   __extractChallengeJsUrlAwsWaf.__extractChallengeJsUrl   s(    IIA4Hqwwqz(D(r*   r0   c                 x    [        U 5      R                  =(       d    U nUR                  S5      (       a  U$ SU-   $ )Nzwww.)r   hostname
startswith)r0   rd   s     r'   __extractDomainAwsWaf.__extractDomain   s3    SM"")cLL((q8fqj8r*   jsTextc           
      F   0 n[         R                  " SU 5       H%  nUR                  S5      XR                  S5      '   M'     Su  p4[         R                  " SU 5      nU(       a"  UR                  S5      nUR                  S5      n0 n[         R                  " SU 5      nU(       a  [	        UR                  S5      S5      [	        UR                  S5      S5      [	        UR                  S5      S5      -  [	        UR                  S	5      S5      [	        UR                  S
5      S5      -  [	        UR                  S5      S5      [	        UR                  S5      S5      -  [	        UR                  S5      S5      [	        UR                  S5      S5      -  S.nXU4US.$ )Nz-'(h[0-9a-f]{8,})'[+].*?=\s*'((?:mp_)?verify)'r   r   solution_datasolution_metadatazN'verify'\s*,\s*'\w+'\s*:\s*'(solution_\w+)'\s*,\s*'\w+'\s*:\s*'(solution_\w+)'zcase\s+0x1:return\s+(0x[0-9a-f]+);case\s+0x2:return[^;]*\((0x[0-9a-f]+),(0x[0-9a-f]+)\);case\s+0x3:return[^;]*\((0x[0-9a-f]+),(0x[0-9a-f]+)\);case\s+0x4:return[^;]*\((0x[0-9a-f]+),(0x[0-9a-f]+)\);case\s+0x5:return[^;]*\((0x[0-9a-f]+),(0x[0-9a-f]+)\)r  r   r   r      r   r   r	   r   )challenge_typesmp_field_namesr  )rE  finditerrI  rF  r   )rZ  challengeTypesrK  mpSolutionFieldmpMetadataField
fieldMatchbandwidthSizes	sizeMatchs           r'   __parseChallengeJsAwsWaf.__parseChallengeJs   st   MvVA)*N771:& W ,P(YYprxy
(..q1O(..q1OIIE GMN	 yq)2.yq)2.Y__Q5G1LLyq)2.Y__Q5G1LLyq)2.Y__Q5G1LLyq)2.Y__Q5G1LLN $2WfEg  }K  L  	Lr*   challengeTypec                     XR                   :X  a  gU R                  (       aK  U R                  S   nX;   a  X!   $ UR                  5        H  u  p4UR                  U5      (       d  M  Us  $    g)N	mp_verifyr`  r   )_AwsWaf__CHALLENGE_BANDWIDTHr%   itemsrW  )r&   rk  ctprefixendpoints        r'   __getEndpointAwsWaf.__getEndpoint   sa    666{??!23B"2+<$<$&HHJ  ++F33H_ %/ r*   c                 
   U R                   U R                  S4U R                  U R                  S4U R                  U R
                  S40nX;   a  X!   $ U R                  U5      S:X  a  U R
                  S4$ [        SU 35      e)Nr  r  	bandwidthrm  zUnknown challenge_type: )_AwsWaf__CHALLENGE_SCRYPT_AwsWaf__solveScrypt_AwsWaf__CHALLENGE_SHA256_AwsWaf__solveSha256rn  _AwsWaf__solveBandwidth_AwsWaf__getEndpointrO  )r&   rk  solverss      r'   __getSolverAwsWaf.__getSolver   s    ##););(I##););(I&&)>)>(L

 #))m,;));773M?CDDr*   c                 z   U R                  5       nU R                  nU R                  U5      n[        U5      nUR                   SUR
                   3nS nU R                  5       Ul        UR                  U5      nUR                  nUR                  R                  S5      nU R                  U5      n	U	(       d  [        SU 35      eU R                  U5      n
U R                  U5      nSn UR                  U	5      nU R                  UR                  5      U l        SnU R#                  XRS9Ul        UR                  SU S35      R%                  5       nU R'                  5       u  nnUS	   nUS
   nUS   nUR                  SS5      nU R)                  U5      u  nnU" UUU5      nU R+                  U5      nU R#                  XRS9Ul        US:X  a  U R                  (       a  U R                  S   OSu  nn[$        R,                  " US SSU0S./USUU R/                  5       S S.U
(       a  SU
0O0 ESS9nU R0                  (       a  U R0                  U R0                  S.OS n[2        R4                  " SU SU 3US U4US U40SU R6                  0US9nUR%                  5       nOQUUUSSU0S./S SX0R/                  5       S.nSUR                  S'   UR5                  SU S 3US!9nUR%                  5       nS"U;  a  [        S#U 35      eUSU 3U=(       d    SS$.nUS"   U4$ ! [          a    S U l         GNf = f)%Nz://zx-amzn-waf-actionz!No AWS WAF challenge detected on FT)r^   r_   zhttps://z/inputs?client=browserchallenge_typer   r2   inputr   rm  ra  r\  ZoeyPresent)r   r$  Browser)r2   solutionsignalsr   clientdomainr   existing_token
goku_propsr   r   r@   /rZ   )filesheadersrC   )r2   r   r  r  r  r  r  r   ztext/plain;charset=UTF-8zcontent-typez/verify)r   r1   zNo token in response: )solverrr  	wafAction)_AwsWaf__makeSessionr    _AwsWaf__extractDomainr   schemerV  _AwsWaf__pageHeadersr  r  text_AwsWaf__extractChallengeJsUrlRuntimeError_AwsWaf__extractGokuProps_AwsWaf__extractWafHost_AwsWaf__parseChallengeJsr%   r7   _AwsWaf__apiHeadersr   _AwsWaf__buildSignalPayload_AwsWaf__getSolverr|  r   _AwsWaf__buildMetricsr!   std_requestspostr#   ) r&   sessionr0   r  parsedr^   r  resprC  challengeJsUrl	gokuPropswafHostdynamicParsedjsRespinputsr   encryptedSignalsrk  r   r2   r  solverFn
solverNamer  endpointNamesolutionFieldmetadataFieldmetadata	proxyDictresultr   r:   s                                    r'   __solveChallengeAwsWaf.__solveChallenge  s   &&(%%((-SM}}oS(9:	,,.{{3yyLL$$%89	55d;!B3%HII++D1	))$/	#[[0F"55fkkBDO M ++6+Gxy0FGHMMO%)%>%>%@"" 01-
,	"w3#//>*NHjA))-8++6+G;&59__ 01; )M= zz&D%+yBR6STU$	V..0D	#
 1:L),r# %&H JN$,,E[_I$$7)1\N3$tX&6hGWX%t'7'78!	D YY[F$-8QYpv  CL  N^  B_  h`  ga  uy  EN  Z`  m@  m@  mB  CG.HGOON+<<(7)7 ;'<JDYY[F& 7MfX5V(W"W#-Q|n;M\e\titug--a  	#"DO	#s   .3L% %L:9L:)__impersonate
__jsConfig__proxy__userAgent__websiteURL)NNchrome)NN)2__name__
__module____qualname____firstlineno__bytesfromhex_AwsWaf__AES_KEYr   rl   rw  ry  rn  r  r   r"   r   r8   r(   dictr=   r   rE   r  r  r  r   r   r   tupler   r  staticmethodr   boolr  rx  rz  r{  listr  r   r  r  r  r  r  r|  r  r6   __static_attributes__rD   r*   r'   r   r   	   s    `aIy!H___$)klx\j kL EL )4|  MF  	G&4z  Ks  	t(  5B  Rz  	{)4}  Nv  	w	N"3 "s "c "_b "rv "@t @,*x// *^t ^3  t Se S S6E 6c 6 
t  
D"d "u "#e # % S T  MC M3 MC MTW MMC M3 MC MTW MXs Xc Xs XWZ X
 
D 
 
*  $  
 s s  
 )c )hsm ) ) 9S 9S 9 9
 L3 L4 L L<	3 	3 	
E 
E 
EI.% I.r*   r   __main__zhttps://www.amazon.com.mx/)r   r   )indent)rj   rE  r   r5   r{   r   rn   r   r  r  typingr   urllib.parser   	curl_cffir   +cryptography.hazmat.primitives.ciphers.aeadr   r  r   r  r   instancer=   r  printr   rD   r*   r'   <module>r     sm    I I I I I  !  > E. E.R
 z-J,H~~F	$**VA
&' r*   