From ab47e74b5890572a456c232f2d1e16bc673b9409 Mon Sep 17 00:00:00 2001 From: Alexey Kudelko Date: Wed, 28 May 2025 12:37:31 +0300 Subject: [PATCH] obfuscated --- nodejs/hublib_bg.wasm | Bin 57526 -> 57293 bytes web/example.html | 68 +++++++++++++++++++++--------------------- web/hublib_bg.wasm | Bin 57442 -> 57209 bytes 3 files changed, 34 insertions(+), 34 deletions(-) diff --git a/nodejs/hublib_bg.wasm b/nodejs/hublib_bg.wasm index 516deb9325fbe6521c444ff7b9925a40caf889b1..da6eb6fb854d77744079cba6799af92f5cc625c9 100644 GIT binary patch delta 12433 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 delta 12528 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

hoP;6 zPPktb*YYZ?2;YK>GHI@sNMnK(B42MA);C`ry{BRhx*)nD%J8-n0JCwYBh6}3EzThT zBAZMI?Z~vj7nm}z7DdR(m$B)%n+-cg3f>4kMm`GRw;fV5?iHyL8NDKgl&&3x)`Vn7 z3yf#AVZdW4=>+l_IL;ZHiP8d5h8Mlwkl#_~;2xmiQV(ktj|$r9>gl;Q17m_EK0%k2Jj$ z7ANhJUJ6TH3QNwWu$U-BRv}Ab$ybxuOCfS;#q^o!n3Y7Xceh8+fk<+h{OY8;RFon684|^0NVJr38Z-ehNIIM&X+#$yHq|L6Nu!S_){+iIAetCF z$jG_GlaM{)`+qg@c`orOP+#IvANg0*lOFVUsV~V=|MkR^iw-)q4*V~=rxv(?h)m5{+)*LwFQXBJFMT9zz(f=@td`e{J|e%Ck3j*8U4sG^ zJB~t|8{H<*89n=nKI*OJPzuJo1nn?R77FAMXijomqTvX1Au4yIabu5z^8l?s8)&1J z1X{=nZYDtcZs?`~YQcGs`!W+i|K#Be;I%~DxpkAe;=Tc?5Sgx}uJvB*TJQO;^}b4` zrsCA~BZU%CNCLdJ^6BvmFBk?47alO|eCa-7m{Ve52mvX}58)S}k)kZRc;$QKC%Eqy zCT>>w(_FZ`At86=B9L!>Ef+?<`K4U=nJhpL7zQls@caARr0<^j+G=4pV;oR})kT9>PAT?0unC7ffRsc? zy?TFt7E)dJS0R!1C2N8{kbw}zk~PH`CZv29%q!yD7}YJR`y@#V0r&JuJLaw$gJD0L zz)NGU+V&C%{d5V>P+dWKO)KHyJ(41W6v3SYZL6XNx}DK8BPV9zb_6G?@U$fSwn=Hl zd9NeHvWPm1*jUtQgP%Lj7JY44?UdTo^L_0;^_~ z05bjWT=-8}09yeY^F=vMsKCRGCLHDZW`j&mLfMx#I@{m40v#T~suKg4aN( zzGNgqDB#_hD9Xr>u;BH{bzLg@D0M-uCZGtu6Lg^83CXw5r6h%}USF9f; zc%A3WU|RTtWN49rBz{qPkAA&@z5C_*mphR*wxX0}FCmwXfM>8@*_GZ_@Tun0ye#Z)$n{PO0jGBAg21@!ScTOwFdpZPN4A zKOfw{AKtDuvTk3hsc2)RLIr}(0^r3u~`iqGqiT)ix4a}iMH}&8=7nRH}GnWEGRu*W9#*lfvUr$lt*kC<`x3T2;D|_ z->&7Ua+I0qEDzCHXLAo&Qw1y>`^zKf9H3Y!k2Xg`u{jJ8!8(W^KQE!62~U-^i1_k| z+gOXd@5@j?b;rQfr)`<=mT5utfcz=Bb{mf$hU$QAHkI_>5H^G z0N;m>4&rp=J&kEGT=h(D?$Y*_0IEuQ+L7&4Ygf-aUfcg*b~K$|Ngzh+nPj*6>*Hf; zy4@aN3C!<1FtE}hoHl40`s%<sX&UA}m# zih2&(crQDy+BXijPQHT^PmWkn{spfF@2XEX4!q>ouVXoV>(B*_Y|m<0&?I}Yu-(Ao z?cywKzQ!VBPFU6O{ZjU8bK=e``9D-V&*i4K)$AYI*Y+-3_Lam`ekCzD3Lw!VCc7QnO~6_niSPdq#HGtO9pT6% z{`Hw}BT=;Q*+y{w#b<}(`|z`u57+^Lfe~a<-K3h%r{RW*0zRc0+UxkHm(*SDU$6>w z$8)|g}am17dJ>oL@~sHdNQ8tKM@%|q3a7y2W|NVRP*bReCp=4~E< zl^@$Yj_pxD+uS+#2#pv-4E9E!0YY14PByL_EwE~oh3kBj3?g!Fl$NvH5xc4LEC^Kp za!Ow=Pi$_kuNR4dg`T#?2PJu>BpeF<>gy}`TNT?eOkT;eFoo<-dm4( z2BMDJLdCZ9tvHAjo!hhrwM>%{*~iuGTfULX(dZhN`hY`T^UW?*37j z_2$>{^o3`P-*4SU4;)W!TN~ABZ;EW_RbcRI4Xjz+{MxhiKi`ZMhRfy`!KrWH;J2az zxHAKPUAwyY^RGq7nFh_|>iYWam7#SxwsY zHtSGd>{^ZQl|Po#kFb zRxen#YKdVO_xUWtLU{+uJd`nf7(Po^EyNhrv-cA9`oW9X8)|3g-oitsWt8T09-tn2 zXOMLU*fL;?{g&ZFsYdL*Sq=DUn8j7~yLD>myKU^G`r_Re*i-7cy>&9jU_=-#Rhy;m2W2Iv9}6&x7dw*`@?~X9tq(s`RX`AZK0atKUb_ zt!_M+Vn@^`2b2DXEz20H$yOiqhYD~1U|@Jyp=IP_zCG$!A6(C_Qe!`y2OWIk!xT7G zdT27fuRb(7++E}{`9IW#Lj$>4tll{E1E}q+?hBzOtGX|;P8M56C8jwJIhD~3+tIy- z-LFRc{G!6GC6-Zvrk|pzKgyHoB3^fx#CkHaIFT+!Du z1_EsI69)_<7mnw^ivxyMflT}38Cc!?QC-DDC5xAC0y&xpUQ=kLwB#150wHeb(Z0IQ{I$|L!l` zFD!!yorMpT`<43SlDtv2OMqpoo==8`uL4LjCRFjK8!WPyksvW53Q5Zjb@bD}{vW}u BFEjuE diff --git a/web/example.html b/web/example.html index bc84bdf..71c568f 100644 --- a/web/example.html +++ b/web/example.html @@ -7,14 +7,6 @@

WASM Example

-
- - -
-
- - -

@@ -26,41 +18,49 @@ document.getElementById('getSecretValue').addEventListener('click', async () => { - const userAgent = document.getElementById('userAgent').value || navigator.userAgent; - - const secretValue = get_secret_value(BigInt(Math.floor(Date.now() / 1000)), userAgent, url); + const tmp = Math.floor(Date.now() / 1000); + const secretValue = get_secret_value( + BigInt(tmp), + 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36', + '/api/v1/guestlogin' + ); document.getElementById('result').innerText = secretValue; - // const txt = 'https://api.id.hublab.ru/api/v1/guestlogin?given_time=' + - // serverTs.timestamp + - // '&user_agent=' + userAgent + - // '&gotten_sign=' + secretValue; + const txt = 'https://api.id.hublab.ru/api/v1/guestlogin' - //const response1 = await makePostRequest(txt) + const response1 = await makePostRequest( + txt, + { + 'X-SIGN': secretValue, + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36', + 'Accept-Time': tmp + } + ) }); } - // async function makePostRequest(url) { - // try { - // const response = await fetch(url, { - // method: 'POST', - // headers: { - // 'Content-Type': 'application/json', // Указываем, что отправляем данные в формате JSON - // }, - // }); - // if (!response.ok) { - // throw new Error(`HTTP error! Статус: ${response.status}`); - // } - // const responseData = await response.json(); // Получаем ответ как JSON - // return responseData; // Возвращаем полученные данные - // } catch (error) { - // console.error('Ошибка при выполнении POST-запроса:', error); - // throw error; // Пробрасываем ошибку дальше - // } - // } + async function makePostRequest(url, headers) { + try { + const response = await fetch(url, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + ...headers, // Расширяем заголовки + }, + }); + if (!response.ok) { + throw new Error(`HTTP error! Статус: ${response.status}`); + } + const responseData = await response.json(); // Получаем ответ как JSON + return responseData; // Возвращаем полученные данные + } catch (error) { + console.error('Ошибка при выполнении POST-запроса:', error); + throw error; // Пробрасываем ошибку дальше + } + } diff --git a/web/hublib_bg.wasm b/web/hublib_bg.wasm index 5cf56fa577f3cea5c51e2fdd4d97af10f2b2037e..f5fe2e97ed7decda7c789e1ef67d1319255beb97 100644 GIT binary patch delta 12620 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 Vyu09==tDbV0Jeq1b^9Cd{y)juY~ug` delta 12605 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 RM2Qhr!Zu`&>iX!9{{z4<91Q>f