Çağrı öykünmesi ne anlama geliyor? öykünme nedir? Öykünme programı. Çağrı öykünmesi - nedir bu? Donanım ve yazılım / donanım emülasyonu

  • 06.11.2019

Hedefler

  • Yeni bir mikroişlemci/mikrodenetleyici oluşturulması. Bu durumda emülatör (program veya cihaz) kullanılarak bu işlemcinin komutları yürütülür.
  • Başka bir cihaz veya işletim sistemi için yazılmış yazılımı da çalıştırma ihtiyacı.
  • Çeşitli sistemler için yazılmış test programları.

Donanım ve yazılım / donanım emülasyonu

Bir donanım-yazılım kompleksi durumunda, emülatör, kart şeklinde yapılmış özel bir elektronik cihazdır.

Yazılım öykünmesi

Öykünme, bir bilgisayar programının farklı bir platformda (bilgisayar mimarisi ve/veya işletim sistemi) çalışmasına izin verir; bu, orijinal olarak yazıldığı platformdan farklı veya bazı durumlarda aynıdır. Bu yürütme işleminin kendisine öykünme de denir. Yalnızca programın davranışını yeniden üreten simülasyondan farklı olarak, öykünme sırasında amaç, orijinal makine kodunu yürütmek için benzetilmiş sistemin durumunu doğru bir şekilde simüle etmektir.

Üst düzey dilleri kullanırken, bazen yürütülebilir programın performansını korumak için öykünme yerine programları yeni bir ortama taşırlar. Bu durumda, kodun donanıma bağlı bölümleri yeniden yazılır.

Öykünmenin popüler kullanımlarından biri, kişisel bir bilgisayarda slot makineleri veya oyun konsolları için yazılmış oyunları çalıştırmaktır.

Belirli bir donanım platformunun oldukça eksiksiz bir öykünmesi, bireysel saat döngüleri, belgelenmemiş özellikler ve hatta uygulama hataları düzeyine kadar aşırı hassasiyet gerektirir. Bu, yazılımı büyük ölçüde programlama kararlarına bağlı olan Commodore 64, ZX Spectrum gibi klasik ev makineleri modelleri için özellikle önemlidir. Belirli bir çözümün seçimi, örneğin oyun programcıları ve demoscene meraklıları tarafından kullanılan optimizasyon amacıyla (program yürütme boyutu veya hızı açısından) yapılır. Bu tür programlar genellikle işlemcinin veya işletim sisteminin belgelenmemiş yeteneklerine dayanır.

Buna karşılık, diğer bazı platformlarda, donanıma doğrudan erişim nispeten az kullanılmıştır. Bu durumda, öykünülmüş sistemin sistem çağrılarının çalışan sistemin çağrılarına çevrilmesini sağlayan bir miktar uyumluluk sağlamak için yeterli olduğu ortaya çıkıyor.

Genellikle öykünücü, öykünülmüş bilgisayarın çeşitli alt sistemlerinden sorumlu birkaç modülden oluşur. Çoğu zaman, öykünücü şunlardan oluşur:

  • merkezi işlemcinin emülatörü veya simülatörü;
  • RAM ve ROM'u taklit eden bellek alt sistemi modülü;
  • çeşitli giriş-çıkış cihazlarının öykünmesi için modül veya modüller.

Sistem veriyolu genellikle basitlik veya performans nedenleriyle öykünmez ve sanal çevre birimleri doğrudan CPU ve bellek modüllerine erişir.

Ayrıca bakınız

Notlar (düzenle)

Edebiyat

  • A. Aganichev, D. Panfilov, M. Plavich, O. Polyansky. MOTOROLA'nın MC68HC11 mikro denetleyicilerine dayalı MP sistemlerinde hata ayıklamak için donanım ve yazılım kompleksi
  • Shagurin I., Brodin V., Kalinin L., Tolstov Yu., Petrov S., Isenin I., Eidelman S., Vanyulin V. Motorola'dan MK'ya dayalı kontrol sistemlerinin tasarım ve hata ayıklama araçları.

Bağlantılar


Wikimedia Vakfı. 2010.

Eş anlamlı:
  • Andrey
  • Jeofizik

Diğer sözlüklerde "Öykünme" nin ne olduğunu görün:

    öykünme- işlevsellik kaybı ve sonuçların bozulması olmadan bir sistemin çalışmasının bir diğeri aracılığıyla taklit edilmesi. Öykünme, yazılım ve/veya donanım tarafından gerçekleştirilir. Ayrıca bakınız: Program Yürütme Finam Finansal Kelime Bilgisi ... finansal kelime hazinesi

    öykünme- Simülasyon cihazının aynı verileri algıladığı, aynı programı yürüttüğü ve aynı sonucu elde ettiği bir bilgisayarın başka bir cihazı veya cihazları vasıtasıyla bir cihazın işleyişinin simülasyonu ... ... Teknik çevirmen kılavuzu

    öykünme- [İng. öykünme rekabeti, rekabet] rekabet, rekabet, alt etme arzusu Yabancı kelimeler sözlüğü. Komlev N.G., 2006 ... Rus dilinin yabancı kelimeler sözlüğü

    öykünme- isim, eş anlamlı sayısı: 3 rekabet (8) taklit (25) rekabet (21) ... eşanlamlı sözlük

    öykünme- ve, w. öykünme f. Emülasyona Bakın... Rus Galyacılığının Tarihsel Sözlüğü

    öykünme- emuliacija statusas T sritis automatika atitikmenys: angl. öykünme vok. Öykünme, f rus. öykünme, f pranç. emülasyon, f… Automatikos terminų žodynas

    öykünme- 53. Öykünme Öykünmesi Simülatörün aynı verileri algıladığı, aynı programı yürüttüğü ve aynı şeyi başardığı bir aygıtın başka bir aygıt veya bir bilgisayarın aygıtları tarafından çalışmasının simülasyonu ... ... Normatif ve teknik dokümantasyon terimlerinin sözlük referans kitabı

    öykünme- kuyu. Her şeyde birbirini geçme arzusu; rekabet. Efremova'nın Açıklayıcı Sözlüğü. T.F. Efremova. 2000... Efremova'nın Rus dilinin modern açıklayıcı sözlüğü

    öykünme- öykünme ve ... Rusça yazım sözlüğü


Peki emülatör nedir ve buna ne için ihtiyacımız var? Telefonumuz için yüzlerce program veya tema indirdiğimiz durumlar var, ancak bunlardan tam olarak bizi en çok memnun edecekleri seçmek istiyoruz. Bu gibi durumlarda uygulamaları (temaları) test etmek için bir telefon öykünücüsüdür. Nokia S40 platformu üzerine inşa edilmiş, acilen ihtiyacımız olacak.

Basit bir ifadeyle, öykünücü- Bu, telefonumuzun arayüzü ile aynı, sadece bilgisayarda görüntüleniyor. Program bunları telefonunuza indirmeden kontrol etmenizi sağlar. Ayrıca 1.1 sürümünden itibaren swf görmenizi sağlar. ve daha yüksek, programın kendisi Nokia S40 ThemeStudio_2.2 (S40 3. baskı) için temalar oluşturmak için görmüyor.

Emülatörün bir bilgisayarda tam olarak çalışabilmesi için içerisinde bulunan jre-1_5_0_16-windows-i586-p programını indirmeniz gerekmektedir.

Doğrudan emülatör ile çalışarak neler görebildiğimize ve kontrol edebileceğimize daha yakından bakalım. Temayı programda açtıktan sonra, yeni tasarımda telefon arayüzünün tüm unsurlarını detaylı olarak görebileceğiz. Emülatör, yalnızca ana (ana) ekranı görmenizi değil, aynı zamanda tüm sekmeleri ve tasarım öğelerini ayrıntılı olarak incelemenizi sağlar.

İhtiyacınız olan temayı emülatöre yüklemek için programın ana panelindeki sekmeye tıklayın. Dosya ve açılır menüden sekmeyi seçin Açık .

Not... Emülatörün düzgün çalışması için Nokia temasının adının Latince veya rakamlarla olması gerektiğini unutmayın.

Emülatör, yalnızca istediğiniz sürümü seçmeniz gereken forum.nokia adresinde bulunabilir. Örneğin, yeni telefonlar için Nokia Series 40 5. Edition SDK'yı (47MB) seçin.

Not: Ek bileşenleri indirmeden önce, Nokia telefonunuzun hangi S40 platformunun üzerine kurulu olduğunu kontrol edin.

Programın kaydı, programın kaydı ile aynıdır. Nokia S40 ThemeStudio_2.2(S40 3. baskı). Bunun nasıl yapıldığını makalede okuyabilirsiniz.


RU 2514141 patentinin sahipleri:

Teknoloji alanı

Buluş, virüsten koruma çözümleriyle ve daha özel olarak, öykünme önleme araçlarını atlamak için sistem işlev çağrılarını öykünme yöntemleriyle ilgilidir.

Teknoloji harikası

Kötü niyetli olanlar da dahil olmak üzere modern programların kodu, karmaşık bir talimat dizisidir: atlamalar, çağrılar, döngüler vb. Yürütülebilir dosyaların karmaşıklığının, üst düzey programlama dillerinin artan popülaritesinin yanı sıra bilgisayar teknolojisi ve işletim sistemlerinin artan karmaşıklığı ile ilişkili olarak sürekli arttığına dikkat edilmelidir. Bu, hem güvenilir uygulamalar hem de kötü amaçlı olanlar için geçerlidir. Kötü amaçlı uygulamalar, parolaları ve diğer gizli kullanıcı verilerini çalmak, DDoS saldırıları gerçekleştirmek veya spam göndermek için bir bilgisayarı bir botnet'e bağlamak, şantaj amacıyla sistemin doğru çalışmasını engellemek gibi bir dizi tipik eylemi gerçekleştirebilir. kullanıcının bakış açısından olumsuz ve istenmeyen eylemler. ...

Potansiyel olarak kötü amaçlı bir programı araştırma yöntemlerinden biri, bir anti-virüs uygulaması tarafından uygulamanın davranışını analiz etmek için kullanılan bir öykünücünün kullanılmasıdır. Öykünmenin çeşitli yolları vardır. Bunlardan biri, işlemci kayıtlarının, belleğin ve bir dizi işlemci talimatının sanal kopyalarını oluşturarak yazılımdaki bir işlemciyi, belleği ve diğer aygıtları simüle etmektir. Böylece, program talimatları gerçek bir işlemcide değil, sanal kopyasında yürütülür ve sistem API işlevlerine yapılan çağrılar, işlevin öykünülmüş sonucunu öykünür ve geri gönderir.

Kötü amaçlı yazılım oluşturucular, program kodunun öykünmesine karşı koymak için öykünme süreci ve öykünücünün antivirüs çözümlerinde uygulanmasıyla ilgili kısıtlamalara dayalı olabilecek çeşitli hileler kullanır. Bu tür bir yaklaşım, program koduna kötü amaçlı bir bileşen taşımayan, ancak taklit edilmesi zaman alan çok sayıda talimat eklemektir. Program kodunun öykünmesi için ayrılan sürenin kullanıcıyı rahatsız etmemek için sınırlı olduğu (kural olarak, bu süre birkaç saniye olabilir) göz önüne alındığında, öykünme işlemi, gerçekten kötü niyetli kod yürütülmeye başlamadan önce durabilir. Bu anti-emülasyon yaklaşımıyla mücadele etme yöntemlerinden biri, çalışma şekli gerçek bir işlemci üzerinde bir dizi talimatın yürütülmesini içeren ve bilinmeyen uygulamaları taklit etme sürecini önemli ölçüde hızlandıran US7603713 patentinde açıklanmıştır. kötü amaçlı kodun kendisi. US20110225655'te açıklanan başka bir yaklaşım, öykünmeye direniyorsa bir uygulamayı şüpheli olarak tanımlamayı düşünüyor. Bu yaklaşım, güvenli (meşru) bir uygulamanın, kural olarak, öykünücüde yürütmenin imkansızlığı hakkında bir uyarı göstermesi, kötü niyetli olanın yürütmeyi sessizce tamamlaması veya yürütme vektörünü (mantığını) aniden değiştirmesi gerçeğine dayanmaktadır.

Öykünmeye karşı koymanın başka bir yolu, uygulamanın şu anda gerçek işletim sisteminde değil öykünücüde çalıştığını belirlemeye dayanır. Öykünücünün, aynı işlemcinin veya sistem API işlevlerinin tüm yeteneklerinin tam olarak yeniden oluşturulması imkansız olduğundan, işlemcinin, bilgisayar bileşenlerinin ve işletim sisteminin (OS) yalnızca sınırlı bir hacimde azaltılmış yeteneklerle sanal bir kopyasını oluşturduğuna dikkat edilmelidir. birkaç nedenden dolayı: böyle bir geliştirme için büyük işçilik maliyetleri , belgelenmemiş işlevlerin varlığı, böyle bir emülatörle çalışırken performansta büyük bir düşüş. Bu nedenle, kötü amaçlı yazılım oluşturucular, öykünülmüş bir ortamda yürütme gerçeğini tespit etmek için aşağıdaki teknikleri kullanabilir:

Belgelenmemiş veya nadiren kullanılan bir API işlevinin çağrılması.

Merkezi işlemciden bir dizi talimatın yürütülmesi, ardından örneğin bir dizi set bayrağının doğrulanması. İşlemci talimatlarının öykünmesi yeterince doğru değilse, bir dizi bayrak, işlemcide yürütüldüğünde ayarlanmış olanlardan farklı değerlere sahip olabilir.

API işlevi yürütmesinin doğruluğunu kontrol etme. Kontrol çok karmaşık olabilir ve yanlış bir çağrı için döndürülen hata kodlarının analizini veya ayarlanmış işlemci kayıtlarını kontrol etmeyi içerebilir.

Belirli baytlar için bellekte arama yapın. Örneğin, işlemin başlangıcında kernel32.dll'yi yükledikten sonra bellekte MZ başlığı için bir bayt araması. Vista 64'te kernel32.dll için 64Kb hizalama kullanılır ve başlık ile ilk bölüm arasındaki alan işlemin adres alanına eşlenmeyecek ve buna erişmeye çalışırken bir istisna atılacaktır. Günlüğe özel durum kaydedilmediyse, standart işletim sistemi istisna işleyicisi çağrılır ve işlem sonlandırılır.

İkinci yaklaşım, mevcut öykünücüleri sürekli olarak atlamanıza izin verdiği için her yerde kullanılır; yukarıda açıklanan nedenlerle her API işlevinin doğru öykünmesini uygulamak imkansızdır.

Önceki tekniğin analizi ve tek bir sistemde birleştirildiğinde ortaya çıkan fırsatlar, yeni bir sonuç almanıza ve öykünme önleme araçlarını atlamak için sistem işlev çağrılarını taklit etme yöntemini kullanarak kötü amaçlı uygulamaların tespit kalitesini artırmanıza olanak tanır.

Buluşun özü

Mevcut buluşun teknik sonucu, sistem fonksiyon çağrılarını taklit etme yeteneği sağlamaktır.

Bir düzenlemeye göre, anti-emülasyon araçlarını atlamak için sistem fonksiyon çağrılarını taklit etmek için bir yöntem sağlanır, bu yöntemde: yürütülebilir bir dosya öykünücüye bir girdi olarak alınır; sistem işlevi çağrılarını taklit etme gereksiniminin durumunu kontrol edin; yukarıdaki koşullardan en az biri karşılandığında, sistem çağrılarının öykünmesi kullanılır; talimatların sıralı yürütülmesine göre yürütülebilir bir dosyanın yürütülmesini taklit etmek; bir sistem işlevine yapılan bir çağrının algılanması üzerine, sistem çağrılarını taklit etmek için öykünme sürecini değiştirin; düşük seviyeli aramalar zinciri şeklinde bir sistem işlevine bir çağrıyı taklit eder.

Özel uygulamalardan birine göre, sistem işlev çağrılarının öykünmesi gereksiniminin koşulu, yürütülebilir dosyanın öykünmesinin hızlı bir şekilde tamamlanmasıdır.

Başka bir özel düzenlemeye göre, sistem işlev çağrılarının öykünmesi için gereksinim, öykünme süresinde bir sınırlama olmamasıdır.

Özel uygulama seçeneklerinden bir diğerine göre, sistem işlev çağrılarını taklit etme gereksiniminin koşulu, anti-virüs uygulamasından bilinmeyen dosya hakkında bilgi olmamasıdır.

Belirli düzenlemelerden birine göre, talimatların sıralı yürütülmesi, en azından hem koşullu hem de koşulsuz tüm geçişlerin yürütülmesinin yanı sıra yürütülebilir dosya içindeki çeşitli işlevlerin çağrılmasıdır.

Başka bir özel uygulamada, düşük seviyeli çağrı bir montaj dili talimatıdır.

Özel uygulamalardan bir başkasına göre, düşük seviyeli bir çağrı, ilgili tüm sistem fonksiyonlarının sıralı bir çağrısıdır.

Özel düzenlemelerden birine göre, sistem işlev çağrısının öykünmesi, çekirdek moduna geçiş üzerine sonlandırılır.

Çizimlerin Kısa Açıklaması

Mevcut buluşun ek amaçları, özellikleri ve avantajları, ekteki çizimlere atıfta bulunularak, buluşun bir düzenlemesinin aşağıdaki açıklamasının okunmasından açıkça anlaşılacaktır, burada:

Şekil 1, bir API işlev çağrısını işlerken klasik bir öykünücünün bir örneğini gösterir.

Şekil 2, bir Windows işletim ortamında bir API işlevinin yürütülmesine ilişkin bir örneği gösterir.

Şekil 3, mevcut buluşun kapsamı dahilinde API çağrılarını taklit etmek için bir yöntemi göstermektedir.

4, mevcut buluşun uygulanabileceği bir sistemi gösterir.

Şekil 5, mevcut buluşun uygulanması için bir yöntemi göstermektedir.

6, mevcut buluşun uygulanabileceği genel amaçlı bir bilgisayar sisteminin bir örneğidir.

Buluşun düzenlemelerinin açıklaması

Mevcut buluşun amaçları ve özellikleri, bu amaçlara ve özelliklere ulaşmak için yöntemler, örnek uygulamalara atıfta bulunularak açık hale gelecektir. Bununla birlikte, mevcut buluş, aşağıda açıklanan örnek uygulamalarla sınırlı değildir ve çeşitli biçimlerde somutlaştırılabilir. Tarifnamede belirtilen öz, teknikte uzman bir kişinin buluşun kapsamlı bir şekilde anlaşılmasına yardımcı olmak için sağlanan belirli ayrıntılardan başka bir şey değildir ve mevcut buluş, yalnızca ekteki istemlerin kapsamında tanımlanır.

Şekil 1, bir API işlev çağrısını işlerken klasik öykünücü işleminin bir örneğini gösterir. Gerçek bir işletim sisteminde bir uygulama çalışırken bir API işlevi çağrıldığında, işletim sistemi, işletim sisteminin karmaşık iç mimarisiyle ilişkili çok sayıda eylem gerçekleştirir. Şematik olarak, bir API işlevine yapılan bir çağrı, işlemci üzerinde çok sayıda talimatın yürütülmesine yol açar, ardından çağrılan API işlevinin sonucu uygulamaya döndürülür. Öykünücü çalışırken, API işlevinin çağrılması, gerçek işletim sistemindekiyle aynı bir dizi talimatın yürütülmesine yol açmaz, bunun yerine uygulama, API işlevinin benzetilmiş sonucunu döndürür. Örneğin, bir dosya oluşturmaya çalışırken öykünücü, sanal bir dosyaya bir işaretçi döndürür. Bununla birlikte, çalışmanın genel sonucuna rağmen (örneğin, bir dosyaya bir işaretçi döndürme), çağrılan API işlevinin sonucu, API işlevi çağrıldığında, işletim sisteminde ve öykünücüde farklılık gösterebilir. , örneğin, öykünücü çalışırken yansıtılmayacak olan bazı işlemci kayıtları değiştirilebilir. Bu tutarsızlık, öykünmeye karşı koymak için ve öncelikle kötü amaçlı yazılımlar tarafından kullanılabilir.

Şekil 2, bir Windows işletim sisteminde bir API işlevinin yürütülmesine ilişkin bir örneği gösterir. Bir API işlevi örneği olarak WriteFile seçilmiştir. Blok 210'da, bir Windows uygulaması (Microsoft Word veya Not Defteri gibi), Kernel32.dll'deki uygun Win32 API WriteFile işlevini çağırarak bir dosyaya veri yazmaya çalışır. Ardından, blok 220'de, Ntdll.dll'de NtWriteFile çağrılır (yani, tüm ilgili sistem işlevleri sırayla çağrılır), bu da sırayla blok 230'da bir sistem kesme çağrısı ve uygun işleyicinin aranmasıyla sonuçlanır (bu, Ntoskrnl.dll dosyasında KiSystemService işlevi ) NtWriteFile çağrılırken. Bu işlemin kullanıcı modunda gerçekleştiğine ve kesme çağrıldıktan sonra çekirdek moduna geçiş gerçekleştiğine dikkat edin. 240 bloğunda, NtWriteFile doğrudan Ntoskrnl.dll içinde çağrılır ve dosya doğrudan blok 250'ye yazılır (dosya sistemi sürücüsünün çalışmasıyla ilgili ayrıntılar da burada gizlidir). Buna dayanarak, modern işletim sistemlerinde bir API işlevi bile çağrıldığında, uygulama yürütme geçişi de dahil olmak üzere çok sayıda işlemin (yani, işletim sisteminin kendisini dikkate alma çerçevesinde daha düşük seviyeli olaylar) gerçekleştiği açıktır. kullanıcı modundan çekirdek moduna. Bu işlemler, montaj dilinde talimatların yürütülmesi açısından ele alındığında, tüm işlemci kayıtlarının durumunu ve hepsinin durumunu hesaba katma ihtiyacı nedeniyle bir API işlev çağrısını doğru şekilde taklit etmenin çok zor olduğu ortaya çıkıyor. dahili işletim sistemi yapıları.

Daha önce belirtildiği gibi, kötü amaçlı yazılım yaratıcıları, uygulamanın öykünücüde çalışıp çalışmadığını belirlemek için CPU kayıtlarını kontrol etmek de dahil olmak üzere API işlevinin doğruluğunu kontrol etmek için çeşitli seçenekler kullanabilir. Bu nedenle, böyle bir kontrolü atlamak (veya daha doğrusu geçmek) için mevcut buluş, makine kodu talimatlarına göre çağrılan tüm fonksiyonların yürütülmesi için bir yöntem önerir.

Şekil 3, mevcut buluşun kapsamı dahilinde API çağrılarını taklit etmek için bir yöntemi göstermektedir. Blok 310'da, uygulamanın klasik öykünmesi, örneğin Not Defteri uygulamasının öykünmesi durumunda olduğu gibi gerçekleşir (OllyDbg hata ayıklayıcısında hata ayıklarken uygulama kodunun küçük bir parçası gösterilir):

MOV, PUSH, SUB, LEA ve benzeri gibi talimatlar olduğu gibi taklit edilecektir, yani. öykünücüde sanal bir işlemci kullanarak montaj talimatlarını öykünerek. Aşağıdaki gibi bir işleve (blok 320'de belirlenir) bir API çağrısı gerçekleştiğinde

daha sonra böyle bir çağrının öykünmesi, örneğin Şekil 2'de gösterildiği gibi tüm iç içe çağrıları hesaba katarak makine talimatlarına (blok 330) göre gerçekleşir. Adım 340'da kontrol edilecek olan API işlevinin yürütülmesi sırasında çekirdek moduna geçişe ulaşıldığında, öykünme standart (normal, klasik) moda, yani. sonraki çağrılar, her talimat için sırayla işlenmez, ancak yalnızca işlev çağrısının sonucu döndürülür. Bundan sonra yöntem, daha fazla öykünme için adım 350'den adım 310'a döner.

4, mevcut buluşun uygulanabileceği bir sistemi gösterir. Kullanıcının bilgisayarında, olası zararlılığı gerçeğini belirlemek için öykünmesi gereken bilinmeyen bir yürütülebilir dosya 410 olduğunu varsayalım. Yürütülebilir bir dosyanın yalnızca PE veya ELF biçimindeki yürütülebilir dosyalar olarak değil, aynı zamanda .class veya .jar dosyaları (Java sanal makinesinde yürütmek için), çeşitli komut dosyası gibi çeşitli kodlar içeren diğer dosyalar olarak anlaşılması gerektiği açıklığa kavuşturulmalıdır. .vbs ve diğerleri gibi dosyalar. Dosya 410'un kendisi, sıralı öykünmesi dosya 410'un yürütülmesini yeniden üreten yönergeler 420'yi içerir. Sıralı öykünmenin, diğer şeylerin yanı sıra, hem koşullu hem de koşulsuz tüm geçişlerin yanı sıra çeşitli işlevlerin çağrılmasını da içerdiğine dikkat edin. yürütülebilir dosya 410 içinde. Sıralı emülasyonda, her talimat 420, emülatör 405 içindeki talimat ayrıştırma modülünün 430 girişine girerken, bu modül talimatın bir sistem API fonksiyonuna çağrı olup olmadığını ve yanıtın olumlu olup olmadığını belirler, öykünücü 405, bu işlevin çağrısını (450 olarak gösterilir), örneğin Şekil 2'de gösterildiği gibi bir alt düzey olaylar zinciri olarak öykünür (yani, çekirdek moduna girmeden önce Şekil 2'deki adımlar 210-230). ). Aksi takdirde, 405 öykünücüsü, yürütmesini klasik öykünme (440 olarak gösterilir) çerçevesinde öykünür, yani. işlevin öykünülmüş sonucunu döndürür (yani, Şekil 2'de işaretlenen tüm aşamaları öykünmeden). Bazı durumlarda, klasik öykünme 440'da olduğu gibi, bir API işlevini çağırma talimatı öykünebilir. Örneğin, düşük seviyeli gösterimdeki URLDownloadToFile işlevi, TCP / IP sürücüsüne karmaşık bir çağrı zinciri içerir. ve böyle bir zincirin sıralı öykünmesi pratik olmayabilir ... Bir düzenlemede, sistem çağrılarının öykünmesini kullanmanın uygunluğu, örneğin belirli çağrıların öykünmesinin hızı hakkında bilinen bilgilere dayanarak talimat ayrıştırma modülü (430) tarafından belirlenir.

Şekil 5, mevcut buluşun uygulanması için bir yöntemi göstermektedir. Blok 510'da, kullanıcının bilgisayarında yürütülebilir dosya 410'a öykünme girişiminde bulunulur. 520 bloğunda, sistem API işlevlerinin öykünmesinin gerekli olup olmadığı kontrol edilir.

Sistem işlevlerini taklit etmek için gereksinimler:

İlk öykünme çok hızlı bir şekilde ve kullanıcıyı uyarmadan tamamlandı. Bu genellikle, uygulamanın, genellikle tehlikeli programlar tarafından yapılan, kullanıcıyı bu konuda bilgilendirmeden öykünücüde çalıştığını algıladığı anlamına gelir.

Yürütülebilir dosya 410'un daha derin bir öykünmesinin gerçekleştirilmesi gerekir. Bu, yürütülebilir dosya 410 ile daha önce karşılaşılmamışsa olur, bu, öykünücünün çalıştığı antivirüs uygulamasından bilinmeyen dosya hakkında hiçbir bilgi olmadığı anlamına gelir ( yani, kötü amaçlı veya güvenli bir uygulama olarak sınıflandırılmaz ve anti-virüs uygulamasının veritabanlarında yer almaz).

Klasik öykünücü, öykünme karşı koyma yöntemlerini saptadı, örneğin: kasıtlı olarak yanlış parametrelerle API işlevlerine yapılan çağrılar, ardından hata durumu (kod), API işlevlerini çağırdıktan sonra geçici kayıtları kontrol etme, sistem modüllerinin içeriğini tarama, bir hata ayıklayıcı algılama girişimleri sistemde, sanal bir makine (RedPill) altında yürütmeyi algılamak için standart yöntemleri çağırır.

Kendinden ambalajını açma veya kendini savunma tekniklerinin (paketleyiciler ve koruyucular) kullanımının tespiti.

Mevcut tüm kitaplıklar ve yorumlayıcılarla (örneğin, .NET veya Java) kullanıcının işletim sisteminin bir parçası olarak potansiyel olarak kötü amaçlı bir uygulamayı taklit etme ihtiyacı. Ayrıca, önerilen öykünme yöntemi, .bat veya .cmd uzantılı bir toplu iş dosyası, powershell komut dosyaları, kayıt defterine veri girmek için reg dosyaları ve başlatıldığı diğer dosya türleri gibi toplu iş ve kontrol dosyalarını taklit etmenize olanak tanır. kullanıcının bilgisayarında yürütme koduna yol açar.

Öykünme süresi kesinlikle sınırlı değildir, örneğin, uygulama ilk kez analiz edildiğinde tipik olan, onlarca saniye, hatta birkaç dakika veya daha fazla olabilir.

Bu gereksinimlerden en az birinin karşılanması, Şekil 4'te gösterildiği gibi makine talimatları üzerinden API işlevlerini taklit etmek için blok 530'da sistem çağrılarının (450) öykünmesiyle sonuçlanır. Aksi takdirde, blok 540'ta sadece klasik öykünme 440 kullanılır.Bu tür gereksinimlerin kullanılması, API işlevlerini uygun şekilde öykünme ihtiyacı nedeniyle ek yük ile ilişkili kullanıcı hoşnutsuzluğuna neden olmadan, virüsten koruma uygulaması içindeki öykünme sürecinde daha fazla esneklik sağlar. makine talimatlarına.

Şekil 6, bir merkezi işlem birimi 21, bir sistem belleği 22 ve merkezi işlem birimi ile bağlantılı bellek dahil olmak üzere çeşitli sistem bileşenlerini içeren bir sistem veriyolu 23 içeren genel amaçlı bir bilgisayar sistemi, bir kişisel bilgisayar veya sunucu 20'nin bir örneğini göstermektedir. 21. Sistem veri yolu 23, sırasıyla bir veri yolu belleği veya bir veri yolu bellek kontrolörü, bir çevresel veri yolu ve herhangi bir başka veri yolu mimarisi ile arayüz oluşturabilen bir yerel veri yolu içeren önceki teknikten bilinen herhangi bir veri yolu yapısı olarak uygulanmaktadır. Sistem belleği, salt okunur bellek (ROM) 24, rasgele erişim belleği (RAM) 25 içerir. Ana giriş/çıkış sistemi (BIOS) 26, örneğin, kişisel bilgisayarın 20 öğeleri arasında bilgi aktaran temel prosedürleri içerir. ameliyathane yükleme süresi ROM 24 kullanan sistemler.

Kişisel bilgisayar 20, sırasıyla, verileri okumak ve yazmak için bir sabit disk 27, çıkarılabilir manyetik diskleri 29 okumak ve bunlara yazmak için bir manyetik disk sürücüsü 28 ve çıkarılabilir optik diskleri okumak ve bunlara yazmak için bir optik sürücü 30 içerir. CD-ROM, DVD-ROM ve diğer optik ortamlar. Sabit disk 27, manyetik disk sürücüsü 28, optik sürücü 30, sırasıyla sabit disk arabirimi 32, manyetik disk arabirimi 33 ve optik sürücü arabirimi 34 yoluyla sistem veriyoluna 23 bağlanır. Sürücüler ve ilgili bilgisayar depolama ortamları, bilgisayar talimatları, veri yapıları, program modülleri ve bir kişisel bilgisayarın 20 diğer verileri için kalıcı depolama ortamlarıdır.

Mevcut tarifname, bir sabit disk 27, bir çıkarılabilir manyetik disk 29 ve bir çıkarılabilir optik disk 31 kullanan bir sistemin bir uygulamasını açıklamaktadır, ancak, bir bilgisayarda veri depolayabilen diğer tipteki bilgisayar depolama ortamlarının 56 olduğu anlaşılmalıdır. denetleyici 55 aracılığıyla sistem veriyoluna 23 bağlanan okunabilir form (katı hal sürücüleri, flash bellek kartları, dijital diskler, rastgele erişimli bellek (RAM), vb.).

Bilgisayar 20, kayıtlı işletim sisteminin 35 ve ayrıca ek yazılım uygulamaları 37, diğer program modülleri 38 ve program verileri 39'in depolandığı bir dosya sistemine 36 sahiptir. giriş cihazları (klavye 40, manipülatör " fare "42). Diğer giriş aygıtları kullanılabilir (gösterilmemiştir): mikrofon, joystick, oyun konsolu, tarayıcı vb. Bu tür giriş aygıtları geleneksel olarak bilgisayar sistemine (20) bir seri bağlantı noktası (46) aracılığıyla bağlanır, bu da sistem veriyoluna bağlanır, ancak başka bir şekilde, örneğin bir paralel bağlantı noktası, bir oyun bağlantı noktası veya evrensel bir bağlantı noktası kullanılarak bağlanabilir. seri veri yolu (USB). Bir monitör 47 veya başka tipte bir görüntüleme cihazı, bir video adaptörü 48 gibi bir arayüz vasıtasıyla 23 sistem veri yoluna da bağlanır. hoparlör, yazıcı ve benzeri olarak.

Kişisel bilgisayar 20, diğer veya daha fazla uzak bilgisayarla 49 bir ağ bağlantısı kullanarak ağ ortamında çalışabilir. Uzak bilgisayar (veya bilgisayarlar) 49, daha önce bahsedilen öğelerin çoğuna veya tümüne sahip olan aynı kişisel bilgisayarlar veya sunuculardır. varlığın açıklaması, Şekil 6'da gösterilen kişisel bilgisayar 20. Yönlendiriciler, ağ istasyonları, eşler arası cihazlar veya diğer ağ düğümleri gibi başka cihazlar da bir bilgisayar ağında bulunabilir.

Ağ bağlantıları bir yerel alan ağı (LAN) 50 ve bir geniş alan ağı (WAN) oluşturabilir. Bu tür ağlar kurumsal bilgisayar ağlarında, şirketlerin iç ağlarında kullanılır ve kural olarak İnternet'e erişimi vardır. LAN veya WAN ağlarında, kişisel bilgisayar 20, bir ağ bağdaştırıcısı veya ağ arabirimi 51 aracılığıyla yerel ağa 50 bağlanır. Ağları kullanırken, kişisel bilgisayar 20, bir modem 54 veya geniş alan ağı ile iletişim sağlamak için aşağıdaki gibi başka araçlar kullanabilir. internet. Dahili veya harici bir cihaz olan Modem 54, bir seri bağlantı noktası 46 aracılığıyla sistem veriyoluna 23 bağlanır. Ağ bağlantılarının yalnızca örnek niteliğinde olduğu ve ağın tam konfigürasyonunu yansıtması gerekmediği, yani. E. aslında, bir bilgisayarın diğeriyle teknik iletişim araçlarıyla bağlantı kurmanın başka yolları da vardır.

Sonuç olarak, açıklamada verilen bilgilerin, istemler tarafından tanımlanan mevcut buluşun kapsamını sınırlamayan örnekler olduğu belirtilmelidir. Teknikte uzman bir kişi, mevcut buluşun ruhu ve kapsamı ile tutarlı olan mevcut buluşun başka uygulamalarının da olabileceğini takdir edecektir.

1. Öykünme önleme araçlarını atlamak için sistem işlevi çağrılarını taklit etmek için bir yöntem, burada:
a) öykünücüye girdi olarak yürütülebilir bir dosya alın;
b) sistem işlevi çağrılarının öykünmesi gereksiniminin koşullarını kontrol edin;
c) Yukarıdaki koşullardan en az biri sağlandığında, sistem çağrılarının öykünmesi kullanılır;
d) talimatların sıralı yürütülmesine göre yürütülebilir bir dosyanın yürütülmesini taklit etmek;
e) bir sistem işlevine yapılan bir çağrının algılanması üzerine, sistem çağrılarını taklit etmek için öykünme sürecini değiştirin;
f) düşük seviyeli aramalar zinciri şeklinde bir sistem işlevine yapılan bir çağrıyı taklit edin.

2. İstem 1'in yöntemi olup, bu yöntemde, sistem işlevi çağrılarının öykünmesini gerektirme koşulu, yürütülebilir dosyanın öykünmesini hızlı bir şekilde tamamlamaktır.

3. İstem 1'in yöntemi olup, bu yöntemde, sistem işlevi çağrılarının öykünmesini gerektirme koşulu, öykünme süresinde bir sınırlama olmamasıdır.

4. İstem l'e göre yöntem olup, bu yöntemde, sistem işlevi çağrılarının öykünmesi için gereklilik, anti-virüs uygulamasından bilinmeyen dosya hakkında bilgi olmamasıdır.

5. İstem 1'e göre yöntem olup, bu yöntemde, komutların sıralı yürütülmesi, en azından hem koşullu hem de koşulsuz tüm atlamaların yürütülmesi ve yürütülebilir dosya içindeki çeşitli işlevlerin çağrılmasıdır.

6. İstem 1'in yöntemi olup, bu yöntemde, düşük-seviyeli arama bir birleştirme dili yönergesidir.

7. İstem 1'in yöntemi olup, bu yöntemde, düşük-seviyeli arama, bütün ilgili sistem işlevlerine sıralı bir aramadır.

8. İstem l'e göre yöntem olup, bu yöntemde, sistem işlev çağrısının öykünmesi, çekirdek moduna geçiş üzerine sonlandırılmaktadır.

Benzer patentler:

Buluş bilgisayarla ilgilidir. Teknik sonuç, kötü amaçlı yazılım algılama kalitesinin iyileştirilmesinden oluşur.

Buluş, ortak anahtar sertifikalarının doğrulanması için bir araçla ilgilidir. Teknik sonuç, yetkisiz erişim olasılığını azaltmaktır.

Buluş, uygulama programlarının yürütülmesi sırasında güvenlik araçlarının otomatik konfigürasyonu alanı ile ilgilidir. Teknik sonuç, güvenlik kalitesini kaybetmeden uygulama programının yürütülmesi sırasında güvenlik aracı tarafından tüketilen bilgi işlem kaynaklarını azaltmaktır.

Buluş, kullanıcı raporlarına dayalı olarak mesajları filtrelemek için sistemler ve yöntemlerle ilgilidir. Mevcut buluşun teknik sonucu, kullanıcı raporlarına dayalı olarak örneğin istenmeyen posta içeren iletiler kategorisi gibi farklı kategorilere ait iletileri belirlemektir.

Buluş, bir uçağın uçuşu ve güvenliği ile ilgili bilgilere kullanıcı erişim haklarını yönetmek için bir sistem ile ilgilidir. Teknik sonuç, belirtilen bilgilere erişimi olan kullanıcıların tanımlanmasını sağlamaktan ibarettir. Yerleşik uygulamalara ve verilere erişim haklarını yönetmek için bir sistem ve bu sistem tarafından kullanılan bir yöntem ile bu sistemi içeren bir hava aracı önerilmiştir. Hava aracındaki bir kullanıcının uçaktaki bilgilerine erişim haklarını yönetme sistemi, kullanıcının kişisel kartında yer alan kullanıcı kimliği hakkındaki bilgileri okuyabilen en az bir tanımlama cihazı (10) ve araçları içeren bir araç bilgisayarı (1) içerir. (11) bir kullanıcının kimliğini doğrulamak ve kullanıcının kimliğine bağlı olarak yerleşik bilgilere erişim haklarını belirlemek üzere yapılandırılmış erişim haklarını yönetmek için. 3 n. ve 7 kişi f-ly, 2 dwg

Buluş bir bilgi işlem cihazı ve yöntemi ve bilgi işlem cihazının kontrol edilmesi için bir programa sahip bir kayıt ortamı ile ilgilidir. Teknik sonuç, veri işleme hızının arttırılmasından ibarettir. Cihaz, içerik olarak hizmet veren uygulama programının kayıtlı olduğu bir kayıt ortamından uygulama programını, uygulama programına verilen ilk kök sertifikayı ve uygulamaya birinci kök sertifikanın verilmesinden önce verilen ikinci kök sertifikayı okuyacak şekilde yapılandırılmıştır. programlayın ve uygulama programını yürütün, burada bilgi işleme cihazı şunları içerir: bellekte uygulama programı tarafından işlenecek verileri depolamak için bir birinci klasör oluşturmak için üretme araçları, birinci klasör birinci kök sertifika ile ilişkilendirilir; ve ikinci klasörde bulunan verileri birinci klasöre kopyalamak için kopyalama araçları, ikinci klasörün depolama cihazında mevcut olması durumunda ikinci klasör ikinci kök sertifika ile ilişkilendirilir. 3 n. ve 7 kişi f-ly, 19 hasta.

Buluş, verici ve alıcı taraflar arasında bir kriptografik gizli anahtarın dağıtımı ile ilgilidir. Teknik sonuç, korumanın otomatik olarak düzenlenmesi olasılığından ve oluşturma sırasında değiş tokuş edilecek mesaj sayısının kontrol edildiği yineleme sayısını ayarlayarak kriptografik gizli anahtarın oluşturulması için bekleme süresinden oluşur. kriptografik gizli anahtar. Verileri güvenli bir şekilde almak ve iletmek için cihaz, bir anahtar oluşturma kontrolörü ve yineleme sayısını sağlamak için bir blok içerir. 4 n. ve 7 kişi f-ly, 17 hasta.

Buluş, cihazı kullanmak için kimlik doğrulama gerektiren görüntüleri göndermek için bir cihaz ve burada sağlanan fonksiyon ile ilgilidir. Teknik sonuç, görüntüleri göndermek için kimlik doğrulama bilgilerinin mirasını ayarlama ve hedefi ayarlama yöntemine uygun olarak kimlik doğrulama bilgilerini girmek için bir ekran görüntüleme olanağı sağlamaktır. Bunun için, görüntüleri gönderme cihazında, kullanıcının kimliğini doğrulamak için ilk kimlik doğrulama işlemi gerçekleştirilir, ilk kimlik doğrulama işleminin gerçekleştirildiği durumda kullanılan kimlik doğrulama bilgisi saklanır ve gönderme aracının görüntüyü gönderdiği hedef veriler, çok sayıda nokta belirleme yöntemi türü tarafından belirlenir. Daha sonra, ayarlanan hedefe görüntü verilerini göndermek için gönderme aracı için gerekli olan ikinci doğrulama için işlem yapılır ve hedef ayarına dayalı olarak ikinci doğrulama işlemi gerçekleştirildiğinde depolama aracında depolanan doğrulama bilgilerinin kullanılıp kullanılmayacağına karar verilir. yöntem. 3 n. ve 5 c.p. f-ly, 17 hasta.

Buluş kablosuz iletişimle ve özellikle bir erişim kontrol istemcisinin güvenli iletimi için bir yöntemle ilgilidir. Teknik sonuç, artan güvenliktir. Yöntem, özel bir kablosuz erişim kontrol istemcisinin talep edilmesini içerir, talep bir birinci onay sertifikası ile ilişkilendirilir; bir özel erişim kontrol istemcisi ve bir ikinci onay sertifikasının alınması, burada birinci ve ikinci onay sertifikaları güvenilir bir varlık tarafından verilir; ve ikinci onay sertifikası geçerliyse, kullanıcının erişim kontrol istemcisinin güvenli öğede saklanması; ayrıca, kullanıcı erişim kontrolü istemcisi, güvenli elemanı oluşturan çok sayıda bölüm arasında tek bir bölümde depolanır ve kaydedilen kullanıcı erişim kontrolü istemcisinde sonraki değişiklikler sadece ikinci onay sertifikası kullanılarak gerçekleştirilebilir; ve kablosuz ağa erişim, (i) özel erişim kontrol istemcisi tarafından erişim ve (ii) özel erişim kontrol istemcilerinden gelen taleplerle sınırlıdır. 3 n. ve 19 c.p. f-ly, 8 dwg

Buluş, bilgisayar teknolojisi ve telekomünikasyon ile ilgilidir, bilgisayar bilgilerini koruma problemlerini çözmeyi amaçlamaktadır. Buluşun teknik sonucu, paralellik derecesini artırarak performansı iyileştirmektir. Üç tur dönüşüm gerçekleştirme yöntemi, x, y, z eksenleri boyunca gerçekleştirilir. İlk turda, L x0, L x1, ..., L x (N-1) katmanlarının N iki boyutlu dönüşümü gerçekleştirilir; ikinci turda, L y0, L y1, ..., Ly (N-1); üçüncü turda, L z0, L z1, ..., L z (N-1) katman değişikliklerinin N iki boyutlu dönüşümü gerçekleştirilir. 5 dwg, 1 yemek kaşığı

Buluş, ölçüm sonuçlarının kontrol edilmesi için bir araç ile ilgilidir. Teknik sonuç, bilgi işleme süresinin azaltılmasından oluşur. Ölçüm cihazı, biyolojik bilgi ölçüm cihazının kimlik doğrulaması ile ilgili kimlik doğrulama ile ilgili biyolojik bilgilerin iletimi ile sağlanır. Biyolojik bilgi ölçüm cihazının kimlik doğrulama gerçekleştirme ihtiyacını belirlediğinden emin olun. Kontrol cihazı, biyolojik bilgi ölçüm cihazından hem doğrulama ile ilgili doğrulama ile ilgili bilgileri hem de biyolojik bilgileri almak için sağlanır. Kontrol cihazı, kimlik doğrulama bilgilerine dayalı olarak kimlik doğrulaması gerçekleştirmek için sağlanır. İletişim aracıyla elde edilen biyolojik bilgi, doğrulama aracının doğrulama sonucunun olumlu veya olumsuz olmasına bakılmaksızın depolama araçlarında saklanır. Meşru kimlik doğrulama bilgisi, kimlik doğrulamanın gerçekleştirilip gerçekleştirilmeyeceğini belirleme araçları tarafından kimlik doğrulamanın yapılmasının gerekli olduğu belirlenirse iletişim araçları tarafından iletilir ve kimlik doğrulamanın gerekli olmadığı belirlenirse sahte bilgiler iletişim araçları tarafından iletilir. . 3 n. ve 2 c.p. f-ly, 10 hasta.

Buluş, elektronik ağ işlemlerinin güvenliğini sağlamaya yönelik bir araçla ilgilidir. Teknik sonuç, İnternet üzerinden elektronik işlemlerin güvenliğini artırmaktır. İstemcilerin ve sunucuların güçlendirilmiş (çok faktörlü) kimlik doğrulama prosedürünü, hash prosedürlerini, elektronik imza ile imzalama ve istemcilerin ve sunucuların elektronik imzasını doğrulama prosedürlerini gerçekleştirirler. İstemcinin yazılım ortamını tarama işlemini gerçekleştirir, ardından sistemin istemcileri üzerinde tespit edilen yazılım ortamının güvenlik açıklarının kritik olup olmadığına karar verirler. Katılımcılar arasındaki etkileşim sürecinde, istemcilerin ve sunucuların çözümlerinin kopyaları arşivlenir, elektronik imzalarıyla imzalanır, müşterilerin sunucularla çalışma oturumlarının devam etmesi veya kapanması üzerine. 2 n. ve 6 c.p. f-ly, 1 dwg.

Buluş, bir elektronik bileşende bir kriptografik dönüşüm gerçekleştirmek için bir yöntem ve aygıt ile ilgilidir. Teknik sonuç, bir kriptografik dönüşüm gerçekleştirme verimliliğini artırarak parola doğrulama ile bağlantı kurma güvenliğinin arttırılmasından oluşur. Yöntemde, Y2 = f (X) ifadesini sağlayan eliptik eğri üzerindeki t parametresinden hareket edilerek ve X1 (t), X2 (t), X3 ( polinomlarından hareket edilerek P (X, Y) noktası elde edilir ( t) ve U (t ) f (X1 (t))) f (X2 (t))) f (X3 (t)) = U (t) 2 eşitliğini sağlar, o zaman q = 3 mod 4 ile Fq'da t parametresinin değeri elde edilir ve (i) X1 = X1 (t), X2 = X2 (t), X3 = X3 (t) ve U = U (t)'nin hesaplandığı alt adımları gerçekleştirerek P noktasını belirler. ), (ii) f (X1) .f (X2) elemanı bir kare ise, o zaman f (X3) elemanının Fq'da bir kare olup olmadığına ve öyle ise f elemanının kareköküne bakılır. (X3), P (X3) noktasını elde etmek için hesaplanır, (iii) aksi halde f (X1) öğesinin kare olup olmadığı kontrol edilir ve eğer öyleyse, f (X1) öğesinin karekökünü elde etmek için hesaplanır. P (X1) noktası, (iv) aksi takdirde P noktasını (X2) elde etmek için f (X2) öğesinin karekökünü hesaplayın ve ayrıca bu P noktası bir kriptografik uygulamada kullanılır. 2 n. ve 6 c.p. f-ly, 3 dwg

Buluş grubu, güvenlikle ilgili bir sistemde meydana gelen en az bir işlemin kontrol araçları ile ilgilidir. Teknik sonuç, güvenlikle ilgili sistemlerin esnek ve genelleştirilmiş sertifikasyonu olasılığını sağlamaktan ibarettir. Bu amaçla, güvenlikle ilgili bir sistemin izlenmesi için sağlanan bir izleme cihazı aracılığıyla güvenlikle ilgili bir sistemin izlenmesi için bir yöntem önerilmiştir, bu yöntemde: izleme cihazında çalışan çok sayıda işlemden birinci işlemin seçilmesi, bir ilk işlem tarafından çağrı; bir çağrının güvenlikle ilgili bir sistemin en azından bir bölümünü oluşturan bir cihaza aktarılması; güvenlikle ilgili sistem üzerinde çalışan çok sayıda işlem arasından ikinci bir işlemin seçilmesi; çağrıya en az bir önceden belirlenmiş işlevi uygulayarak bir işlem sonucunun ikinci işlemle hesaplanması; işlem sonucunun ikinci işlemle birinci işleme iletilmesi; birinci işlem tarafından, ikinci işlem tarafından hesaplanan işlem sonucunun birinci işlem tarafından hesaplanan işlem sonucu ile kontrol edilmesi, aynı en az bir önceden belirlenmiş işlevi uygulayan birinci işlem tarafından hesaplanan işlem sonucunun kontrol edilmesi; ve birinci işlem tarafından hesaplanan işlem sonucu ile ikinci işlem tarafından hesaplanan işlem sonucu aynı fikirdeyse, güvenlikle ilgili sistemin güvenli durumda olduğuna karar vermek. 3 n. ve 8 c.p. f-ly, 2 dwg

Buluş, anti-emülasyon araçlarını atlamak için sistem fonksiyon çağrılarını taklit etmeye yönelik yöntemlerle ilgilidir. Teknik sonuç, çağrıların sistem işlevlerine benzetilmesi olasılığını sağlamaktan ibarettir. Sonuç, öykünme önleme araçlarını atlamak için sistem işlev çağrılarını öykünmek için bir yöntem kullanılarak elde edilir, yöntem aşağıdaki adımları içerir: öykünücünün girişinde yürütülebilir bir dosya alma; sistem işlevi çağrılarını taklit etme gereksiniminin koşullarını kontrol edin; yukarıdaki koşullardan en az biri karşılandığında, sistem çağrılarının öykünmesi kullanılır; talimatların sıralı yürütülmesine göre yürütülebilir bir dosyanın yürütülmesini taklit etmek; bir sistem işlevine yapılan bir çağrının algılanması üzerine, sistem çağrılarını taklit etmek için öykünme sürecini değiştirin; düşük seviyeli aramalar zinciri şeklinde bir sistem işlevine bir çağrıyı taklit eder. 7 kişi f-kristaller, 6 dwg., 1 sekme.

Yaklaşık altı ay önce bana şöyle bir şey soruldu: "Kullanıcı eylemiyle bir işlevi başlatan büyük bir çerçeve kullanıyorum. Bu fonksiyonun kodunu değiştirmeden bu fonksiyonun çağrılması durumunda kodumu yürütmek istiyorum. ”. Uygulama en iyisi olmaktan çok uzak, fonksiyon çağrısı olayı mevcut değil, parmağımı şakağıma doğru büktüm ve bunun korkunç bir boktan kod olduğunu, bunu yapmamalısın ve bu oldukça basit bir şekilde imkansız olduğunu söyledim.

Birkaç gün önce, Odessa'ya özgü olmayan nispeten ılık bir kış akşamı eve dönerken, alışılmadık bir düşüncem vardı: "Ya Bogdan'ın altı ay önce istediğini yapmaya çalışırsak?" Eve geldiğimde bilgisayarı açtım ve birkaç dakika içinde planladığım şeyi yaptım. Her şeyden önce, yerleşik yöntemlerin yeniden tanımlanırlarsa nasıl davranacakları ve bundan sonra yeniden tanımlamadan önceki önceki durumlarını bir şekilde çağırmanın mümkün olup olmadığıyla ilgileniyordum. Bir nesne geçersiz kılınırsa, önceki görünümü koruyarak ona yapılan referansların yok edilmeyeceğini biliyordum. Yerleşik işlevlere gelince, şüpheler vardı. Yapabileceğin ortaya çıktı.

Büyük olasılıkla, böyle bir aracı asla kullanmak zorunda kalmayacağım, ancak tamamen varsayımsal olarak, belki birisi belirli bir işlevin çağrısını izleme, her çağrı hakkında aşağıdakilerden oluşan bir rapor alma görevine sahip olacaktır:

  1. Yürütme sonucu
  2. Argümanlar geçti
  3. Çağrı bağlamı (çağrıldığında bu nedir)
  4. İşleyici oluşturulduktan sonra işlev çağrısı sayısı
(Bu liste, işleyiciye iletilen argümanlarla tamamen aynıdır)

addCallListener = function (işlev, geri arama) (var callNumber = 0; dönüş işlevi () (var args = .slice.call (argümanlar); var sonuç; try (sonuç = func.apply (bu, bağımsız değişkenler); callNumber ++); ) catch (e) (geri arama (e, args, this, callNumber); e atmak;) geri arama (sonuç, args, this, callNumber); sonuç döndür;))

Çok basit ve kısa değil mi?

Ardından, bazı işlevleri aşağıdaki gibi yeniden tanımlarız:

SomeFunct = addCallListener (someFunct, işlev (sonuç, bağımsız değişkenler, self, callNumber) (// Bir Şey Yap)); // veya Constructor.prototype.method = addCallListener (Constructor.prototype.method, function (sonuç, bağımsız değişkenler, self, callNumber) (// Bir Şey Yap));

Açıkçası, kodun gerçekleştiği yerde "görünür" olmalıdır.

birkaç örnek
Örnekleri çalıştırmak için açık bir konsolunuz olmalıdır (kromda, Ctrl + Shift + i ile çağrılır).

Eleştiri ve eklemeler için javascript.ru forumundan yoldaşlara teşekkürler.

UPD
Fonksiyonu biraz genişletti: şimdi, bir geri arama yerine, ikinci argüman olarak bir nesne iletildi

  1. önce (işlev başlamadan önce çağrılır)
  2. başarı (işlev başarılıysa çağrılır)
  3. hata (bir hata oluştuysa)
  4. sonra (yürütmenin başarısından bağımsız olarak her durumda çağrılır)
Her işleyiciye bir nesne iletilir
  1. öz (bağlam)
  2. isim (işlev adı)
  3. durum ("hata" veya "başarı")
  4. SuccessNumber (başarılı çağrı sayısı)
  5. errorNumber (hatalı çağrı sayısı)
  6. sonuç (varsa sonuç)
  7. hata (varsa hata)
Ayrıca, bir pencereye veya sürece yakalanmamak için addCallListener işlevi artık Function yapıcı nesnesinin bir parçasıdır.

Burada çatallayıp test edebilirsiniz.

Hayatım boyunca basit telefonlar kullandım ve sadece Nokia markasını tercih ettim. Ama hayat durmuyor, bir keresinde kameralı ve internet erişimi olan bir telefon istedim - bu çok uygun! Bir cep telefonu mağazasında, Nokia'nın butonlarının yelpazesi çok geniş değildi, ancak 301 Dual seçeneği hemen düştü. Gereksiz sinir bozucu ayrıntılar olmadan basit ama zevkli olmasını seviyorum. Görünüm açısından bu telefon beni %100 tatmin etti. Daha yakından göstermek istedim - her şeyi beğendim. Satın alma bana dört bine mal oldu. Ek olarak, bir deri çanta satın aldım.

Telefonla ilgili çift izlenimim var. İlk başta, alışırken, her şey muhteşem görünüyordu. Çok uzun zaman önce eski Oka'mı Renault Logan ile değiştirdim - ve bu yüzden karşılaştırma benzerdi. Telefondaki her şeyin en ince ayrıntısına kadar düşünülmüş olması gerçekten hoşuma gitti. Şık ve rahat. Neye ihtiyacın var. Ama zamanla, elbette, eksiler de ortaya çıktı, ama önce ilk şeyler.

Dıştan, telefonu beğendim. Şık, temiz, ince. Çok iyi plastik. Telefon nispeten büyük, ancak cebinize sığıyor. Telefonun ekranı büyük, rengi rahatsız etmiyor, gölgeleri yumuşak ve göze hoş geliyor. Düğmeler rahat, ayrıca - zamanla solmayacaklar, ancak şişme olasılıkları var (zaten benzer "sağlam" klavyeye sahip bir telefonum vardı ve düzenli kullanımdan dolayı her zaman şişti, umarım bu olur bu telefonla olmaz). Telefonun polifonisi temiz, ancak nispeten sessiz. Sokakta ve hatta bazen evde onu duymuyorum ve aramaları hep kaçırıyorum. Bu, hem "yerel" sinyaller hem de indirilen müzik için geçerlidir. Öfkelenir. Ancak örneğin müzik dinlemek için hoparlör idealdir. Bazen evde radyoyu hoparlörden dinlerim - kulağa iyi bir teyp gibi geliyor. Telefonun menüsünü çok beğendim, kullanışlı, çeşitli uygulamalar var. Telefon rehberi muhteşem! Burada adınızın altında ve soyadınızın altında bir sayım var. Bir kişiye bir grup numara ekleyebilirsiniz, seçenekler - deniz. Ama bence her telefonda olması gereken ana şey yok - kara liste. Sorun, hücresel operatörümün bir engelleme hizmeti sağlamaması gerçeğiyle daha da artıyor. Bilgili bir kişinin ucunda uygun uygulamayı bulmaya çalıştım - ama boşuna. Bu yüzden numarayı değiştirmem ve onu tanıyanların çemberi açısından dikkatli olmam gerekiyordu.

İnternet .... Bu ayrı bir konuşma. Oldukça ilkel. Bilgisayarı unutarak sosyal ağlarda rahatça iletişim kurmanızı sağlayacak bir telefon arıyorsanız - uğrayın. Yalnızca bu telefondaki güncellemeleri görüntüleyin. Sayfalar yüklenirken tüm tırnaklarınızı kemireceksiniz. Ve zaten sürekli hatalara alışkınım: eylemler çoğu zaman hiçbir yere gitmiyor. Bu aynı zamanda mesaj göndermek, yorum yapmak ve sayfa yüklemek için de geçerlidir (ilk kez, kural olarak, her şey "boşta" olur). Mesaj göndermeden önce her zaman kopyalarım: Eylem başarısız olursa, tüm metin boşa gider. Olur ve yüzlerce kez aynı şey gönderilir. Ve beğeniler hakkında başka bir hikaye. Yani, beslemeye baktığınızda, beğendiğinizi beğenir ve daha fazla kaydırırsınız, değil mi? Burada her şey karmaşık. İlk beğeni genellikle verilir ve ikincisi haber akışınızı en başa gönderir. Ve böylece düzenli olarak! Son zamanlarda, tüm bu kusurlar benim için can sıkıcı hale geldiğinden, android tabanlı yeni bir dokunmatik ekranlı telefon almayı giderek daha fazla düşünüyorum: çok zaman ve sinir gerektiriyor.

Ve telefon genellikle Nokia'dan dürüstçe beklemediğim bir sorunlu. Belirgin bir sebep olmaksızın ekran beyaza döner ve tüm sistem yeniden başlatılır. Yazı yazarken harflerin güneşte gözükmemesi hoşuma gitmiyor, kamera hoşuma gitmiyor... Açıkçası 3.2 değil! En fazla 2 megapiksel çeker. Evet ve telefon biraz yavaşladığından çalışıyor, ancak aynı zamanda hafızam neredeyse boş (arama başına yalnızca bir şarkı yükleniyor). Seçenekler açısından telefon akıllı gibi görünse de içinde anlamadığım bir sürü isim var. Örneğin, "Çağrı öykünmesi" - nedir bu?

Genel olarak, hayal kırıklığına uğradım. En iyisini bekliyordum. Tasarımı beğendim, diğer her şey çok böyle. Zamanla bir tane daha alacağım. Telefonu ortalama üç puanla değerlendiriyorum ancak almanızı tavsiye ederim: fiyat-kalite oranı oldukça yeterli.

İncelememi satın alma tarihinden altı ay sonra güncelliyorum. Bugün 3 Ocak 2015. İlk başta onu değiştirmek için vahşi bir arzu olmasına rağmen, hala telefonla gidiyorum. Zamanla alıştım, şimdi seviyorum ve başka bir şey istemiyorum. İnternette çalışmak için Opera tarayıcısını kendim kurdum ve şimdi her şey iyi çalışıyor. Ve kamera da o kadar kötü değildi. Fotoğrafların kalitesinin muhtemelen bu fiyat kategorisindeki diğer telefon modellerinden ve bazılarından daha pahalı olanlardan daha iyi olacağını söyleyebilirim. Bunları yazdırabilir ve sosyal ağlarda yayınlamaktan utanmayın. Tek uyarı, bir nedenden dolayı iç mekanlarda, dış mekanlardan daha iyi fotoğraf çekmesidir. Düğmeler zamanla şişmedi, endişelenmemeliydim. Ve telefonun kendisi "pazarlanabilir" görünümünü kaybetmedi. Periyodik olarak, daha önce olduğu gibi, aksaklıkları yakalar, ancak sık sık değil. Birkaç kez telefon kendi kendine kapandı ve uzun süre açamadım. Neyle bağlantılıydı - bilmiyorum. Hafızam hiç dolu değil (üzerinde fotoğraf ve müzik saklamıyorum, sadece SMS ve kişiler). "Üç"ü "dört" noktaya değiştiriyorum. O kadar da kötü bir telefon numarası değil.