Tuesday, January 12, 2010

Safe Banking - Intel® AppUp

Gecen hafta Las Vegas'ta CES fuarında Intel, AppUp Beta'ya start verdi. Daha önceden bahsetmiş olduğumuz Safe Banking projeside, AppUp'in ilk programları arasına girdi. CES öncesi programa dahil olmamızdaki yardımlarından dolayı Intel Türkiye’ye çok teşekkür ederiz.

Intel® AppUp hakkinda daha fazla bilgi icin:shiftdelete, notebookplatformu, Intel

İlerleyen süreçte, AntiLogger ve yeni çıkacak olanürünlerimizi de bu platformda yayınlayacağız.

Intel® AppUp çok yakin zamanda Dell, Acer ve ASUS gibi bilgisayarlar ile pre-installed geleceğinden çok fazla kullanıcıya hitap edecektir. AppUp'i, linuxteki paket(depo) yönetim sistemi yada iphone store'a benzetebilirsiniz.

Intel® AppUp'a uygulama yüklemek isteyenler, iADP developer programına üye olmalı ve oluşturduğunuz uygulamaya ait bir tanımlayıcı GUID alıp bunu ücretsiz olarak indireceğiniz iADP SDK ile programınıza uygulamalısınız. Uygulamanızın bittiğinde Intel tarafından uyumluluk ve SDK implemasyonu kontrol edilecek ve onaylanırsa mağazada yayımlanmaya başlayacak.

SDK'yi ve gereksinimleri adapte etmek çok kolay oluyor, çünkü iADP developer programında, SDK ile ilgili çok zengin bir dokümantasyon,ornek kodlar, videolar ve bunun yanında programcıların haberleştiği forumlar var hatta bu platform ile ilgili birçok Intel developer blogger var.

Tek sorun, iADP SDK, sadece native programlar ve MS Visual Studio C++ derleyicisi ile kullanılabiliyor ve ayni zamanda sadece static lib'lerden oluşuyor. Bu durum şimdilik diğer platformlarda program geliştirenler icin biraz sorun oluşturuyor. Ancak SDK'nin ileriki sürümlerinde bu problemi gidereceklerdir.

Bizimde, uygulama geliştirme platformumuzun Borland C++oldugundan bu durum biraz sorun oluşturdu, bu sorunu kısaca nasıl atlattığımızı açıklamak isteriz ki, bizim gibi Borland C++ ya da native delphi ile uygulama geliştiricilerine de fikir vermiş olalım.

Borland, yeni ismi ile Embarcadero C++, static lib dosyalarında OMF formatını kullanıyor, MSVC ise COFF formatını kullanıyor bu yüzden, iADP SDK lib dosyalarını include edemiyoruz ve lib dosyalari static olduğu için OMF formatına convert edilemiyor.

Bu nedenle iADP tanımlama ve onay bolumu için MSVC++ ile dynamic bir DLL dosyası oluşturduk. Bu dosyayı da resource olarak ana programımıza gömdük, ana program çalıştığında bu dosyayı hafızaya yüklüyor ve Import ,Export ve Relocations tablolarını fix ediyor, ardından DLL entrypoint'i çağırıyor ve ondan sonra ilgili export fonksiyonları ile authorization işlemlerini yapıyor. DLL'i disk üzerinden çağırmak yani ayri bir DLL dosyası olarak kuruluma dahil etmek, platformda kabul edilmiyor.

Burada dikkat edilmesi gereken, borland'in standart olarak urettigi manifest yerine Microsoft CRT pathlarin belirtildigi bir manifest dosyasının kullanılması çünkü DLL ve SDK, MS CRT rumtime dll'lerini kullanıyor.







1 comment:

  1. Kateorilerdeki en iyi programlarada ödül var sanırım. Güvenlik alanında Safe Banking başarılı olur umarım.

    SDKya masm desteği verseler bende belki bişeyler yapmaya çalışırdım ama bu ihtimal uzak görünüyor.

    ReplyDelete