Tam Sürümünü Görmek İçin : Saat-Tarih Hex Bulmaca
ecamursoy
01/12/2006, 23:44
Merhabalar örneklerden bazıları şunlar
2044 0323 = 19.00 21/03/2006
2044 1331 = 20.00 21/03.2006
2044 233F = 21.00 21/03/2006
F43F 5E51 = 19.57 01/01/2004
D641 5FD6 = 19.57 01/01/2005
B843 E109 = 19.57 01/01/2006
Bunlar nasıl bir mantıkla hesaplayabilirim.Bilgi paylaşan olursa memnun olurum.Saygılar
(Low Lewl Programming)
acehreli
02/12/2006, 00:24
ecamursoy, ornekler bana bir sey ifade etmiyor. Ilk uc ornek arasindaki farklar birbirini tutuyor: 4110 kadarlik bir fark 1 saatlik zaman anlamina geliyor. Ama nasil? :)
O kodlar nereden edinilmisler?
Ali
ecamursoy
02/12/2006, 10:19
Zaten olay çok enterasan.Örneğin örnekleri biraz daha çoğaltalım ve Şunuda belirteyim.Saat-tarih Hex kodları değiştikçe güvenlik kodlarıda değişiyor.Onuda ayrıca yanına belirteyim.
2044 6A30 temsil ettiği 19.57 21/03/2006 Güvenlik kodu 4044
133E DE1D '' 19.57 01/01/2003 '' 3434
2044 D730 '' 19.59 21/03/2006 '' 38DB
0544 5FD2 '' 19.57 01/03/2006 '' B64F
313C 5FEA '' 19.57 01/01/2002 '' 6270
503A E0B6 '' 19.57 01/01/2001 '' 266E
2044 9D30 '' 19.58 21/03/2006 '' 8EF9
BB43 5FFE '' 19.57 04/01/2006 '' 4ED2
BA43 DFAC '' 19.57 03/01/2006 '' F11D
D243 E367 '' 19.57 21/01/2006 '' 1F77
5644 DF3D '' 19.57 01/05/2006 '' 89D5
4845 DFD1 '' 19.57 01/11/2006 '' 9A3F
2E44 DFB0 '' 19.57 01/04/2006 '' 76D0
E043 5EE8 '' 19.57 01/02/2006 '' ADBD
DF43 DF96 '' 19.57 31/01/2006 '' D090
2044 0323 '' 19.00 21/03/2006 '' 3321
2044 1331 '' 20.00 21/03/2006 '' FC5D
2044 233F '' 21.00 21/03/2006 '' 8C6D
F43F 5E51 '' 19.57 01/01/2004 '' FF0D
D641 5FD6 '' 19.57 01/01/2005 '' 8153
B943 625B '' 19.57 02/01/2006 '' 69CF
BD43 DF4F '' 19.57 05/01/2006 '' 5EAF
acehreli
02/12/2006, 19:55
Belki bunlari aldigin yerde baska ipuclari vardir. Sen yazdiklarinin yeterli oldugunu dusunuyorsun ama buradan bakinca birsey anlamak cok guc. Bu forumun dilleri ile kullanilan kutuphanelerde bir suru farkli "saat-tarih" yapisi vardir. Hangi dille ilgilendigini bile bilmiyoruz daha.
Guvenlik kodu da bir ihtimal o satir uzerindeki karakterleri kullanarak elde edilmis bir degerdir. Guvenlik kodu bilginin iletildigi yerde tekrar hesaplaniyordur ve iletim sirasinda veride bir degisiklik olup olmadigini anlamaya yariyordur.
Neden tahminde bulunuyoruz? Daha fazla bilgi lutfen...
Ali
acehreli
02/12/2006, 22:06
Anladim galiba: O ciktidaki zaman degerleri, C'nin time() islevinin dOndUrdugu degeri karmasik olarak kapsiyorlar (endian sorunu).
2044 0323 dizisini bir C programinda dogru olarak kullanmak icin bayt degerlerini su sekilde yazmak gerekiyor: 0x44202303.
Bunu ispatlamak icin o degeri ctime islevini kullanarak yerel zamanda gosteren bir program:
#include <stdio.h>
#include <time.h>
int main()
{
time_t zaman = 0x44202303;
printf("%s\n", ctime(&zaman));
return 0;
}
Tabii o karakterleri her zaman programin icine elle yazamayacigimiz icin, gelen karakterleri once bir karakter dizisine yerlestirirsen, sscanf ile okuyabilirsin:
#include <stdio.h>
#include <time.h>
int main()
{
// Karakterlerin bir sekilde bir dizgi olarak donusturulduklerini varsayalim:
char sayiGosterimi[] = "0x44202303";
time_t zaman;
// O diziden onaltili sistemde okuyup bir time_t'ye yerlestirelim
sscanf(sayiGosterimi, "%x", &zaman);
printf("%s\n", ctime(&zaman));
return 0;
}
Ali
ecamursoy
02/12/2006, 22:48
evet olabilir konuyu tam olarak teknik bir dille anlatamıyorum belki.Birde swap 16 swap 32 durumundanda değerler yer değiştirebilir.acaba bu bilimsel değeri hesaplayacak(yani gerçek değeri direkt hex koduna çevirecek) bir calculator programı yapılabilirmi?
Forum Yazılımı : vBulletin v3.6.8, Copyright ©2000-2008, Jelsoft Enterprises Ltd.