From f8205b12ac72bef9ef2b8d4a0d9e8fa43f5c503a Mon Sep 17 00:00:00 2001 From: Thomas G <62822072+Thomasluigi07@users.noreply.github.com> Date: Tue, 23 May 2023 15:01:05 +1000 Subject: [PATCH] private key is gone until further notice --- .DS_Store | Bin 14340 -> 14340 bytes .gitignore | 5 +- app/Http/Controllers/ClientController.php | 5 + maintenance/.DS_Store | Bin 10244 -> 10244 bytes public/GameRBLX/PrivKey.pem | 3 - public/asset/.DS_Store | Bin 0 -> 6148 bytes public/asset/PrivKey.pem | 3 - .../views/client/assetIndex.blade.php | 136 +++++++++--------- routes/web.php | 3 +- 9 files changed, 78 insertions(+), 77 deletions(-) delete mode 100644 public/GameRBLX/PrivKey.pem create mode 100644 public/asset/.DS_Store delete mode 100644 public/asset/PrivKey.pem rename public/asset/index.php => resources/views/client/assetIndex.blade.php (79%) diff --git a/.DS_Store b/.DS_Store index 02ae1b23f1dc4bf841dcf7007f547945f675f549..18a756b0edb201a94c4a0a1950eb3b90854c3a9a 100644 GIT binary patch delta 893 zcmbW#T}V@57zgm@|GMcp`c_As%O>NPgQRVaW1?k6NLglyMr~RY>C6QqookZ?eYjF@ zBBb(AM3fL+R8;g~MPJlKSk^^18D&IJL`3#=)m1?+J7-bQO`V(P{GaFW@;>~|Ky)B_ zvC>j;vOU@vj`wKV3$P4}H8V?+vvc?qwQhM`{R-Zy`t$GQ;8};uuL8lO)NNzKE;FoqA1@KN9Q;xoR|H zB9lZ;nnShJKy4JG9W+Qs=mcG%QMykP^oHKkSNaZMD)Lc?QfR2cLM%fgR$&eN2w)@H z(2h;$Ko`2P6*0uI6TR4tJ?O(e3}QbH;2@6T80wE>7^iRsXK@baaShjT12=IGqj-QZ zJj5eB!Arcx2jhMW<^~OBH47$3CQ7^*u}VWF74E-#Is5^CbIX5u1@j9m+{W#?b9$lP z>(K<>1&`LmOC7Ui0pgE`w}-~3DY<#v%YCw7@NWr6I#L}+Ij@j}aG*2T9_ln&ReYW# zlv@(U&tf!fT=#j0lIgwDLjMHxlwQ$0`bggd5Q7z&$bk(`s3^uvxZyz=d{}^5EEQy{ zu^t-)S8IwYf~desCXf_Tedxzt3_-^s98M9P7D$(I3%79xckvj{@Ej9(i%G%u~~L8#w;wgjG9^(Su+=mMAs&UMcB%^ z=);Q+^g%^X5Pi|tGOLTah)5y2h!qii-PBbV8P!EnbbKe>2AzxZ@cTc9bMgBRr-oBE zLKgYW>C}0tw{gYFrsfuzt#C?DMYl8p++iO`CU&%@`jdUVnf63FqoyvWEJ<*gC|)qc zy`orj>ssD5%U$KKR%jK?GZ+YZy@H8Rt*|v}yj&ECxTc$rLqUa@f%>JK3ya9;gxTa~oNcsy+A75m?IpuhzZO9ifOdv;L{JlXMdB~tBHBl#}Xpj!kF*-}P zX_W5J1U;u$^npIpB>hGaG*n^^{0O2BVMNe?Wmt~YScA1#hZr_u6XNK?7WAMODQrg? zyRaLzL)e2X4&pG5UdAv+C5KKYGaw?&P3iO%IrMI7wSrA zY+JIo+f3XwyjD|Pwe`fi5_W?{w5%4|$9J1b{?R?Q4n&!VhRjydPv>|e}s ICC0CkKTOH44FCWD diff --git a/.gitignore b/.gitignore index edc77c8..1bc75e4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,9 @@ /node_modules /public/hot /public/storage +/resources/privkey/PrivKey.pem +/public/GameRBLX/PrivKey.pem +/public/asset/PrivKey.pem /storage/*.key /vendor .env @@ -14,4 +17,4 @@ yarn-error.log /.idea /.vscode public/.DS_Store -maintenance/.DS_Store +maintenance/.DS_Store \ No newline at end of file diff --git a/app/Http/Controllers/ClientController.php b/app/Http/Controllers/ClientController.php index bd0bc4d..f4108e4 100644 --- a/app/Http/Controllers/ClientController.php +++ b/app/Http/Controllers/ClientController.php @@ -100,4 +100,9 @@ class ClientController extends Controller { return view('client.CharacterFetch'); } + + public function assetIndex() + { + return view('client.assetIndex'); + } } diff --git a/maintenance/.DS_Store b/maintenance/.DS_Store index 3ab5ffde935a2cb71268685104209e3a752c64c2..109cc6007e6d57e3a535ac08d4bf8740b503ce15 100644 GIT binary patch delta 70 zcmZn(XbG6$<2ZU^hQw&}JS1MNXci^5TM|octsP28JDz1;h)vC911U4J~vOOf3y3 acZ*9ic1>O`F3;G#SyfVuZ8N*VUv>cY!xW$Z delta 32 ocmZn(XbG6$<EdU^hQw;AS2HMb6DXCHdGUHk{eauJD%~0K88Nga7~l diff --git a/public/GameRBLX/PrivKey.pem b/public/GameRBLX/PrivKey.pem deleted file mode 100644 index 5e1a390..0000000 --- a/public/GameRBLX/PrivKey.pem +++ /dev/null @@ -1,3 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIICXQIBAAKBgQDAWrd/TwGJULsVRo06rCpznNmW4zLJK6LwkfTvG3wURFFBj9E9zuaKAOzHVRrHsWKJhq2BxSUze7OClgzgzFLRQHhRQFKn/skLPrV85bFakoK/dnt9h/Jyn2cD2A8Za6q90O3h9FSy9mLvCN07g07IXtauYZfOXvqyqOn4rAeUJQIDAQABAoGBAISbxddZo0iERIW1XtXtLVMI9iUEutVfZPSO2xogi5j5RD97o5gF1H+dhZ8iN9UloDYJiAJn5G6qwCWtxnEPy6NO4lMDgFMQtlpIIW9mafZ7m+AueYJtgO5elLUnFbOA39OcvFUleL9ded42yuB2wfsGdKl85+mHvn8j4zTmT0+9AkEA3H7NBFhIVf3Vj6iLXwPmamhou8T8b+HSXop0krrP/jDw/wHbl0DEJbQv+ypYdoXJo8XS2Hs39z20pCEsUo2/NwJBAN9T5aWXmVnymbdNUCDMjjer2d6Ey9ARyFgB07xHSod+HWlSCES8pcWwZZrP/I4cf2CEiAInfgak0kNNWLOWnYMCQDJEoj7UVaFtHiwDM8r0m6o0pXPxY8+p/wjYrdzpxBNiWv74EHT6Kf2ih7HOJJ7Yv3Cb4AbEiKzQH4evnGgxsp8CQQDRPK+ad/DLn0p5vMvoDv7oFfCoVM8IAMEuA3g3nKutSnGP7bWlgQHnuB9Z7qf3FagZ69HqAspGu0HsoJkMmX61AkAO5wTd+rja0MP7rT5xNVYBALtdYLWowBov4NCN7BVDkd0JzeTjMtDerirvEDuzDBrbyFtKV5rZjZpuotFc+5/t ------END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/public/asset/.DS_Store b/public/asset/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 "Error handling your request."]))); -$version = isset($_GET["version"]) ? filter_var($_GET["version"], FILTER_SANITIZE_NUMBER_INT, FILTER_NULL_ON_FAILURE) : -1; - - -if (file_exists($_SERVER["DOCUMENT_ROOT"] . "/asset/" . $id)){ - $file = file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/asset/" . $id); - if (isset($_GET["sign"]) == true){ - sign($file); - }else if($id == 1){ - sign($file); - }else if($id == 2){ - sign($file); - }else if($id == 3){ - sign($file); - }else if($id == 4){ - sign($file); - }else if($id == 5){ - sign($file); - }else if($id == 7){ - sign($file); - }else if($id == 6){ - sign($file); - }else if($id == 8){ - sign($file); - }else if($id == 9){ - sign($file); - }else if($id == 10){ - sign($file); - }else if($id == 11){ - sign($file); - }else if($id == 12){ - sign($file); - }else if($id == 13){ - sign($file); - }else if($id == 14){ - sign($file); - }else if($id == 15){ - sign($file); - }else if($id == 16){ - sign($file); - }else if($id == 17){ - sign($file); - }else if($id == 18){ - sign($file); - }else if($id == 19){ - sign($file); - }else if($id == 20){ - sign($file); - }else if ($id == 200) { - sign($file); - }else if ($id == 201) { - sign($file); - }else{ - echo $file; - } -}else{ - header("Location: https://assetdelivery.roblox.com/v1/asset/?id=$id&version=$version"); - die(); -} -?> \ No newline at end of file +@php +ob_start(); +function sign($data) { + $PrivKey = file_get_contents("../../privkey/PrivKey.pem"); + openssl_sign($data, $signature, $PrivKey, OPENSSL_ALGO_SHA1); + echo sprintf("%%%s%%%s", base64_encode($signature), $data); +} +ini_set('user_agent', 'Roblox/WinInet'); // required for some audios + +$id = (int)($_GET["id"] ?? die(json_encode(["message" => "Invalid ID!"]))); +$version = isset($_GET["version"]) ? filter_var($_GET["version"], FILTER_SANITIZE_NUMBER_INT, FILTER_NULL_ON_FAILURE) : -1; +if (file_exists("../../../public/" . "/asset/" . $id)){ + $file = file_get_contents("../../../public/" . "/asset/" . $id); + if (isset($_GET["sign"]) == true){ + sign($file); + }else if($id == 1){ + sign($file); + }else if($id == 2){ + sign($file); + }else if($id == 3){ + sign($file); + }else if($id == 4){ + sign($file); + }else if($id == 5){ + sign($file); + }else if($id == 7){ + sign($file); + }else if($id == 6){ + sign($file); + }else if($id == 8){ + sign($file); + }else if($id == 9){ + sign($file); + }else if($id == 10){ + sign($file); + }else if($id == 11){ + sign($file); + }else if($id == 12){ + sign($file); + }else if($id == 13){ + sign($file); + }else if($id == 14){ + sign($file); + }else if($id == 15){ + sign($file); + }else if($id == 16){ + sign($file); + }else if($id == 17){ + sign($file); + }else if($id == 18){ + sign($file); + }else if($id == 19){ + sign($file); + }else if($id == 20){ + sign($file); + }else if ($id == 200) { + sign($file); + }else if ($id == 201) { + sign($file); + }else{ + echo $file; + } +}else{ + header("Location: https://assetdelivery.roblox.com/v1/asset/?id=$id&version=$version"); + die(); +} +@endphp \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 1b2b543..2def1b8 100644 --- a/routes/web.php +++ b/routes/web.php @@ -108,4 +108,5 @@ Route::get('/UI/Save.aspx', [App\Http\Controllers\ClientController::class, 'mode Route::get('/Game/Tools/ThumbnailAsset.ashx', [App\Http\Controllers\ClientController::class, 'stampertools'])->name('stampertools'); Route::get('/Game/edit.ashx', [App\Http\Controllers\ClientController::class, 'edit'])->name('edit'); Route::get('/Asset/BodyColors.ashx', [App\Http\Controllers\ClientController::class, 'bodycolors'])->name('bodycolors'); -Route::get('/Asset/CharacterFetch.ashx', [App\Http\Controllers\ClientController::class, 'characterfetch'])->name('characterfetch'); \ No newline at end of file +Route::get('/Asset/CharacterFetch.ashx', [App\Http\Controllers\ClientController::class, 'characterfetch'])->name('characterfetch'); +Route::get('/asset', [App\Http\Controllers\ClientController::class, 'assetIndex'])->name('assetIndex'); \ No newline at end of file