Delphi - .Exe Bilgileri Hex Editorde Okunmasın Nasıl Şifrelerim ?

Başlatan __TECH__, 02 Temmuz 2011, 14:56:03

Analyzer

Selam,

Exe packer'lar var, pe protectorlar var vs. bir sürü program var. Tabi depacker'lar da var ancak depack edilmiş exe dosyasındaki sabitler PE yeniden oluşturulurken CRC ye göre tekrar düzenleniyor olması lazım. Deneyip görmekte fayda var :

www.exetools.com

Analyzer
Üşeniyorum, öyleyse yarın!

birumher

Ne olursa olsun herhangi bir database server ı doğrudan internete açmak yanlış. Ne yaparsak yapalım client ın nereye bağlandığını bulmak çok kolay. Bunu şifrelemek yerine , benim çözüm önerilerim şöyle.
Aradaki bağlantı VPN yapılıp server ın direk internet erişimi kesilir.
Bir web service yazılıp işlemler onun üzerinden yapılabilir.
Delphi DataSnap kullanılabilir.
Eğer client tek bir yerden çalışacaksa buranın da sabit ip li olması sağlanır ve server sadece o ip den bağlantı kabul eder.
Birkan.Herguner

__TECH__

hocam kullanıcı giriş kısmını webserverdeki bir asp dosyasından girdirsem mesela forma bir browser koyup direk sitemdeki o linke baglanıp ordan kullanıcı ve adını alsam sonra onu webserverdeki veri tabanımdan kullanıcıyı kontrol etsem eger dogru ise , web sayfası üzerindeki bir text edite serverin bilgilerini gondersem delphi yazılım da bu eger kullanıcı adı dogru ise bur text editten server bilgilerni alıp acılsa sonraki işlmeler tamamen delphi yazılımla server arasında olacak webservis devre dısı kalacaz ? bu işlemdede delphi yazılım aktif durumda iken , asp sitemden okudugu adresi bukmak mumkunmudur ?

birumher

Client server ile bağlantı kurduğu anda ne olursa olsun server adresi okunabilir.
Birkan.Herguner

Burak B

"... a healthy dose of paranoia leads to better systems." Jack Ganssle

engylm

UPX dene.

exe dosyası al UPX.exe nin üzerine bırak. 3 mb lık bir exeyi  1.4 mb civarına düşürür. ayrıca HEX editörlerle ve dede Dekompile  gibi programlarla bir şey göremezler.

Fakat yinede  server  kullanıcı adı şifre gibi verileri  exe içine gömmek yerine  XOR  gibi bir mantıkla şifreleyerek bir  text yada DLL içine gömmen daha mantıklı. server değiştiğinde her seferinde yazılımını değiştirmek zorunda kalacaksın.  Bigfish  adlı bir component var . senin belirlediğin 1 den fazla anahtar ile şifreleme yapıyor. kullanabilirsin.

http://upx.sourceforge.net/

UPX buradan indirebilirsin. benim olmazsa olmazımdır.

Burak B

upx -d dosya_adı.exe = orjinal exe

Ayrıca scramble edilmiş olsa bile kolayca unpack edilir.
"... a healthy dose of paranoia leads to better systems." Jack Ganssle

Karahan

   Anladığım kadarıyla database'i korumak istiyorsun, bunun içinde koruma işini database tarafından yapabilirsin. Bu tip bir şeyi ben de yapmıştım, mssql'i bilmiyorum ama ben PgSQL kullandim, madem kullanıcılar db den sadece güncelleme yapacak o zaman ilk olarak tablolara yazma hakkını sadece yerel kullanıcılara tanıyabilirsin dahası hangi ip den db ye baglanılacağını db ye tanımlayabilirsin "programı kullananların ttkom vs den sabit ip almalarını istemelisin", db nin authentication protocol'unu sha,sha1,mdb, vs yapabilirsin, güncellemeleri table değilde bir view yada function tanımlayarak yapabilirsin, ben hiç kullanmadım ama PgSQL'de SLONY-I isimlli bir eş zaman yedekleme sunucu sistemi var daha ne diyeyim...Tüm bunları reklam yapmak için yazdığımı düşünebilirsin önemli değil ama eğer senin mssql de bu özellikler yoksa boşuna uğraşma derim. Biraz daha uğraşıp güvenliği paronoya ya çevirebilirsin ama madem güvenlik o kadar önemli db'ni internete açma derim.

   Yukarıdaki özellikleri barındıran sınırlı sayıda Database var, benim bildiğim ORACLE'da var.Bir de işletim sisteminin güvenliği kadar database'in güvenliği de bir o kadar önemli, kolay gelsin...