binary/exe dosyada kayıt arama
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
binary/exe dosyada kayıt arama
s.a.
binary(exe) bir dosyada aynı tablede olduğu gibi locate gibi kayıt(string) arama nasıl olmalıdır.
seek ile mi ?, blokread ile mi ? read ile mi ? en kısa zamanda aradığımı nasıl bulabilirim
teşekkürler
binary(exe) bir dosyada aynı tablede olduğu gibi locate gibi kayıt(string) arama nasıl olmalıdır.
seek ile mi ?, blokread ile mi ? read ile mi ? en kısa zamanda aradığımı nasıl bulabilirim
teşekkürler
Kod: Tümünü seç
seek
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
FileStream ın Seek metodu ile ancak bir ofset degeri vererek kaydırma yapabilirsiniz.
yani 1023. byten itibaren 10 byte oku ve string degiskenime ata gibi bir islem yapabilirsiniz.
siz exe icerisinde string arayacaksanız bastan baslayarak dosyayı tarayarak yapmanız lazım
ama tam da emin degilim.
yani 1023. byten itibaren 10 byte oku ve string degiskenime ata gibi bir islem yapabilirsiniz.
siz exe icerisinde string arayacaksanız bastan baslayarak dosyayı tarayarak yapmanız lazım
ama tam da emin degilim.

ÜŞENME,ERTELEME,VAZGEÇME
BlockRead() ve BlockWrite() örneği
Kod: Tümünü seç
var
FromF, ToF: file;
NumRead, NumWritten: Integer;
Buf: array[1..2048] of Char;
begin
if OpenDialog1.Execute then { Display Open dialog box }
begin
AssignFile(FromF, OpenDialog1.FileName);
Reset(FromF, 1); { Record size = 1 }
if SaveDialog1.Execute then { Display Save dialog box}
begin
AssignFile(ToF, SaveDialog1.FileName); { Open output file }
Rewrite(ToF, 1); { Record size = 1 }
Canvas.TextOut(10, 10, 'Copying ' + IntToStr(FileSize(FromF))
+ ' bytes...');
repeat
BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
BlockWrite(ToF, Buf, NumRead, NumWritten);
until (NumRead = 0) or (NumWritten <> NumRead);
CloseFile(FromF);
CloseFile(ToF);
end;
end;
end;
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
ilgilenen arkadaşlara teşekkür ediyorum ancak;
benim istediğim
exe içindeki aradığım stringi (diyelim ki 'MY PROG' diye bir string) en kısa sürede, döngü felan kullanmadan, dosyayı baştan aşağı taramadan nasıl bulabilirim. Yoksa ben onu hex editörünü açıp pozisyonunu bulup, bu pozisyonun numarasını yazarak hallediyorum, ama benim istediğim bunu kodla yapmak ve tek satırla halletmek. tabledeki locate yada find gibi yani.
Teşekkürler.
benim istediğim
exe içindeki aradığım stringi (diyelim ki 'MY PROG' diye bir string) en kısa sürede, döngü felan kullanmadan, dosyayı baştan aşağı taramadan nasıl bulabilirim. Yoksa ben onu hex editörünü açıp pozisyonunu bulup, bu pozisyonun numarasını yazarak hallediyorum, ama benim istediğim bunu kodla yapmak ve tek satırla halletmek. tabledeki locate yada find gibi yani.
Teşekkürler.
find işlemiylede benzeri bir şey yapılıyorda sen farkında değilsin....tabledeki locate yada find gibi yani.
bu tamamen müneccimliğe girerdöngü felan kullanmadan, dosyayı baştan aşağı taramadan nasıl bulabilirim.

şaka bir yana dosyayı baştan aşagıya taratmadan bu işi yapman mümkün değil işin daha kısa sürmesi için de
-Exe formatlarını incelemen arama yapacağın alanı biraz küçültebilir
-BlockRead kullandığın Bufferın alanını büyük tutarak döngü saysını azalta bilirsin..
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim:
ne desem bilmemki ..... gkimirti cevaplamış ama bir iki kelamda biz edelimyazda görelim kardeşim... hani nerde
İster inanın ister inanmayın Delphi bir formunun üzerine bir iki component koyup bir iki satır yazıp çalıştırdığınız zaman çalışan kısım sizin yazdığınız bir
kaç satırdan ibaret değildir arkasında binlerce satır kod vardır
tabiri caizse biz hazıra konuyoruz o yazılan kodaları yönetiyoruz.
bu tabii ki gereken bir şey herkes herşeyi sıfırdan yazamaz ama kullanılan
kodların bir programcının az çok mantğını anlaması gerektiğini düşünüyorum.....
Delphi insanı tembelleştiriyormu ne?
tavsiyem algoritmalar veri yapılarıyla ilgili kitap karıştırmanız kod okumanız...
- White Rose
- Üye
- Mesajlar: 726
- Kayıt: 06 Tem 2005 09:41
- Konum: Güneyden
- İletişim: