T.C.Kimlik Sorgulamaları için DLL

Paket programlarınızın tanıtımını bu forumda yapabilirsiniz. Bu foruma soru sormayın!
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

T.C.Kimlik Sorgulamaları için DLL

Mesaj gönderen mrmarman »

- Herkese selam..

- T.C.Kimlik sorgulaması için bir tane DLL hazırladım. İndirip bunu bir deneyin.

- Nasıl kullanacağını gösteren bir de örnek uygulama ekledim. Tamamen dinamiktir.

Resim

- Dinamik demekle kasıt, önce Captcha Kod ne ise onun kodu çözümlüyor ondan sonra sorgulamaya başlıyor... :wink:

Ref : Link kaldırılmıştır
- Projenizin klasörüne bu DLL dosyasını kopyalıyorsunuz. Projenize aşağıdaki kodu her yerden erişilebilir şekilde en başa ekliyorsunuz hepsi bu.

Kod: Tümünü seç

Type tTCBilgi = Record
  TCKimlik ,
  adi      ,
  soyadi   ,
  dogumyili,
  cinsiyeti,
  anaadi   ,
  babaadi  ,
  il       ,
  ilce     ,
  mahalle  ,
  ciltno   ,
  aileno   ,
  bireyno  : String;
end;

Function  TCKimlikNoyaGore  ( TCNo:String ):tTCBilgi; StdCall;
External 'TCKimlik_ARMAN.dll';

Function  BireyNoyaGore( Ad, Soyad, il, ilce, CiltNo, AileSira, SiraNo : String) : tTCBilgi; StdCall;
External 'TCKimlik_ARMAN.dll';

Function  BabaAnneBilgisiyle( Ad, Soyad, il, ilce, Baba, Anne, Dogum, Cinsiyet : String) : tTCBilgi; StdCall;
External 'TCKimlik_ARMAN.dll';

Procedure IlDoldur( Liste : TStrings ); StdCall;
External 'TCKimlik_ARMAN.dll';

Procedure IlcelerDoldur( IlKodu:String; Liste:TStrings ); StdCall;
External 'TCKimlik_ARMAN.dll';
- Kullanımı ise basit

// TC Kimlik Doğrulama

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
Var
  Bilgi : tTCBilgi;
begin
  Bilgi := TCKimlikNoyaGore(Edit1.Text);
  ShowMessageFmt('%s %s (%s)', [Bilgi.adi, Bilgi.soyadi, Bilgi.dogumyili]);
end;
// DLL tanımlama bloğunda göreceğiniz aşağıdaki sorgulamaları rahatlıkla kullanabilirsiniz. Tıpkı eski WSDL sistemindeki türden. Web Parse vesair tüm işi DLL yükleniyor.

Kod: Tümünü seç

TCKimlikNoyaGore  ( TCNo:String ):tTCBilgi; StdCall;

BireyNoyaGore( Ad, Soyad, il, ilce, CiltNo, AileSira, SiraNo : String) : tTCBilgi; StdCall;

BabaAnneBilgisiyle( Ad, Soyad, il, ilce, Baba, Anne, Dogum, Cinsiyet : String) : tTCBilgi; StdCall;

IlDoldur( Liste : TStrings ); StdCall;

IlcelerDoldur( IlKodu:String; Liste:TStrings ); StdCall;
- Aslında Captcha işlemi için kabuk DLL hazırlamış olduk. Yani CAPTCHA işini DLL'ye bırakın, siz sorgunuzu yapın :wink:

- Teknik Detaya inmek gerekirse yapılan işlem özetle şöyle...

1. faz olarak http://tckimlik.nvi.gov.tr/Web/QueryIdentityNumber.aspx adresini navigate ettiriyoruz, buradaki EVENTVALIDATION ile VIEWSTATE değerlerini okuyoruz.

2. faz olarak bu değerleri kullanarak aynı adresi ctlCity olarak hangi ili istiyorsak onun il kodunu verip tekrar bu il kodu modüle edilmiş yeni EVENTVALIDATION ile VIEWSTATE değerlerini okuyoruz.

3. faz olarak Captcha kodunu decrypt edip parametre girerek bu kodun da modüle edildiği yeni final EVENTVALIDATION ile VIEWSTATE değerlerine ulaşıyoruz.

4. faz olarak artık bu belirttimiz İl'e özel EVENTVALIDATION ile VIEWSTATE değerlerine sahibiz. Şu an elde ettiğimiz hash kodu kullanarak aynı il için sonsuz sayıda sorgu yaptırabiliriz. Taaki başka bir il seçilene kadar.

- Afiyet olsun...
En son mrmarman tarafından 22 Mar 2007 06:18 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Resim
Resim ....Resim
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Hocam eline sağlık doğrulama çalışıyor fakat sorgulamada "400 bad request" hatası veriyor. Bir de öneri; sorgularken fare kum saati olabilir.. bir de iller listesinde çok kasıyor, plakalar numaraları sona alınıp harflere basınca istenen il seçilebilir mi, kendi sayfasında öyle de :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Hocam.

- Kontrol ettim, sizin orada anlık bir yoğunluk olmalı. Bende şu an çalışıyor.

- İller listesi yavaşlığının sebebi, iki defa sorgu yapılıyor olması. İlki EventValidation ve ViewState için, ikincisi ise il ile modüle edilmiş halini alabilmek için.

- Aslında il ve ilçe listesini güzel bir çalışmayla offline'a çekebilirsiniz geriye sadece sorgu zamanı kalır.

- Plaka nolarını gösteremeye de bilirsiniz. Paralel başka bir listede tutabilirsiniz. Önemli olan, bu kodların sorguda kullanılması. Dediğim gibi sadece uygulama kodu...
Resim
Resim ....Resim
mero
Üye
Mesajlar: 109
Kayıt: 04 Mar 2005 04:54

Mesaj gönderen mero »

Hocam bende "Bad Request " hatası aldım. Benim isimim 2 tane bende "bad request" hatası veriyor ama tek isimlerde vermiyor.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Hımm... isimlerin arasına + koyarak bir deneyin.. Onu ihmal etmişimdir.
Resim
Resim ....Resim
mero
Üye
Mesajlar: 109
Kayıt: 04 Mar 2005 04:54

Mesaj gönderen mero »

Ellerinize sağlık hocam "+" ile çalışıyor.
ozz_deniz
Üye
Mesajlar: 39
Kayıt: 16 Ağu 2003 11:32
Konum: Antalya

"Invalid Pointer Operation"

Mesaj gönderen ozz_deniz »

Hocam ellerine sağlık.

Benim bir problemim var, kendi uygulamamda tc kimlik no yu girip diğer bilgileri almak istiyorum. bunu denemek için sizin yolladığınız programda TcKimlik No Doğrula kısmına bilgilerin memoda gözükmesi için

Bilgi := TCKimlikNoyaGore(Edit1.Text);

satırını ekledim.

memoya ad,soyad ve doğum yılı bilgileri geldi. Diğer bilgiler gelebiliyormu?

ve her denememde showmessage den sonra :

"Invalid Pointer Operation"

diye bir hata alıyorum.

Yardımlarınız için çok teşekkürler.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Selam. Sorun başka bir yerde olmalı. Boş bir proje açıp bir TButton ve TEdit ekle. aşağıdakileri yaz.

Kod: Tümünü seç

Type tTCBilgi = Record
  TCKimlik ,
  adi      ,
  soyadi   ,
  dogumyili,
  cinsiyeti,
  anaadi   ,
  babaadi  ,
  il       ,
  ilce     ,
  mahalle  ,
  ciltno   ,
  aileno   ,
  bireyno  : String;
end;

Function  TCKimlikNoyaGore  ( TCNo:String ):tTCBilgi; StdCall;
External 'TCKimlik_ARMAN.dll';

Function  BireyNoyaGore( Ad, Soyad, il, ilce, CiltNo, AileSira, SiraNo : String) : tTCBilgi; StdCall;
External 'TCKimlik_ARMAN.dll';

Function  BabaAnneBilgisiyle( Ad, Soyad, il, ilce, Baba, Anne, Dogum, Cinsiyet : String) : tTCBilgi; StdCall;
External 'TCKimlik_ARMAN.dll';

Procedure IlDoldur( Liste : TStrings ); StdCall;
External 'TCKimlik_ARMAN.dll';

Procedure IlcelerDoldur( IlKodu:String; Liste:TStrings ); StdCall;
External 'TCKimlik_ARMAN.dll';

procedure TForm1.Button1Click(Sender: TObject);
Var
  Bilgi : tTCBilgi;
begin
  Bilgi := TCKimlikNoyaGore( Edit1.Text );
  ShowMessageFmt('%s %s (%s)', [Bilgi.adi, Bilgi.soyadi, Bilgi.dogumyili]);
end;
- Çalıştırmadan önce bu yeni projeyi bir klasöre kaydettir ve DLL'yi aynı klaösre kopyala. Hepsi bu... Aynı hata alıyor musunu teyid edelim... Bende hata vermiyor keza...

- Zaten aynı örnek pakete eklediğim uygulama projesinde de mevcut. Verse onda da hata verirdi. :roll:
Resim
Resim ....Resim
ozz_deniz
Üye
Mesajlar: 39
Kayıt: 16 Ağu 2003 11:32
Konum: Antalya

Yine Invalid Pointer Operation

Mesaj gönderen ozz_deniz »

Hocam Merhaba

Dediğinizi aynen yaptım, yeni klasörde yeni proje, dll i ekledim. aynı hatayı tekrar aldım,

varolan bir tckimlik no da bu hata geliyor,
rastgele birşey yazdığınızda gelmiyor.

Ayrıca try finally de hata yı handle etmiyor, yine Invalid Poineter Operation hatası geliyor.

Delphi7 sp1
Windows XP English

Saygılar.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

1. ZIP paket içindeki uygulama EXE'sini direkt çalıştır. Aynı uyarı gelecek mi bir bak.

2. Uyarı gelmezse, EXE'yi silip Uygulamanın projesini kullandığın Delphi sürümü ile aç ve çalıştır. Bir de öyle dene. Bu sefer uyarı geliyorsa Delphi ile ilgili bir hata diyebiliriz.
Resim
Resim ....Resim
ozz_deniz
Üye
Mesajlar: 39
Kayıt: 16 Ağu 2003 11:32
Konum: Antalya

Mesaj gönderen ozz_deniz »

Hocam tekrar merhaba

Aynen dediğiniz gibi oldu.
Sizin zip file içindeki exe hata vermedi.

BU durumda sizin kullandığınız delphi sürümü nedir?
Bendeki XP Pro English, Delphi 7,
Eğer aynı sürümü kullanıyorsak bir tavsiyeniz var mı?
Invalid Pointer Operation ne tip durumlarda gelir?
Araştırmaya ordan mı başlayım yoksa kaldırıp yeniden mi kurayım delphiyi? :(

Birde bu tc kimlik no dan sorgulamada sadece ad,soyad ve doğum yılı geliyor bu benden mi kaynaklanıyor, bilginin tamamını almanın bir yolu var mıdır?

Teşekkürler, Saygılar.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- T.C.Kimlik doğrulamasında sadece Ad, Soyad ve Doğum Tarihi gelmesi doğal. Nüfus İdaresi, TCKimlik nosundan öte bu kadarına müsade ediyor.

- Diğer bilgiler için Baba, Anne Adı, Cinsiyet, Doğum Tarihi bilmek veya Cilt, Sayfa, Sıra No bilmek gerekiyor. Bu iki grupdan bir grubu bilinirse diğer grubu cevap olarak alınabiliyor.

- Son bir teyid için uygulama projesinin exesini silerek yine uygulama projesini açıp denemiştin değil mi ?

- Deneyip de aynı sorunu yaşayan başka arkadaş yok sanırım. Yoksa söylerlerdi. Ben Delphi 7 ile yazmıştım ama Turbo Delphi kullanıyorum. Her ikisinde de sorunsuz çalışıyor.

- Göreceğin üzere herhangi bir Try Except bloğu da kullanmadık. Kullansaydık daha önceki başlıklarda gelen hatalar dahi görülemezdi. :idea:
Resim
Resim ....Resim
kamuran48
Üye
Mesajlar: 284
Kayıt: 29 Eyl 2003 09:27
Konum: muğla

Mesaj gönderen kamuran48 »

selam,
"invalid pointer operation" hatası alıyorum.
kolay gelsin.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

"Invalid Pointer Operation" hatası alanlar. bir de şunu denesinler.

PECompact ile sıkıştırmıştım az yer taşısın diye. Şimdi baştan derleyip derlenmiş halini yolladım.

Edit > Kaynak ZIP Yenilenmiştir

- ZIP dosya içeriğinde aynı DLL var ama biraz daha büyükçe. Siz bunu eskisinin üzerine yazıp tekrar deneyin bakalım sonuç değişecek mi ? Tek sebep bu PECompact sıkıştırmış olmam olabilir.
En son mrmarman tarafından 15 Mar 2007 11:25 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Resim
Resim ....Resim
kamuran48
Üye
Mesajlar: 284
Kayıt: 29 Eyl 2003 09:27
Konum: muğla

Mesaj gönderen kamuran48 »

sizin ilk eklediğiniz proje içindeki exe yi kullanarak sorgu yaptırdığımızda hiç sorun olmadan sonuç alıyorum.fakat gönderdiğiniz projeyi delphide çalıştırdığımda hata (Invalid Pointer Operation) aldığım gibi projenin exe side büyüyor.Bu arada sonuç döndükten sonra hata mesajı geliyor.iyi çalışmalar.
Cevapla