- 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.
- Dinamik demekle kasıt, önce Captcha Kod ne ise onun kodu çözümlüyor ondan sonra sorgulamaya başlıyor...
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';
// 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;
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;
- 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...