Programın HEX Dosyasından hangi dil ile yazıldığı bulunabilirmi?

Başlatan yufuk, 13 Haziran 2013, 08:43:40

yufuk

Hangi MCU için yazıldığı bilinen bir "HEX" dosyasının hangi derleyici ile derlendiği yani hangi dil kullanılarak yazıldığı öğrenilebilirmi?

Kabil ATICI

bildiğim kadarı ile hayır... Bulsan bile asm haricinde geri dönüşüm yapamazsın. Oda da allanma adresleri hex adres olarak veya önceden belirlenmiş metin dizisi olarak verilir.
ambar7

yufuk

Örneğin mikroc ile ya da ccs c gibi ticari bir programla derlediğimiz programın "hex" dosyasını internetten herkesin indirebileceği şekilde yayınlasak, bir süre sonra bu firma bir şekilde bu hex dosyasını görüp şöyle diyebilirmi? ;

"bir dakika kardeş, bu programı bizim derleyici ile derlemişsin ve üstelik lisansssız program kullanmışsın".

bu hex dosyasından anlaşılabilir bir şeymidir?

Teşekkürler...

Burak B

Anlaşılabilir birşeydir. Parmak izi taraması yapılır. Bilinen fonksiyonların izleri taranır ve sonunda hex dosyayı orjinal koda bile %80 mertebesinde dönüştürebilirler. Bu alanda profesyonellik ve deneyim isteyen bişi tabi. Ancak derleyiciyi yapan kişi bu şekilde bir yöntem kullanabilecek bir eleman ile çalışırsa/çalışıyorsa zor bir konu değil. Zira bu işi yapabilen ters mühendislik araçları da mevcuttur.

Bakınız

Ancak derleyici üreticisi bunla uğraşır mı? Bence hayır. İşlerine geliyor hatta bu durum.
"... a healthy dose of paranoia leads to better systems." Jack Ganssle

Salih

Anladığım kadarıyla;
Hex dosyası oluşturmak hedef, derleyici kullanmak araçtır.
Dolayısı ile Hex oluşturduktan sonra, ihtiyaç kalmadığı için, araçla irtibat kesilir.

yufuk

Merak ettiğim; derleyici programları kendine ait bir kaç özel rakamı hex dosyasının içine gömüyormu yani derleyiciyi yapan firma günün birinde bu hex dosyası benim derleyicimle derlenmiş ve şu kişiye ait lisansla derlenmiş diye iddia edebilirmi?

Yoksa her derleyici standart asm kondları üretir bunun dışında hex dosyasının içine başka bir şey yazmazmı?

Salih

Alıntı yapılan: yufuk - 13 Haziran 2013, 10:28:53
Merak ettiğim; derleyici programları kendine ait bir kaç özel rakamı hex dosyasının içine gömüyormu yani derleyiciyi yapan firma günün birinde bu hex dosyası benim derleyicimle derlenmiş ve şu kişiye ait lisansla derlenmiş diye iddia edebilirmi?

Yoksa her derleyici standart asm kondları üretir bunun dışında hex dosyasının içine başka bir şey yazmazmı?

Yapabileceklerini zannetmiyorum. Çünkü, HEX dosya formatı diye ayrı bir format var.
Her derleyici yapanın bu formata uyması gerekiyor.

Burak B

Sanırım yazdıklarıma itibar edilmedi ! Kendimi tekrar etmek istemem ancak bir kez daha söyleyeceğim. Örnek ile anlatayım;
Kullandığınız derleyicilerdeki komutların çoğu ki eğer herşeyi kendiniz  ASM' de yazmıyorsanız. Zaten birer kod parçacığıdır. Bu kod parçacıkları mesela sprintf fonksiyonu gibi. Derleyici stdio.h kütüphanesinde önceden sizin kullanımınıza sunulmuştur. Bu basitçe şu anlama gelir bu fonksiyon derlendiğinde bir signature (parmak izine) sahiptir. Her derleyici üreticisi bu standart  kütüphaneleri veya bunun dışındaki pek çok standart olmayan kütüphaneyi özellik olarak sunar. Buda sizin derlediğiniz C, BASIC, Pascal v.s. v.s. kodunun HEX olsa bile içerisinde bu parmak izlerini barındırdığının bir göstergesidir. Yani ben tutup bu kütüphanelerin parmak izlerini bir veritabanında tutarsam sonra sizin ürettiğiniz hex kodu bu veritabanı ile karşılaştırmalı oalrak tararsam size benim derleyicimi kullanıyorsunuz diyebilirim ki forensic(adli diyelim) olarak ta bu kabul görür ve yargılanırsınız. Hatta ben tutup sizin hex inizi elde edip onu %80' e yakın kaynak koduna dönüştürüp (ki bunun gerekliliği tartışılır. Çünkü bunları yapacak adam oturup kodu kendisi sıfırdan yazabilir. Eğer içerisinde çok özel bir teknoloji, teknik veya algoritma bulunmuyorsa değmez.) sonra üzerinde istediği düzenlemeyi eklemeyi çıkarmayı yapabilir.

Örnek olması için bir link daha;
Bakınız

Siz olaya HEX dosyaydı rakamdı ASM idi diye bakıyorsunuz. Random sayı üretirken bile seed lineer veya bazı kurallara bağlı ise üretilen random sayıya random denemez. Bunu bir düşünün.
"... a healthy dose of paranoia leads to better systems." Jack Ganssle

yufuk

Alıntı YapSanırım yazdıklarıma itibar edilmedi ! Kendimi tekrar etmek istemem ancak bir kez daha söyleyeceğim. Örnek ile anlatayım;
Kullandığınız derleyicilerdeki komutların çoğu ki eğer herşeyi kendiniz  ASM' de yazmıyorsanız. Zaten birer kod parçacığıdır. Bu kod parçacıkları mesela sprintf fonksiyonu gibi. Derleyici stdio.h kütüphanesinde önceden sizin kullanımınıza sunulmuştur. Bu basitçe şu anlama gelir bu fonksiyon derlendiğinde bir signature (parmak izine) sahiptir. Her derleyici üreticisi bu standart  kütüphaneleri veya bunun dışındaki pek çok standart olmayan kütüphaneyi özellik olarak sunar. Buda sizin derlediğiniz C, BASIC, Pascal v.s. v.s. kodunun HEX olsa bile içerisinde bu parmak izlerini barındırdığının bir göstergesidir. Yani ben tutup bu kütüphanelerin parmak izlerini bir veritabanında tutarsam sonra sizin ürettiğiniz hex kodu bu veritabanı ile karşılaştırmalı oalrak tararsam size benim derleyicimi kullanıyorsunuz diyebilirim ki forensic(adli diyelim) olarak ta bu kabul görür ve yargılanırsınız. Hatta ben tutup sizin hex inizi elde edip onu %80' e yakın kaynak koduna dönüştürüp (ki bunun gerekliliği tartışılır. Çünkü bunları yapacak adam oturup kodu kendisi sıfırdan yazabilir. Eğer içerisinde çok özel bir teknoloji, teknik veya algoritma bulunmuyorsa değmez.) sonra üzerinde istediği düzenlemeyi eklemeyi çıkarmayı yapabilir.

Örnek olması için bir link daha;
Bakınız

Siz olaya HEX dosyaydı rakamdı ASM idi diye bakıyorsunuz. Random sayı üretirken bile seed lineer veya bazı kurallara bağlı ise üretilen random sayıya random denemez. Bunu bir düşünün.

Değerli bilgiler için teşekkürler. 2.mesaj daha anlaşılır oldu. Mesaj alınmıştır. Sağol.

Salih

@ByteMaster,
öncelikle konuştuğumuz denetleyiciler için mi yoksa PC programları için mi?
Benim yazdığım denetleyiciler içindi.
PC programların da sana katılıyorum.
Çünkü Delphi ile oluşturduğum EXE uzantılı programı incelediğim de, programın delphi ile derlendiğini
işaret edebilecek ifadeler gördüm.


z

Bırakın hangi derleyici ile yazıldığını abartı olacak ama kimin yazdığı bile anlaşılabilir.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Burak B

Her türlü yazılım için konuşuyorum. Ben teorikten bahsetmiyorum bu bahsettiğim şeyler gerçek ve kullanılan şeylerdir. Kimsenin iradesini zorlayıp inandıracak değilim. Basit örnekler de verdim. Sanırım verdiğim linklere kimse bakmadı.
Buyrun son kez bir link daha;
Bakınız :  Fast Library Identification and Recognition Technology
Bence artık ekleme yapmaya gerek yok.

Soru : "Programın HEX Dosyasından hangi dil ile yazıldığı bulunabilirmi?"
Cevap: Evet. Bulunabilir.

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

xoom

Alıntı yapılan: yufuk - 13 Haziran 2013, 09:53:47
Örneğin mikroc ile ya da ccs c gibi ticari bir programla derlediğimiz programın "hex" dosyasını internetten herkesin indirebileceği şekilde yayınlasak, bir süre sonra bu firma bir şekilde bu hex dosyasını görüp şöyle diyebilirmi? ;

"bir dakika kardeş, bu programı bizim derleyici ile derlemişsin ve üstelik lisansssız program kullanmışsın".

bu hex dosyasından anlaşılabilir bir şeymidir?

Teşekkürler...
arkadaş hangi dille yazıldığını sormak istemedi sanırım.. ben lisanslı veya lisanssız bir yazılım programıyla bir hex dosyası oluşturursam. ve bu işte ticari olarak para kazanırken birisi benim lisanssız veya başkasına ait lisanslı programıyla derlediğimi anlarsa  başım derde girermi demeye çalışmış..

yoksa hangi derleyici ile derlendiğini veya Hex'in kaynak koda geri döndürülebileceğini kısımlarını zaten herkes anlamıştır..

ipek

konu bitmiş fakat ccsc ile derlenmiş hex dosyasını bir text editör ile açar iseniz ,işlemci adı derlenme tarihi gibi ilginc uzantılar barındırıyor.

Maxim

Alıntı yapılan: ipek - 13 Haziran 2013, 18:44:30
konu bitmiş fakat ccsc ile derlenmiş hex dosyasını bir text editör ile açar iseniz ,işlemci adı derlenme tarihi gibi ilginc uzantılar barındırıyor.

hocam bir örnek verirmisiniz
nerede hangi satırda o bilgiler, hex den çeviriyoruz herade
bende bakayım