Powershell scriptlerini .exe yapalım


Powershell scriptlerini .exe yapalım
Powershell in ne olduğundan ve faydalarından Buradaki yazımızda kısaca bahsetmiştik , özellikle sistem yöneticileri geliştirdikleri Poweshell kodlarının başkaları tarafından görünmesini istemeyebilirler

, bunu yapmanın en kestirme yollarından biride bunları .exe yapmaktır , bu konuda açık kaynak kodlu bir yazılım mevcut , aslında buna yazılımdan ziyade bir script demek daha doğru olacaktır. PS2EXE , herhangi bir Powershell scriptini / kodunu .exe ye çaviren kullanışlı bir yazılımdır , çalışma prensibi şu şekildedir : Pwershell scriptini C# ile yazılmış hafif bir PowerShell hostu ile kapsüller ve dinamik olarak hafızada oluşturulan C# kaynak kodunu .exe ye çevirir (derler) , ortaya çıkan .exe bir .NET assembly olup kaynak scriptin Base64 formatında encode edilmiş kodunu içerir , sonuç exe sinin çalışabilmesi için:
1. Sisteminizde Powershell kurulu olmalıdır
2. Sisteminizde .NET Framework v2.0 ve/veya üstü kurulu olmalıdır
3. Powershell yetkileri script çalıştırmanıza izin vermelidir
ilk ikisi çoğu sistemde zaten mevcut olduğundan kısaca Powershell yetki kısmı üzerinde duracağım , Öncelikle sistemimizde powershell scriptlerinin yetki hatası olmadan çalışması için bir küçük düzenleme yapmamız gerekir ; aramaya Powershell yazalım açılan ekranda aşağıdaki komutu verelim:

Start-Process PowerShell -Verb RunAs

Powershell admin modunda açılmış olmalı hemen sonrasında aşağıdaki komutu verelim

Get-ExecutionPolicy

Muhtemelen aşağıdakilerden biri yazacaktır :
Restricted : Scriptler çalışamaz. Windows PowerShell sadece interactive modda çalışabilir
AllSigned : sadece trusted publisher tarafından imzalanan scriptler çalışabilir
RemoteSigned : Download edilen scripler güvenilir bir yayımcı (trusted publisher ) tarafından imzalanmış olmalıdır , yoksa çalışmaz
Unrestricted : kısıtlama yok bütün Poweshell scriptleri çalışacaktır
Şimdi aşağıdaki komutu verelim

Set-ExecutionPolicy RemoteSigned

Böylece Powershell scriptlerimize çalışma yetkisi vermiş olduk , siz Unrestricted i de verebilirsiniz , tekrar .exe yapma işimize geri dönelim. PS2EXE aslında kendisi de bir Powershell scriptidir , yazının sonundaki dresten gerekli dosyayı indirelim ve .zi dosyasından çıkartalım, içerisinde 5 adet dosya göreceksiniz bunlardan “createDemo.bat” ı .exe mizi oluşturmak için kullanacağız , ben sizlerele daha önce burada paylaştığım ve windows exploreri yeniden başlatan scripti .exe haline getireceğim , scriptimiz aşağıda:

$proc = Get-Process

foreach ($objItm in $proc) {
    If ($objItm.ProcessName -eq "explorer") {
        kill $objItm.ID
    }
}

üstteki kodu bir notepad e yapıştırıp ismine de “restart_explorer” deyin ve uzantısı .ps1 olacak şekilde kaydedin , eğer createDemo.bat ı sağ tıklayıp notepad ile açarsak .exe yi hangi özelliklerde oluşturabileceğimizi görebiliriz , mesela x86 veya x64 e göre derleyebiliriz , ben “callPS2EXE.bat” ın yanına “exe_yap.bat” isimli bir bat dosyası oluşturup içine de aşağıdaki kodu yazdım:

call "callPS2EXE.bat" "restart_explorer.ps1" "restart_explorer.exe"

“restart_explorer.ps1” , exe ye çevrilecek dosya ismim ve “restart_explorer.exe” de çıktı ismim olacaktır , siz bunları kendinize göre özelleştirebilirsiniz , exe_yap.bat a çift tıkladığınıza exe niz oluşacaktır

ps1 i .exe ye convert islemi

denemek için exe nizi çalıştırın , explorerin yeniden başlayacaktır. Oluşan restart_explorer.exe yi Virustotalde tarattım ve herhangi bir zararlı bulamadı Burada

PS2EXE
Lisans: Freeware/Ücretsiz
Yayımcı: codeplex.com
Boyut: 12,3 KB
Sistem: Windows XP ve üzeri bütün windowslar


Yorum Ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

CAPTCHA