Ext file hakkında

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
seci20

Ext file hakkında

Mesaj gönderen seci20 »

Ustalarım kolay gelsin. Qualcoom cihazların comport üzerinden ekran kilidi kaldırmak için bir program hazırlıyorum. Bu işi yapan ve kaldıran 2-3 program bulunuyor. Comport üzerinden sniff yaptım ve sadece o dosyanın (system.img) ilk verilerinin olduğu bölümü okuyor ve hesaplama yapıp asıl dosyanın olduğu sekmeyi okuması için komut gönderiyor.Şu şekilde bir örnek vereyim.


Normal şartlarda 3 gblik bir system.img dosyası var. Program bunun hepsini okuyup açmak yerine sadece okumak istediği alanı hesaplayıp orayı okuyor.


Normalde system.img dosyasının içindeki klasör ve dosyalar şu şekilde.


Resim


Build.prop olduğu kısımda şurada

Resim


İnternette çok araştırmasını yaptım ama hesaplamasını bir türlü bulamadım.7zip ve diğer programlar listelemeyi yapabiliyor.Şu şekilde.


Resim


Ext dosyasının protocolünü bulamadım.Delphi ile yazmak istiyorum ama malasef bulamadım.Delphi ile yazıcağım için konuyu bu foruma açtım (Zaten bu konu hakkında bilgi alacağım pek forumda bulunmuyor)...Build.prop dosyasının yerini nasıl bulacağımı bulabilirsem qualcoom olarak hesaplamasını yapacağımı düşünüyorum ama malasef adresini hesaplamayı bir türlü bulamadım. Yardımcı olabilecek ustalarıma şimdiden çok teşekkür ederim...
Kullanıcı avatarı
Commandx
Üye
Mesajlar: 181
Kayıt: 01 Oca 2008 05:34

Re: Ext file hakkında

Mesaj gönderen Commandx »

img olan alanda (Offsetler arası) patch mi yapmak istiyorsunuz?
http://www.delphibasics.co.uk/RTL.asp?Name=DaysBetween
http://www.neonhaber.com/Static/mega-co ... index.html
www.delphican.con
Function PARSE( text, ilk, son:String ): String; //
begin
Delete(Text, 1, pos(ilk, Text) + Length(ilk)-1);
Result := Copy(Text, 1, Pos(Son, Text)-1);
end;
seci20

Re: Ext file hakkında

Mesaj gönderen seci20 »

Commandx yazdı: 04 Nis 2018 11:21 img olan alanda (Offsetler arası) patch mi yapmak istiyorsunuz?
hocam patch yapmak değil okumak istiyorum oradaki bilgiye göre ekran kilidi vb. işlemleri okuyacağım. Qualcoom 9008 flash protocolünü biliyorum yanlız ext file protocolünü bulamadım bir türlü.
ertank
Kıdemli Üye
Mesajlar: 1651
Kayıt: 12 Eyl 2015 12:45

Re: Ext file hakkında

Mesaj gönderen ertank »

İncelemek için bir IMG dosyayı paylaşmanız mümkün müdür?
seci20

Re: Ext file hakkında

Mesaj gönderen seci20 »

ertank yazdı: 05 Nis 2018 11:29 İncelemek için bir IMG dosyayı paylaşmanız mümkün müdür?
Hocam size yazılım dosyasının direk linkini vereyim hepsi aynı kapıya çıkıyor çünkü.


http://www.mediafire.com/file/0u9jc0kyp ... 160328.zip
En son seci20 tarafından 05 Nis 2018 12:49 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
seci20

Re: Ext file hakkında

Mesaj gönderen seci20 »

seci20 yazdı: 05 Nis 2018 12:47
ertank yazdı: 05 Nis 2018 11:29 İncelemek için bir IMG dosyayı paylaşmanız mümkün müdür?
Hocam size yazılım dosyasının direk linkini vereyim hepsi aynı kapıya çıkıyor çünkü.


http://www.mediafire.com/file/0u9jc0kyp ... 160328.zip
içindeki system.img hepsi aynı methotla okunabiliyor.

Ayrıca olarak okuyan programlarında bir videosunu size göstereyim linkte.

https://www.youtube.com/watch?v=PVv0Zi6v4Pc


10 saniye gibi kısa bir sürede okuyor hocam. Komple 2 yada 3 gblık system.img okumak yerine protocolünü hesaplayıp direk okuyor.
ertank
Kıdemli Üye
Mesajlar: 1651
Kayıt: 12 Eyl 2015 12:45

Re: Ext file hakkında

Mesaj gönderen ertank »

Benim kullandığım 7Zip (v18.01) boot.img dosyasını açabilir iken system.img dosyasını açamadı. Zip dosyası test işlemini başarılı olarak tamamlıyor. Genişletilen dosyada sorun olduğunu sanmıyorum. Sizin örnek gösterdiğiniz ile farklı formata sahip olabilir.
seci20

Re: Ext file hakkında

Mesaj gönderen seci20 »

ertank yazdı: 05 Nis 2018 07:30 Benim kullandığım 7Zip (v18.01) boot.img dosyasını açabilir iken system.img dosyasını açamadı. Zip dosyası test işlemini başarılı olarak tamamlıyor. Genişletilen dosyada sorun olduğunu sanmıyorum. Sizin örnek gösterdiğiniz ile farklı formata sahip olabilir.
hocam şunun aynısını kullanıyorum kusura bakmayın ilkinde farklı vermişim...


https://drive.google.com/file/d/0B5ymiR ... VJcUE/view
seci20

Re: Ext file hakkında

Mesaj gönderen seci20 »

konu güncel ustalarım...
ertank
Kıdemli Üye
Mesajlar: 1651
Kayıt: 12 Eyl 2015 12:45

Re: Ext file hakkında

Mesaj gönderen ertank »

Dosya formatı Info butonunu tıkladığınız zaman EXT olarak gözüküyor. Yüksek olasılık ile Ext4 formatındadır. Bunu Delphi ile direk okumanız mümkün olur mu? Ne şekilde mümkün olur şu an için emin değilim. 7Zip forumuna bir şekilde DLL veya komut satırı olarak 7Zip kullanılabilir mi diye sordum. Eğer cevap gelir ise burada paylaşacağım.
seci20

Re: Ext file hakkında

Mesaj gönderen seci20 »

ertank yazdı: 07 Nis 2018 06:44 Dosya formatı Info butonunu tıkladığınız zaman EXT olarak gözüküyor. Yüksek olasılık ile Ext4 formatındadır. Bunu Delphi ile direk okumanız mümkün olur mu? Ne şekilde mümkün olur şu an için emin değilim. 7Zip forumuna bir şekilde DLL veya komut satırı olarak 7Zip kullanılabilir mi diye sordum. Eğer cevap gelir ise burada paylaşacağım.
hocam çok çok teşekkür ederim ilginiz için 4 gözle bekliyorum...
ertank
Kıdemli Üye
Mesajlar: 1651
Kayıt: 12 Eyl 2015 12:45

Re: Ext file hakkında

Mesaj gönderen ertank »

7Zip forumunda sadece okuma desteği olduğunu bildiriyorlar. Güncelleme (update) veya oluşturma desteği yok. Dolayısıyla 7Zip bu amaçlar için kullanılamaz.

Ancak; gördüğüm kadarıyla ext3/ext4 formatı tar formatı gibi dosyaları sıkıştırmadan barındırıyor. Eğer sizin okumak istediğiniz dosya başlangıç ve bitiş bilgileri sabit ise kendiniz de dosya içinde arama yapıp konumu tespit edebilirsiniz. Ekte, dosya içinde metin (string) arama ile ilgili örnek kod bulabilirsiniz.

Anladığım kadarıyla;
Dosya başlangıcı: "# begin build properties"
Dosya bitişi: "ro.pip.gated=0"

Örnek uygulamada bu bilgileri kullanarak yaptığım testlerde ortalama 10 saniyeden kısa bir sürede "build.prop" dosyasını tespit edip dosya içeriğini okuyabiliyorum.

Diğer taraftan 7Zip uygulaması zorunlu olarak kendi uygulamanız ile birlikte dağıtılacak ise dosya çıkarma işlemini 7Zip uygulamasına yaptırabilirsiniz. Ekteki uygulamada bu işlem ile ilgili de bir örnek mevcuttur. Zira 7Zip kullanmak performans olarak kıyaslanamayacak kadar hızlıdır.

Son olarak; build.prop dosyası içinde değişiklikler yapıp IMG dosyası içine geri yüklemek için yeterli bilgi şu an için elimde yok. Diğer taraftan yapılan değişiklikler dosya boyutunu arttırmıyor ise teorik olarak IMG dosyası içinde tespit edilen build.prop dosya başlangıç ofset değeri kullanılarak değiştirilen bilgiler geriye yazılabilir.

NOT: Örnek Delphi 10.2.3 ile çalışacak şekilde hazırlanmıştır. Ancak yüksek ihtimal ile Delphi 2009 ve sonrası bir sürüm ile de uyumludur.
Dosya ekleri
search_text_in_file.7z
(3.07 KiB) 56 kere indirildi
seci20

Re: Ext file hakkında

Mesaj gönderen seci20 »

ertank yazdı: 13 Nis 2018 04:03 7Zip forumunda sadece okuma desteği olduğunu bildiriyorlar. Güncelleme (update) veya oluşturma desteği yok. Dolayısıyla 7Zip bu amaçlar için kullanılamaz.

Ancak; gördüğüm kadarıyla ext3/ext4 formatı tar formatı gibi dosyaları sıkıştırmadan barındırıyor. Eğer sizin okumak istediğiniz dosya başlangıç ve bitiş bilgileri sabit ise kendiniz de dosya içinde arama yapıp konumu tespit edebilirsiniz. Ekte, dosya içinde metin (string) arama ile ilgili örnek kod bulabilirsiniz.

Anladığım kadarıyla;
Dosya başlangıcı: "# begin build properties"
Dosya bitişi: "ro.pip.gated=0"

Örnek uygulamada bu bilgileri kullanarak yaptığım testlerde ortalama 10 saniyeden kısa bir sürede "build.prop" dosyasını tespit edip dosya içeriğini okuyabiliyorum.

Diğer taraftan 7Zip uygulaması zorunlu olarak kendi uygulamanız ile birlikte dağıtılacak ise dosya çıkarma işlemini 7Zip uygulamasına yaptırabilirsiniz. Ekteki uygulamada bu işlem ile ilgili de bir örnek mevcuttur. Zira 7Zip kullanmak performans olarak kıyaslanamayacak kadar hızlıdır.

Son olarak; build.prop dosyası içinde değişiklikler yapıp IMG dosyası içine geri yüklemek için yeterli bilgi şu an için elimde yok. Diğer taraftan yapılan değişiklikler dosya boyutunu arttırmıyor ise teorik olarak IMG dosyası içinde tespit edilen build.prop dosya başlangıç ofset değeri kullanılarak değiştirilen bilgiler geriye yazılabilir.

NOT: Örnek Delphi 10.2.3 ile çalışacak şekilde hazırlanmıştır. Ancak yüksek ihtimal ile Delphi 2009 ve sonrası bir sürüm ile de uyumludur.


Hocam cevap verdiğiniz için çok teşekkür ederim. Bu işlemi yapan programlar sadece 1024 kb alanı okuyup oradan bir hesaplama yapıyorlar ardındanda gerekli okunacak alanı okuyorlar. Zaten değiştirme işlemi değil sadece okuma işlemi yapsam yeterli olur. Aslında bu linkteki makalede açıklama yapmış ama bir türlü çözemedim hangi alanı okumam gerekli.

Link: https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout


Hex olarak baktığımda ve ya sniff yaptığımda şuradan bilgi alıp ardından dosya listesinin olduğu bloklara gidiyor ve oradaki bloktanda build.prop adresini alıyor. Bana o adres olsa yeterli ama çözemedim bir türlü.


İlk olarak okuduğu alan şu hocam.

Resim


Ardından bu okuduğu alandan hesaplayıp bu alanı okuyor burasıda zaten 7zip açtığımızda listelenen dosyaları gösterdiği bölüm.


Resim

Ama hesaplamamı olucak makaleden anlamadım bir türlü malasef. Yardımcı olursanız çok memnun olurum hocam...
seci20

Re: Ext file hakkında

Mesaj gönderen seci20 »

konuyu hala araştırmaktayım bir çözüm bulamadım ustalarım güncel...
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Ext file hakkında

Mesaj gönderen mkysoft »

Yanılıyorum olabilirim ancak paylaşılanlardan bu yapının linux ext4 veri yapısı olduğunu düşünüyorum. Seven7'in açabilmesinin nedenide muhtemelen bu. biraz google araması yaptım, microcontroller için open source ext4 kütüphaneleri var. Windows için ise http://www.ext2fsd.com/ 'denk geldim. Mantıklı bir başlangıç noktası gibi duruyor.
Cevapla