Pythonda bir programin calisip calismadigini belirleyen ifadeler

Pyton da herhangi bir dosyayi actigimiz zaman sifre isteyen,dogru sifreyi girmediginde ise bu dosyayi acmamiza izin vermeyen bir program yazmak istiyorum.Ancak bir programin calisip calismadigi hakkinda bize bilgi veren bir fonksiyon,metot veya niteligin ne oldugunu bilmiyorum.Bana yardimci olursaniz sevinirim.

Burada ne demek istedi─činizi anlayamad─▒m, bu bilgiye neden ihtiyac─▒n─▒z var?

Mesela bir kullanici bilgisayarinda falanca.exe gibi bir uygulamayi acmak istediginde kullanicidan sifre isteyecek ve e─čer kullanici sifreyi dogru girdiyse o uygulamayi calistiracak,yanlis sifre girildiginde ise bu programi calistirmayacak bir python uygulamasi yapmak istiyorum.Ancak bazi bilgilerden yoksun oldugum icin bu programi yazamiyorum.Bu programi yazmak istememin amaci,ornek kucuk capli projeler yazarak kendimi gelistirmek.Biraz kendimi zorlamak istiyorum.Ancak ne zaman boyle islerde kendimi zorlasam bir turlu kafamdaki projeleri olusturamiyorum.Hep bir yerde hata cikiyor.Ustelik bazi hatalarin nedenini cozemiyorum.Bana yardimci olabilirseniz cok memnun olurum.Ayriyeten bu vereceginiz cevap,bazi konulari anlamama vesile olabilir.Ilgi gosterdiginiz icin icten tesekkurler.

Tak─▒ld─▒─č─▒n─▒z yer tam olarak neresi? Kod ├Ârne─či ve varsa hata ├ž─▒kt─▒s─▒ ile birlikte payla┼č─▒rsan─▒z belki yard─▒mc─▒ olabiliriz.

Bilgisayarin masaustundeki herhangi bir kisayola tiklandiginda bir sifre istemesini saglayacak programi yazmak istiyorum.Python uzerinden bunun kodu nasil olur.

Bunu sadece python kullanarak yapman─▒z biraz zor gibi geliyor. ├ç├╝nk├╝, yapt─▒─č─▒n─▒z ┼čey, bir i┼čletim sistemi olay─▒na benziyor. Yani, bir k─▒sayola t─▒kland─▒─č─▒ zaman buna i┼čletim sistemi m├╝dahale etmeden sizin m├╝dahale etmeniz gerekiyor. Bunun i├žin de farkl─▒ bir m├╝dahale gerekiyor. Belki regedit yard─▒m─▒ ile varsay─▒lan ayarlar─▒ de─či┼čtirerek yapabilirsiniz.

Yinede ara┼čt─▒rmak ta fayda var

─░┼čletim sistemi ile ilgili oldu─ču konusundaki g├Âr├╝┼č├╝n├╝ze kat─▒l─▒yorum. Ancak PythonÔÇÖla yap─▒lamayaca─č─▒ konusundaki g├Âr├╝┼č├╝n├╝ze kat─▒lm─▒yorum. Bu konuda bir bilgim yok ama b├Âyle bir i┼če kalk─▒┼čsam ├Âncelikle uygulamalar─▒n a├ž─▒lmas─▒n─▒ i┼čletim sisteminde nas─▒l dinleyebilirim buna bakard─▒m. Daha sonra bunu PythonÔÇÖda nas─▒l ger├žekleyebilirim diye ara┼čt─▒r─▒rd─▒m.

┼×u k├╝t├╝phane mod├╝l├╝ ba┼člang─▒├ž i├žin uygun olabilir: https://docs.python.org/3/library/windows.html

─░yi ├žal─▒┼čmalar.

1 Be─čeni

Evet ben o kelimeyi yanl─▒┼č anlamda kullanm─▒┼č─▒m. Python ile her┼čey yap─▒labilir. Ancak, yapmak zor gelir anlam─▒nda demek istedim. Yani import os diyebilecek kadar kolay de─čildir, bunun yan─▒nda ba┼čka i┼člemlerde gerektirir,ba┼čka bilgileri de ├Â─črenmek gerekir anlam─▒nda.
Yoksa python cand─▒r :smiley: . Mesela regedit ├╝zerinde, baz─▒ k─▒sayollar─▒n birlikte a├ž─▒ld─▒─č─▒ uygulamalar var. Bunlar─▒n varsay─▒lan uygulama k─▒sm─▒na kendi yazd─▒─č─▒m─▒z program─▒ koyarsak, windows o k─▒sayol ile bizim program─▒ ba─čda┼čt─▒r─▒r. Bu benim akl─▒ma gelen bir ├ž├Âz├╝m y├Ântemi. PythonÔÇÖda winreg mod├╝l├╝ yard─▒m─▒ ile regeditÔÇÖe m├╝dahale edilebilir. Bu durumda regedit nedir onu ├Â─črenmek gerekir. Konu sahibi san─▒r─▒m bu konuda bilgi sahibi de─čil.

Te┼čekk├╝r ederim a├ž─▒klaman─▒z i├žin :slight_smile:

2 Be─čeni

Peki regedit 'i ogrenebilecegim bir yer veya kaynak adi biliyor musunuz?Beni bu konuda biraz aydinlattiginiz icin sa─č olun.

2 Be─čeni

Bu konuda T├╝rk├že kaynak yok san─▒r─▒m. Ama biraz olsun fikir sahibi olabilmek i├žin, a┼ča─č─▒daki linklere bakabilirsiniz. Bu arada sordu─čunuz sorunun tek ├ž├Âz├╝m├╝ regedit de─čil buna dikkat ├žekmek istiyorum. Ben sadece b├Âyle bir yoldan ├ž├Âz├╝lebilir demek istiyorum. ─░smail beyÔÇÖin verdi─či linke de bakabilirsiniz.


https://teknofiber.net/2012/11/regeditnedir-regedit-anahtarlari-kayit-defteri.html

┼×u link belki alakas─▒z gelebilir ama, regeditÔÇÖten biraz daha detayl─▒ bahsetmi┼č. Bir kenarda bulunsun
http://dergipark.gov.tr/download/article-file/273137

https://www.frmtr.com/resimli-ve-videolu-program-anlatim/5164123-regedit-nedir-ve-yuzlerce-regedit-ayari.html
http://pcbilkent.net/regedit-nedir/

Yukar─▒da ki linkleri okuyun, akl─▒n─▒zda bir┼čeyler belirecektir. Sonras─▒nda tekrar ├ž├Âzmek i├žin u─čra┼čabilirsiniz.

Kolay gelsin, ba┼čka alternatif ve kolay ├ž├Âz├╝m yollar─▒ olan varsa konuda onlar─▒ da dinlemek isteriz :slight_smile:

2 Be─čeni

ufak bir aramayla soyle bir kaynak buldum kodlari deneme sansim olmadi ama sanirim buna benzer bir sey istiyorsun

burdaki kodda calisiyordur ancak eger exe adi degisirse buyuk ihtimmalle bypass edilmis olur kod

Tesekkurler bu sorunu cozdum.Soyle k─▒

import os
for i in os.popen("TASKLIST"):
    print(i)

diye bir kod yazdigimizda bu kod bize su anda calisan programlarin listesini veriyor.
Mesela bir .mp3 formatindaki bir muzigi vlc ile acalim.Sonra yukaridaki kodlari calistirirsak bu cikt─▒ arasinda
vlc.exe
diye bir sey gorursunuz.Eger bunun karsisindaki pid e
ornek olarak
4321
diyelim.Eger soyle bir kod yazarsak,

import os
import signal

os.kill(4321,signal.SIGTERM)

bu muzik programi kapan─▒r.

1 Be─čeni

yaln─▒z bunu bypass etmek ├žok kolay olacakt─▒r.onu s├Âyleyyim en basitinden exe nin ad─▒n─▒ de─či┼čtirmek yeterli olacakt─▒r yani vlc de─čilde para.exe olursa bunu bypass etmi┼č olur kullan─▒c─▒ e─čer ├Ânemli bir i┼č i├žin kulln─▒yorsan─▒z daha kesin bir y├Ântem uygulayabilirsiniz mesela mevcut ├žal─▒┼čan programlar─▒ md5 format─▒n─▒ tespit edip ├Ânceden belirledi─činiz program─▒n md5ÔÇÖi ile ├žak─▒┼čma olup olmad─▒─č─▒na bakabilirsiniz.Ger├ži bunu byass etmek i├žinde ufak bir ka├ž kod araya soku┼čturrarak yap─▒labilir neyse bunun daha kesin yollar─▒ elbet vard─▒r.Akl─▒ma ┼čuan bunlar geldi benim.

1 Be─čeni

Aslinda psutil diye bir modul var.Bir yere daha sormustum da boyle bir modul de s├Âylediler.Bu 3. sahis modulu de incelenebilir.Ayriyeten bu modulu ben de inceleyece─čim tabiki de.Benim de aklima boyle seyler geldi,belki birinin isine yarar diye.

Asl─▒nda program a├ž─▒lmas─▒n─▒ kontrol etmek yerine a├ž─▒ld─▒ktan sonra kapanmas─▒na engel olmakta bir y├Ântem. Hatta en basit ve tam pythonÔÇÖca bir y├Ântem. :smile:
md5 lerin e┼čle┼čme┼či ├žok pratik bir durum.
tek bir sorun var.
PCÔÇÖde ├žal─▒┼čan ve/veya ├žal─▒┼čmak isteyen t├╝m exeÔÇÖlerin bir g├╝venlik listesi. !!! Tek tek ├žok zor.

Bunun yerine sistem klas├Ârlerini kontrol d─▒┼č─▒ b─▒rak─▒p (explorer.exe gibileri tek tek atlamak yerine) belirli olan %desktop% %downloads% ve %users% gibi dinamik klas├Ârlerin i├žinden ├žal─▒┼čt─▒r─▒l─▒yorsa devreye girip izin isteyebilir. B├Âylelikle windows y├╝kl├╝ s├╝r├╝c├╝ harfi bilinmese dahi %HOMEDRIVE% ile o disk bile bulunur.

Bu tarz k─▒sayollar─▒n t├╝m listesine ula┼čmak i├žin Komut ─░stemiÔÇÖnde ÔÇťsetÔÇŁ yaz─▒p enterÔÇÖa basmak yeterli.
ÔÇťk─▒sa_adÔÇŁ=ÔÇťyolÔÇŁ ┼čeklinde tan─▒m listesi gelecektir.
%k─▒sa_ad% ┼čeklinde ba┼člat ├žal─▒┼čt─▒rÔÇÖa yazarsan─▒z explorer ile ilgili klas├Âr├╝ a├žm─▒┼č olursunuz.

B├Âyle bir program─▒n bir ihtiyac─▒ daha olacakt─▒r o da G├Ârev Y├Âneticisinin devre d─▒┼č─▒ b─▒rak─▒lmas─▒.
Bunu da registry kay─▒tlar─▒yla yapabilirsiniz. ─░stendi─činde tekrar aktif edilebilir.

Kolay gelsin. :wink: