Picproje Elektronik Sitesi

PROGRAMLAMA DİLLERİ => Delphi => Konuyu başlatan: ByTEK - 17 Ocak 2016, 20:15:08

Başlık: Delphi Dosya imzalama
Gönderen: ByTEK - 17 Ocak 2016, 20:15:08
Delphi de .rar uzantılı dosyaları değiştirilmediğini kanıtlamak amacıyla anlık zaman bilgisi ile birlikte imzalamam gerekiyor. Bu işlemi nasıl yapabilirim ?

tib'in yayımladığı "ip log imzalayıcı" programı örnek verilebilir.
Başlık: Ynt: Delphi Dosya imzalama
Gönderen: ByTEK - 18 Ocak 2016, 12:20:14
IP log imzalama yazılımı ile işimi çözdüm. Teşekkürler.

http://www.tib.gov.tr/tr/tr-menu-55-ip_log_imzalayici_programi.html (http://www.tib.gov.tr/tr/tr-menu-55-ip_log_imzalayici_programi.html)
Başlık: Ynt: Delphi Dosya imzalama
Gönderen: ByTEK - 20 Ekim 2016, 21:28:48
Bu konuda bir çalışma yaptım ve bildiklerimi aktarmak adına aşağıdaki yazıyı yayımladım. Eğer bu konuda çalışma yapmak isteyen varsa yol göstereceğini düşünüyorum.

http://www.sercanca.com/delphi-checksum-hesaplama/ (http://www.sercanca.com/delphi-checksum-hesaplama/)
Başlık: Ynt: Delphi Dosya imzalama
Gönderen: muhittin_kaplan - 20 Ekim 2016, 22:04:34
md5 hash
Başlık: Ynt: Delphi Dosya imzalama
Gönderen: ByTEK - 20 Ekim 2016, 22:07:06
Alıntı yapılan: muhittin_kaplan - 20 Ekim 2016, 22:04:34
md5 hash

SHA1, SHA256, SHA384, SHA512 ... Daha güvenli değilmi Hocam
Başlık: Ynt: Delphi Dosya imzalama
Gönderen: muhittin_kaplan - 20 Ekim 2016, 22:07:54
öyledir nedense benim aklıma hemen md5 gelir ;)
Başlık: Ynt: Delphi Dosya imzalama
Gönderen: ByTEK - 20 Ekim 2016, 22:11:29
Alıntı yapılan: muhittin_kaplan - 20 Ekim 2016, 22:07:54
öyledir nedense benim aklıma hemen md5 gelir ;)

aslıdan md5+sha1 birleştirip kendi uygulamamda kullanmak daha güzel olacak gibi.

Teşekkürler.
Başlık: Ynt: Delphi Dosya imzalama
Gönderen: engerex - 20 Ekim 2016, 23:23:23
 blake2 kullanabilirsin. md5 ve sha1 den daha hızlı, en az sha3 kadar güvenli.
Başlık: Ynt: Delphi Dosya imzalama
Gönderen: ErsinErce - 20 Ekim 2016, 23:25:56
http://implbits.com/products/hashtab/ (http://implbits.com/products/hashtab/)

indirip yükleyin. dosyalarınızın üzerine sağ tıklayıp özellikler dediğinizde aşağıdaki görüntü elde edilir
buradan isterseniz md5 ister sha256 karşılaştırma yapabilirsiniz.

(http://www.bleepstatic.com/download/screenshots/h/hashtab/hashtab1.png)(http://www.bleepstatic.com/download/screenshots/h/hashtab/hashtab2.png)
Başlık: Ynt: Delphi Dosya imzalama
Gönderen: engerex - 20 Ekim 2016, 23:38:50
 Yada açık kaynak HashCheck : https://github.com/gurnec/HashCheck/releases/tag/v2.4.0
HashTab kadar biçim çeşidi yok ama sık kullanılan biçimler desteği ile CheckSum dosyası oluşturup kontrol edebilme, çoklu dosya desteği ve hash arama gibi yetenekleri mevcut.
Başlık: Ynt: Delphi Dosya imzalama
Gönderen: ByTEK - 21 Ekim 2016, 00:17:19
Arkadaşlar bilgiler için teşekkürler ama zaten ben Delphi ile kendime göre uygulamayı yazdım.

http://www.sercanca.com/delphi-checksum-hesaplama/ (http://www.sercanca.com/delphi-checksum-hesaplama/)
Başlık: Ynt: Delphi Dosya imzalama
Gönderen: ErsinErce - 21 Ekim 2016, 00:47:54
yazdığınız uygulama imzalama uygulaması değil, hash uygulaması.

https://msdn.microsoft.com/en-us/library/ms537361(v=vs.85).aspx (https://msdn.microsoft.com/en-us/library/ms537361(v=vs.85).aspx)

https://www.digicert.com/code-signing/signcode-signtool-command-line.htm (https://www.digicert.com/code-signing/signcode-signtool-command-line.htm)

bu kaynaklarda gösterilenler ile dosyaları imzalayabilirsiniz

hash ile imza arasında çok fark var.

dosyaları hash aynı olacak şekilde değiştirebilirsiniz.

ama imzalı dosyaları imza tekrar geçerli olacak hale getiremezsiniz.
Başlık: Ynt: Delphi Dosya imzalama
Gönderen: ByTEK - 21 Ekim 2016, 08:23:21
Teşekkürler incelecegim

mesaj birleştirme:: 21 Ekim 2016, 09:02:41

@ErsinErce

inceledim ama anlamayamadığım birşey var ? verdiğiniz linkteki imzalama sadece exe, msi gibi çalıştırılabilir dosyalar için mi geçerli ?
Başlık: Ynt: Delphi Dosya imzalama
Gönderen: muhittin_kaplan - 21 Ekim 2016, 10:57:33
Alıntı yapılan: ErsinErce - 21 Ekim 2016, 00:47:54
dosyaları hash aynı olacak şekilde değiştirebilirsiniz.
ama imzalı dosyaları imza tekrar geçerli olacak hale getiremezsiniz.
hocam bir örnek var mı md5 için konuşuyorum
Başlık: Ynt: Delphi Dosya imzalama
Gönderen: ErsinErce - 21 Ekim 2016, 11:52:54
Alıntı yapılan: SercanTEK - 21 Ekim 2016, 08:23:21
inceledim ama anlamayamadığım birşey var ? verdiğiniz linkteki imzalama sadece exe, msi gibi çalıştırılabilir dosyalar için mi geçerli ?

text tabanlı hariç herhangi bir dosyayı imzalayabilirsiniz sıkıntı yok.
text tabanlılarda dosya sonunda imzada gözükür tek sıkıntı bu aslında.
exe yi imzalarsanız publisher kısmında imza sahibi gözükür. (code signing)
sys ve cat dosyalarını CA Root ile imzalarsanız sürücü olarak kullanabilirsiniz (driver signing)

Alıntı yapılan: muhittin_kaplan - 21 Ekim 2016, 10:57:33
hocam bir örnek var mı md5 için konuşuyorum

uğraş gerektiren birşey ve örneğini bulabileceğinizi sanmıyorum hocam.
hash algoritması ve sınırı nedeniyle oluşan bir olay
bu adreste detaylı incelemesi ve olasılığı mevcut http://preshing.com/20110504/hash-collision-probabilities/ (http://preshing.com/20110504/hash-collision-probabilities/)
Başlık: Ynt: Delphi Dosya imzalama
Gönderen: boreas - 21 Ekim 2016, 18:55:03
Hangi indy sürümünü kullanıyorsun ? Lazarus'a adapte etmeye çalıştım ama IdHashSHA256,IdHashSHA384,IdHashSHA512 kitaplıklarında çakıldı :/
Başlık: Ynt: Delphi Dosya imzalama
Gönderen: engerex - 21 Ekim 2016, 20:17:10
Alıntı yapılan: boreas - 21 Ekim 2016, 18:55:03
Hangi indy sürümünü kullanıyorsun ? Lazarus'a adapte etmeye çalıştım ama IdHashSHA256,IdHashSHA384,IdHashSHA512 kitaplıklarında çakıldı :/
Delphi ile beraber geliyor. Sizdeki güncel mi? http://www.indyproject.org/sockets/fpc/index.en.aspx (http://www.indyproject.org/sockets/fpc/index.en.aspx)

Yada HashLib deneyin. : https://github.com/Xor-el/HashLib4Pascal (https://github.com/Xor-el/HashLib4Pascal)
Başlık: Ynt: Delphi Dosya imzalama
Gönderen: boreas - 22 Ekim 2016, 08:12:29
10 surumunu indirdim bende ama dedigim kitapliklar bulunmuyor
Başlık: Ynt: Delphi Dosya imzalama
Gönderen: ByTEK - 22 Ekim 2016, 11:09:38
Hocam Delphi 10 Seattle ile standart gelen versiyon ile yaptım.

Lazarusta aynı kodta MD5 olarak hesaplattığımda farklı hesaplamıştı.
Başlık: Ynt: Delphi Dosya imzalama
Gönderen: Burak B - 24 Ekim 2016, 05:59:03
Aşağıda verdiğim iki EXE' yi kontrol eder misin. MD5 ne diyor. :)

HELLO.EXE (http://www.mscs.dal.ca/~selinger/md5collision/hello.exe)
ERASE.EXE (http://www.mscs.dal.ca/~selinger/md5collision/erase.exe)

NOT: Dosyalar zararlı değildir.
Başlık: Ynt: Delphi Dosya imzalama
Gönderen: ByTEK - 24 Ekim 2016, 09:55:18
Sonuc aşağıdaki gibi

(http://i.hizliresim.com/J3jv9W.png) (http://hizliresim.com/J3jv9W)

*********************************************************************
*  Delphi Dosya Checksum Hesaplama - www.sercanca.com - Ekim-2016   *
*********************************************************************
Tarih      : 24.10.2016-09:52:43
Dosya Adı  : C:\Users\Sercan\Desktop\erase.exe
CDC47D670159EEF60916CA03A9D4A007
FA90BD7B1205C4DD452769F73E69108233726462
1316543942A8C6CD754855500CD37068EDBBD8B31C4979D2825A4E799FED6102
4543CA67024ADB94CE9E7B748608AB0E17113975DEF157B6E896E19DA3730EE0D0023277D22B94BB7E7D2411B18EE6DF
383BB26E68F8B7A362CCEB03F66E586F9EEDAA49D900449A0E33BF0359892D4B978AA65F587D69BB0089F91D848DF91774AC973AC22D2D7C1ECBD73A7CE77CA2


*********************************************************************
*  Delphi Dosya Checksum Hesaplama - www.sercanca.com - Ekim-2016   *
*********************************************************************
Tarih      : 24.10.2016-09:52:28
Dosya Adı  : C:\Users\Sercan\Desktop\hello.exe
CDC47D670159EEF60916CA03A9D4A007
84D0D03198B3952B7648D9AC468684FC42771A58
60D13913155644883F130B85EB24D778314014C9479AEDB5F6323BF38AD3A451
DAD8C2E9A09F3221C3D3CAD57AE4B6C7F62F46F1CF78A9510B2F580B5AAEC185A300F004AA641D981B2FD5F53C196558
7D6BFC7DE9D16842E48A138EA9FC395BD1994085DAB055225D14E6A7CAE5200BB8FB1C407F5EE35E83939864C762E3154680709C04194F33E37951298C795881
Başlık: Ynt: Delphi Dosya imzalama
Gönderen: Burak B - 24 Ekim 2016, 12:55:01
Demekki MD5' e çok güvenmemek gerek.
Başlık: Ynt: Delphi Dosya imzalama
Gönderen: ByTEK - 24 Ekim 2016, 22:53:58
Alıntı yapılan: Burak B - 24 Ekim 2016, 12:55:01
Demekki MD5' e çok güvenmemek gerek.

Aynı yöntem Text ve rar dosyası için geçerli midir ? Örneğiniz varmidir
Başlık: Ynt: Delphi Dosya imzalama
Gönderen: Burak B - 25 Ekim 2016, 00:47:45
MD5 ve SHA-1 temelde kullanılmaması gereken zayıflığı kanıtlanmış algoritmalar. Bilinen -Collision- zayıflıkları var. Verdiğim örnekte bunlardan biri. Keccak sponge ailesinden bir hash kullanmak daha yerinde olur. Yada en az SHA-512 felan kullanın. Ancak hash(integrity) ile authentication aynı şeyler değil.