Base64 ve xor !!!

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
Nick_
Üye
Mesajlar: 122
Kayıt: 01 Eki 2007 09:28
Konum: Konya

Base64 ve xor !!!

Mesaj gönderen Nick_ »

S.a arkadaşlar sitede biraz arama yaptım metin şifreleme ve çözmede base64 ve xor örneklerini gördüm..bunları ayrı ayrı denedım calıstırdım.Pekı bunları beraber kullanamazmıyız..Mesela metni ilk basta base64 lesek sonra xor lasak cozerkende sırasıyla xor ve base64 uygulasak olmazmı?? kac saattır denıyorum ama cozulmuyor..

sifrelerken..

Kod: Tümünü seç

 begin
   baseli:=StrTobase64(gelenmetin);
     for I := 0 to Length(baseli) do
         begin
           a :=a+ char(byte(baseli[I]) xor Key1);
         end;
  Result:=a;
  end;

cozerken...

Kod: Tümünü seç

 begin
     for I := 0 to Length(veri) do
        begin
           a :=a+ char(byte(veri[I]) xor Key1);
        end;
    basesiz:=Base64ToStr(a);
    Result:=basesiz;
hata nerde??
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

amacınızı söylerseniz daha çok yardım edebilirim. problem bir metni şifrelekmi sadece. geri dönüşüm şartmı değilmi.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Kullanıcı avatarı
Nick_
Üye
Mesajlar: 122
Kayıt: 01 Eki 2007 09:28
Konum: Konya

Mesaj gönderen Nick_ »

arkadasım soru gayet acık..metın sıfreleyıp cozmek ıstıyorum.. ılk once base64 uyguluyorum sonra bı key ıle xor ıslemı yaptırıyorum..cozmek ıcın ıse once xor ıslemını sonrada base64 ıslemını uyguluyorum ama cozulmuyor yanı orjınal metnı vermıyor..
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

dövseydiniz :)

forumda çeşitli kod ipuçları diye açtığım threadde hazır unit var;

birde aramada bu var

viewtopic.php?t=2727&highlight=%FEifreleme+unit

konuya gelince enciption dallı budaklı bir konudur kayıplı aalgoritma kullanılıp kullanılmayacağıda önemlidir. o yüzden derdini tam yazıp kodu yapıştırmalısınki bir şey önerelim
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Kullanıcı avatarı
Nick_
Üye
Mesajlar: 122
Kayıt: 01 Eki 2007 09:28
Konum: Konya

Mesaj gönderen Nick_ »

ikutluay yazdı:derdini tam yazıp kodu yapıştırmalısınki bir şey önerelim
Sayın @ikutluay ılk mesajıma bakarsanız derdım ve kodlarım orda..ayrıca hazır kod degıl ben bahsettıgım yolu kullanmak ıstıyorum ve o konuda yardım beklıyorum..actıgınız thread de ezbere kodlar var hangı kodun ne ıs yaptıgı bellı degıl.. bı suru kod yazmıssınız o thread de ama maalesef copy paste anca bu kadar oluyorkı oda bı ıse yaramıyor......Bu konuda bılgısı olan arkadaslardan (@ikutluay HARIC!!) yardım beklıyorum
Jire
Üye
Mesajlar: 167
Kayıt: 07 Eki 2007 01:20

Mesaj gönderen Jire »

Nick_ yazdı:
ikutluay yazdı:derdini tam yazıp kodu yapıştırmalısınki bir şey önerelim
Sayın @ikutluay ılk mesajıma bakarsanız derdım ve kodlarım orda..ayrıca hazır kod degıl ben bahsettıgım yolu kullanmak ıstıyorum ve o konuda yardım beklıyorum..actıgınız thread de ezbere kodlar var hangı kodun ne ıs yaptıgı bellı degıl.. bı suru kod yazmıssınız o thread de ama maalesef copy paste anca bu kadar oluyorkı oda bı ıse yaramıyor......Bu konuda bılgısı olan arkadaslardan (@ikutluay HARIC!!) yardım beklıyorum
Arkadaş sana yardım etmeye çalışıyor sense itiyon. :roll:
Kullanıcı avatarı
Nick_
Üye
Mesajlar: 122
Kayıt: 01 Eki 2007 09:28
Konum: Konya

Mesaj gönderen Nick_ »

bu konuda bılgılı kısılerden yardım ıstedım ben forum kırlılıgı yapmak ıcın cevap yazın demedımkı!!!
Kullanıcı avatarı
bluekid
Kıdemli Üye
Mesajlar: 541
Kayıt: 11 Haz 2004 10:45
İletişim:

Mesaj gönderen bluekid »

Burdan başlayın
1) sormuş olduğunuz teknik sorulara aldığınız cevaplar, cevap verilirken karşılaşılan zorluğa bağlı olduğu kadar sizin soruyu nasıl sorduğunuza da bağlıdır. Bu kılavuz size tatmin edici bir cevap alabilmeniz için nasıl soru sormanız gerektiğini öğretecektir.


2) Forumda bir arama yapıyoruz StrTobase64
viewtopic.php?t=5461&highlight=strtobase64
öğreniyoruz ki
Base64 Delphi ile gelen standart bir dosya, bileşen yada fonksiyon değildir. bunu ki encode u ve decode u bir pas uzantılı dosya içinde ve genelde bu dosyanın adı "base64.pas" dır projene eklemen gerek.
Base64 fonksiyonlarının kodlarını inceliyoruz
3) Xor için bir arama yapıyoruz
viewtopic.php?t=7130&highlight=xor
Epey bir şey öğreniyoruz xor için yazılmış olan fonksiyonları kullanarak
tekrar deniyoruz

4) Eğer çözüme ulaşamamışsak tekrar soruyoruz

5) Bize cevap yazanlara kibar davranıyoruz - konuyla alakasız cevap olduğunu düşünsek bile -

Kolay gelsin
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

Nick_ yazdı:bu konuda bılgılı kısılerden yardım ıstedım ben forum kırlılıgı yapmak ıcın cevap yazın demedımkı!!!
Ben bilgisiz biriyim ama en azından konunun başlığına bakmayı akıl edebiliyorum. o threaddaki her kodun başlığında ne yaptığı yazıyor.

Arayan bulsun diye oradalar... O kodlar orda idi 2001-2002 de ben keşfetmiştim siteyi öncesini bilmiyorum kaç yıllık ama bir şekilde kesip yapıştırmakta bir emek sonuçta. En azından saygıyı hak ediyor.

Burda kimse kimsenin babasının uşağı değil. Yardım istemeninde bir adabı var. Böyle hakaretlerle kimse bir yere varamaz.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Kullanıcı avatarı
Nick_
Üye
Mesajlar: 122
Kayıt: 01 Eki 2007 09:28
Konum: Konya

Mesaj gönderen Nick_ »

@ikutluay
Ben bilgisiz biriyim ama en azından konunun başlığına bakmayı akıl edebiliyorum.
1) bilgisiz biri oldugun (2 defa acıklamama ragman hala va hala) "amacın ne... derdın ne..." demenden anlasılıyor bırde burda ıtıraf edıpte ıyıce gozden dusme yanı..sen sadece otur konuların başlığına bakmayı akıl et baska bısey yapmasanda olur

o threaddaki her kodun başlığında ne yaptığı yazıyor.
2) mesajların baslıgından degıl ıcerıgınden bahsedıyorum ben.. tamam belkı sen bı projende bı kodda takıldıgında netten bulup dırek copy paste yapıp tamam hallettım dıyebılırsın ama herkez senın gıbı projelerınde dırek copy-paste yapmıyor.sonucta projedekı butun kodların tam olarak ne ıcın kullandıgını (mantıgını) bılmen gerekıyo..tabıkı sen boyle yapmıyabılırsın (sonucta boylelerıne de programcı yada muhendıs denebılıyo!!!!!!!)
Burda kimse kimsenin babasının uşağı değil. Yardım istemeninde bir adabı var. Böyle hakaretlerle kimse bir yere varamaz.
3) ben kımseyı usagım olarak gormem..sanada usagımsın dıyen olmadı ayrıca yardım ıstemenın adabını da bılıyorum o yuzden 2 defa ne yapmak ıstedıgımı anlattım ama sen halaaa anlamadan cevap vermeye calısıyosun..bırde hakaret demıssın ben kımseye hakaret etmedımkı.. sen nereyı hakaret olarak algıladın oda ayrı bı konu..gercı senden bahsedıyoruz.. allah kımseye anlama ozru vermesınn oncekı mesajlarımda hakaret ıceren hıc bı kelıme yoktu ama bu mesajımı hakaret olarak da algılayabılırsın..senı tutan yok



@bluekid

arkadasım soledıklerını konuyu acmadan yapmıstım .. ılk mesajımdada base64 ve xor u ayrı ayrı yapabıldıgımı belırtmıstım.. arastırma yapmadan konuyu actıgımı sanmayın..forum kurallarını sızın kadar bende bılıyorum ama boyle arkadaslar ınsanı cıleden cıkarıyo ıste..konu hakkında bılgın varsa ve yardım etmek ıstıyorsan yazarsınn bılmıyorsan yazmassın.. arkadas nedense anlasada anlamasada her konuya bı cevap yazmayı kendıne vazıfe edınmıs verdıgı cevapların bı cogunu takıp ettım..bırılerının gozunemı gırmeye cabalıyo napıo anlamıyorum..

kusura bakmayın konu uzamasın dıe (@ikutluay harıc) demıstım ama arkadas yıne anlamayıp cevap yazdıgı ıcın banada bı cevap verme hakkı dogdu onun ıcın yazdım bu mesajı..
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

Forumun tartışma ortamına dönmesine istemediğimden ben hala adam gibi cevap vermeyi (Tabii cevap hakkımı saklı tutarak) seçiyorum. cevabın içinde neyin neden olduğunu yazdım. Umarım bu sefer doğru anlaşılır. (ama hiç kimsede görmek istemeyen birisi kadar kör değildir.)

Öncelikle

Bir şeyi açıklayayım ; açıkça derdinizi yazın dedim.. çünkü bu işten biraz anlayan bir kişi bile base64 algoritmasının gerçekte çok sağlam algoritma olmadığını bilir.

Üsteik kullanım alanıda genelde bellirdir mail atachmentlar ve html auth durumları.

xor da key kullanıldığı için güvenli sanırılır ama brute force ile ataklara dayanacağı garanti değildir. (bu yönteme dayanacak şifrede yoktur. inanmayan dijital kaleyi okusun)

Şimdi ilk soruyu soran kişi eğer kullanıcı girişi yapacaksa bu forumu okuyan bir sürü insan ona sha1 yada md5 önerecektir. çünkü bunlar veriden bir sayı özeti üretirler ve verinin geri elde edilmesi hemen hemen imkansızdır.

ancak hedef bir dosyayı şifreleyip iletmekse durum daha farklıdır çünkü bu sefer dosyanın geriye açılması sorunu vardır. yani hangi vatandaş dosyasını şifreleyip gönderirde geri açılması istemez.

Ben arkadaşın bunu açıklamasını istedim arkadaş kendini 9 dağın efesi moduna sokarak "soru gayet açık" dedi.

Şimdi ben soruyorum gerçekten açıkmıymış ?

Tekrar gelelim ;

Base 64 algoritmasının çalışma mantığına soruyu soran bu nedir diye okumuşmudur bilemem ama base64 ile şifreleme yapılırken verinin 3 er byte lık gruplar halinde ele alınması durumu vardır. base64 sonucu oluşan verilerin uzunluğuda dördün katları şeklinde gider. Sonuçta oluşan kakterler 4ün katı uzunlukta değilse sonuna = karakterleri eklenir.

http://www.koders.com/delphi/fidE7154E1 ... spx?s=sha1
if (Length(S) mod 4)<> 0 then
raise Exception.Create('Base64: Incorrect string format');

Şimdi threade dönersem arkadaş bas64 ve x0r algoritması uyguladığını söylüyor ama hangi unitle bilmiyoruz. kod yok. o unitler bu kurala dikkat etmişmi haberimiz yok. çünkü bu untiler delphinin bir parçası değil. 3.parti. kim yazmış belli değil. kodu deneme şansımızda yok. (ama forumda bir sürü falcı var cam küremize bakar kodu da tahmin ederiz)

Tabi bu arada hala soruyu soran kişinin üstünde çalıştığı uyuglma nedir derdimiz nedir ondanda haberimiz yok.

Gelelim "hazır kod yapıştıranlara bile programcı denmesine" ;

yapıştırılan koddan başlayalım ;

Kod: Tümünü seç

a :=a+ char(byte(baseli[I]) xor Key1);
key ve a değerleri nedir nerde tanımlanmışlardır kod yazan HERKES bilir. çünkü KEY değerine her seferinde değer atanmak istenmiyorsa bu değişken farklı blokta tanımlanmalı. lokal tanımlanmışsa her ik blokta haliyle 2. de nul değerle başlayacak ancak hala KODUN tamamını göremediğimiz için bir şey deme şansımız yok.

Artı bel olsam parantezlerle grintilerdimki işlem önceliklerinde kafa karışmasın.

sonundada başlık şöyle bitiyor "hata nerde" eee şimdi ben soruyorum "biz nerden bilelim nerde "

Öncelikle uygulama nedir amaç nedir bilemliyiz ve kodunu görmeliyiz ki hatayı kontrol edelim. Kaldı ki amaç sadece veri şifrelemek içinse ve base64 ün ne olduğu bilinmeden bu işe girilmişse alternatifte önermişiz.

Kimseyide itham etmemişiz "sen bu işi bilmezsin. internetten kod alıp yapıştırırsın üste birde programcısın diyip gezersin" dememişiz. zaten işin aslı programcıyız da dememişiz.

başkaları vardır mesela bir şey yapınca kendini göklerde hisseder... ama ben örneğin csunguraya genelde usta diye hitap ederim. eski işimde sql de sıkıştığımda recep abinin yardımlarınıda unutmadım. tamam
as400 den dolayı yazdığı kodlar direkt çalışmıyordu ama ben tek bir sql cümlesi için onun önerisinin üstünden giderek notasyonu bulana kadar 6-7 saat uğraştığımı bilirim. ama sonuç ne oldu biliyormusunuz; bir uygulamam çalıştığında 18-30 dk arası sürerken (sql im yeterince iyi olmadığından bazı kayıtları döngüyle teker teker tekrar sorguluyordum) çalışması en son sql i öyle yazmıştımki 2-3 sn de bitiyordu.

Swissdelphicenter sitesinde bir sürü güzel ipucu vardı. ingilizcesi olmayanlar için en azından ne işer yaradıklarını başlığa yazıp siteye yapıştıralım Türkçe arayanlar karşılığını bulsun istedim. o bile kabahat oldu ancak konuya bakanlar görürki yapı itibarıyla bende daha bilgili arkadaşlar bile içlerinde işe yarayacak kodlar bulup teşekkür etmişler.

Ama aramıza yeni katılmış bir arkadaş soruyu düzgün sormadan forum kurallarını hiçe sayarak konular açma hakkını kendinde görebilmekte. Olsun umurumdada değil.. Ben gene copy paste yapacağım. belki bir gü vaktim olur detaylı metinlede açıklarım. bunu yaptığım gün "x hariç herkes içindir" yazmayacağım ama.

Artı bu forumdan kimse para kazanmıyor. mussimsek reklam dan 3-5 alıyorsa bile oda ancak hostinge yetiyordur. bu işten para kazanmıyorum, forumdada sadece bir üyeyim, kimin neden gözüne girmeye çalışayım. İyi kazandığım bir işim, bir ünvanım var. Ama işimin arasında bile gündüzleri girmeye çalışıyorum.

Zaten dikkat edilirse eskiden genelde sql soruları sorardım şimdi genelde cevap yazıyorum. Çünkü bu forum sadece insanlar gelip soru sorsun diye yok. bilenler cevapta yazsın diye var.

Son olarak 3 şey kaldı ;
1. Forum üyelerinin canını sıktıysam özür dilerim
2. Konuyu başlatan buna rağmen hala sorusunun açık olduğunu bizim bunu anlayamadığımızı iddia ediyorsa neden kimsenin hala cevabı bulamadığını merak ederim.
3. Vakti zamanında uygun olmayan durumlarda forum admin yada moderatörleri devreye girerdi. Acaba yanlış birşeyi benmi yapıyorum yada forumda "x hariç y dahil" tarzı konuşmalar normal mi sayılır oldu onuda birileri açıklasa sanırım fena olmayacak. (bu bir şikayet değildir. sadece forumda tartışma vs istemiyorum.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

@ikutluay;
1) kimsenin canını sıktığını sanmıyorum tersine hislerim(iz)e tercuman oldun...
3) Hafta sonları moderator ve adminler evde aileleri/sevdikleri ile vakit geçirmeyi yeğliyor olabilirler. :P
saatler ileri alınınca nöbet sistemi çalışmaz oldu :D

@Nick_ :kup:
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
Nick_
Üye
Mesajlar: 122
Kayıt: 01 Eki 2007 09:28
Konum: Konya

Mesaj gönderen Nick_ »

Çünkü bu forum sadece insanlar gelip soru sorsun diye yok. bilenler cevapta yazsın diye var.
bunu bıldıgın halde nıe uzatıpta konuyu dagıtıyosunkı??? bılenler yazsın ıste
2. Konuyu başlatan buna rağmen hala sorusunun açık olduğunu bizim bunu anlayamadığımızı iddia ediyorsa neden kimsenin hala cevabı bulamadığını merak ederim.

sen gel konunun ıcıne et sonrada kımse nıye cevap bulamadı de....

bu kadar uzatacagına copy paste yaptıgın kodların bırazına neyın ne ıs yaptıgına daır acıklama yazabılırsın dımı
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

aslangeri yazdı:@ikutluay;
3) Hafta sonları moderator ve adminler evde aileleri/sevdikleri ile vakit geçirmeyi yeğliyor olabilirler. :P
Üstad ne bilim gerilince elde olmadan laflar edebiliyorsun. Sonra malum daha önce yaşananlardan dolayı dikkat etmeye çalışıyorum tartışmalardan uzak durmaya.

Yeğlenen konuya gelince devam devam devam. en doğal hakkınız

@nick ;

hala anlamamakta ısrar etmeni anlamıyorum. base64 algoritmasının ne olduğunu bile bilmiyorsun belki. derdini açık yaz yardımcı olalım yada olsunlar. biz senin kodunu faldamı göreceğiz.

kimsenin bir şeye ettiği yok; sadece soru sormayı bilmiyorsun bilmediğinide kabul ediyorsun.

uygulamayı, amacını yazıp kodunuda yapıştırsan ölürmüsün?
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Herkese selamlar,

Moderatörler uyumuyor, TTNet'in grevinden etkileniyoruz (en azından kendim için söyleyeyim.)

İstediğiniz başlığı kilitleyip silmemiz ise yapabilirim ama bence hoşgörü ve iyiniyet çerçecesinde anlaşabileceğinizi düşünüyorum. Ama olmaz ise, başlık kilitlenir ve siteden silinir.

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Cevapla