10 Eylül 2008 Çarşamba

Java Symbian ram hakkında ve altta çalışan dosyalar

Öncelikle telefonunuza ekteki System Explorer programını yüklemenizi öneririm
Temel Bilgiler
Telefonda cihaz hafızası (C:/), Hafıza kartı(E:/) vardır.
Bir de uygulamaları (app,dll,exe,mdl) açabilmek için bir hafızaya ihtiyaç duyar. Bu hafızaya RAM denir. RAM üzerinden geçen elektrik akımı kesildiği anda herşey silinir.
Bazen (genelde ngage oyunlarında) hafıza dolu uyarısını alırsınız bunun sebebi hafıza kartı ve cihaz hafızası değil aksine RAM dır.
Bu disk hiçbir file manager'le disk olarak göremezsiniz(belki biraz olsun bilenler D:/ diski de RAM değil mi diye soracak evet RAM dır fakat bu disk kamera kaydı mesajlar için geçici yer kopyala yapıştır vs. içindir)
Telefonlarda RAM boyutları 8 mb 16mb ve yanılmıyorsam N70'te de 32 mb olucaktı.
Altta çalışan uygulamalar her zaman exe şeklindedir app bile apprun.exe(yeri z:/system/programs/apprun.exe) olmadan çalışamaz
Task, Process ve Thread:
Bir exe açıldığında bu exe'nin tamamına Process denir. Her bir process'in en az bir tane thread'ı vardır
Eğer process'e kill(görevi sonlandır) komutu verilirse içindeki tüm thread'lar kapanır
Thread tek uygulamada birçok işi yapmaya yarar
uygulama:
Telefondan system explorer programına giriyoruz
file browser'den z:/system/libs/ekern.exe ye bir bakıyoruz
bu dosya her açılışta telefonunuzda açılan ilk exe'dir.
Şimdi ana menüye dönüyoruz ve processes'e giriyoruz. Gördüğünüz gibi ekern.exe ilk sırada duruyor ve açık
tıklayarak ya da sağ tuşa basarak içine giriyoruz
İçinde 2 tane thread göreceksiniz (belki daha fazla olabilir) işte bunlar ekern.exe'nin içindekilerdir. Bazen bir exe'nin içinde görünenden fazla thread vardır bunlar özel olarak bir program istediğinde veya o anki komuta göre değişir neyse bunu Uygulama 2 de iyice açıklayacağım
Gelelim task'a
Task ise apprun.exe ile çalışan programları gösterir(bunu process'te apprun.exe 'lerde de görebilirsiniz
Process ve thread ların özellikleri
Process'ler belirli bir sıraya göre açılır ve 0123456789ABCDEF olarak sıralanır.Örneğin
0x0000 ekern.exe
şimdi şöyle bir düşünün telefonunuz kapalı kapama açma tuşuna bastınız ve ilk olarak ekern.exe process olarak açıldı ardından bu process içindeki threadları açtı
dikkat ederseniz process'te 0x0000 yazıyor yani ilk olarak bu açılıyor threadlarına bakıyoruz biri 0x0001 diğeri 0x0002 process'e geri dönüyoruz ekern.exe'nin altında efile.exe göreceksiniz sol tarafında 0x0003 yazıyor demekki ardından efile.exe process olarak açılıyor. İçine giriyoruz
0x0004 Efile[...
0x0005 LoaderThread
0x000A EFile[...
İlginç direk olarak 5'ten A ya atlamış arada 6 7 8 9 yok aslında bunlar bu exe'nin içinde mevcuttur şu an açılması gereksizdir ve açılmamıştır ya da başka exe bu thread'ın içine girebilir. 5 ten A ya kadar olan aralık bırakılabilmiş olabilir
(biliyorum biliyorum aklınız karıştı)
Ör: Ngage v 4.03 te bazen bir sistem uygulaması olan audioserver.exe açılmıyor.Açılmayınca satıcınızla görüşün vs. tarzı bir uyarı geliyor bunun için BiNPDA ekibinden zg bir yama yapmış.
Adı FixSS olan bu yama tek dosyadan oluşuyor (*:/system/recogs/fixss.mdl)
bu dosya açılışta açılıyor ve bu sorunu ortadan kaldırıyor peki bu nerede
Açılışta açılan EDbsrv.exe process'inin içinde fakat EDbsrv.exe'in içinde böyle bir thread yok demek ki başka exe,mdl, diğer process'lerin thread'ları olabiliyor


Process ve Thread özellikleri
Her process ve thread'ın kendine göre tıpkı dosyalar gibi özellikleri vardır
Örneğin önem sırası
process veya thread'ın üzerine gelip options>properties dersek tüm özelliklerini görürüz
Bildiğim kadarıyla açıklayayım
Process
process : process adı
Id: başlama sırası ya da kimliği
type : çalıştırdığı dosyanın UID1,UID2 ve UID3'ü
priorty :exe'nin önem sırası
Genelde;
EprorityNormal
EprorityHigh
EprorityBackground
EprorityForeground
gibi isimler alır
Comand line : çalıştırıldığı yer verilir genelde app'lerde gözükür bu yer
Owner : (keşfedilmeyi bekliyor)
Protected : exe'nin koruması var genelde sistem uygulamalarında yes olur ve kill komutuyla kapatılamaz
Thread
process: thread'ın bağlı olduğu process
thread: thread'ın tam ismi
Id: başlama sırası ya da kimliği
prority: thread önem sırası
Request: çağrılma eğer -1 se her zaman çalışıyor demektir
(geri kalanı size kalmış şu anda anlayabildiklerim bu kadar)
Uygulama 2:
Amaç: process ve thread kavramlarını kavrama
Başlıyoruz...
Testimizi bir virüs olan CommWarrior.C ile yapacağız. Bunu özellikle seçtim çünkü bu virüs sadece bir dosyadan oluşuyor ve çalıştırıldığında tüm dosyalar burdan temin ediliyor
ilk önce bir çalıştıralım

bu virüs her çalıştığında thread'larına farklı bir isim verir


İkinci thread (0x00F2) sis dosyasını e:/ de oluşturmakla görevlidir oluştuktan sonra kapanır

ardından mms oluşturup kopyalamak için başka bir thread
oluşturur.
Şimdi de özelliklerine bakalım
1.Process özellikleri

en sondaki protected dikkatinizi çekmek istiyorum
protected : Yes
yani kill komutuyla kapatamazsınız.(Kapatmayı denerseniz kill komutunu veren program kapanır.)

0 yorum:

Yorum Gönder

CEPUYDU.BLOGSPOT | SATDOOM | PROSATFORUM |