Prosesin izolyasiyasını necə təmin etmək və Windows-u pozmamaq olar. NET təcrid olunmuş NRE kilidi kilidi faylı Təcrid olunmuş faylı necə geri qaytarmaq olar

4

Beləliklə, mən C# klient tətbiqimdə təcrid olunmuş yaddaş faylını kilidləməyə çalışıram ki, tətbiqimin bir neçə nümunəsi eyni anda ona daxil ola bilməsin. Aşağıdakı sintaksisdən istifadə edirəm:

LockStream = yeni IsolatedStorageFileStream("my.lck", FileMode.OpenOrCreate, isoStore); lockStream.Lock(0, 0);

Bu kod mənim tətbiqimin çərçivənin FileStream.Lock metodu daxilində NullReferenceException atmasına səbəb olur. Uzunluq üçün sıfırdan fərqli bir dəyər istifadə etməyə çalışdım. Mən fayla bir bayt yazmağa çalışdım və sonra yalnız o baytı blokladım. Nə etsəm də, eyni NullReferenceException məni təqib edir. Hər kəs bunun təcrid olunmuş saxlama ilə mümkün olub olmadığını bilirmi?

Həmçinin mən bu texnikanı Silverlight proqramında öyrənirəm, Silverlight faylın kilidlənməsini dəstəkləyirmi? MSDN sənədləri bunun belə olmadığını göstərir, lakin mən C# MVP-dən bu yazını gördüm ki, belədir.

Yeniləmə: Microsoft mənim Connect-ə təqdim etdiyim səhvi düzəltdi, lakin o, çərçivənin 4-cü versiyasında buraxılmadı. Ümid edirəm ki, növbəti SP-də və ya tam buraxılışda mövcud olmalıdır.

0

Mən özəl "m_fs"-in IsolatedStorageFileStream sahəsində kilid metodunu çağırmaq üçün əks etdirmə üsulundan istifadə edərək bu xətanın ətrafında işləyə bildim: lockStream = new IsolatedStorageFileStream("q.lck", FileMode.OpenOrCreate, isoStore); FileStream m_fs = typeof(IsolatedStorageFileStream).InvokeMember(("m_fs"), BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.Instance, null, lockStream, null) FileStream kimi; m_fs.Lock(0, long.MaxValue); - bsiegel 05 mart 10 2010-03-05 15:57:55

  • 2 cavab
  • Çeşidləmə:

    Fəaliyyət

4

Bu, Çərçivədə bir səhv kimi görünür. Bəlkə də səhv edirəm, çünki bu, həqiqət ola bilməyəcək qədər böyükdür.

Reflektoru olan .NET 3.5 SP1 mənbə koduna nəzər saldıqda siz görə bilərsiniz ki, IsoStorageFileStream ölçüsiz əsas konstruktoru (FileStream()) çağırır, nəticədə başlanğıclaşdırılmamış baza sinfi yaranır. IsolatedStorageFileStream FileStream nümunəsini yaradır və onu ləğv etdiyi bütün üsullarda istifadə edir (Yaz, Oxu, Təmizləmə, Axtar və s.). Qəribədir ki, o, öz baza sinifindən birbaşa istifadə etmir.

Lakin kilidləmə və kiliddən çıxarma ləğv edilmir və onlar hələ də sıfır olan şəxsi sahəyə (_handle) ehtiyac duyurlar (istifadə olunan konstruktor parametrsiz olduğundan). Onlar bunun boş olmadığını düşünür və onu oynayır və NRE-ni işə salırlar.

Xülasə etmək üçün, kilidləmə və kiliddən çıxarma dəstəklənmir (və ya işləmir).

Eset NOD32 antivirusu tərəfindən silinmiş faylları necə bərpa etmək olar” İnternetdə tez-tez görülə bilən sorğudur. Buna baxmayaraq mümkün həllər Bu məsələ ilə bağlı suallar o qədər də çox deyil, bu da tez-tez itirilmiş sənədləri qaytarmağın yollarının olmadığı hissini yaradır.

Əvvəla, başa düşməlisiniz ki, antivirus bu və ya digər şəkildə işləməyə təsir etməyən faylı heç vaxt blok etməyəcək və ya silməyəcək. əməliyyat sistemi və ya digər quraşdırılmış proqramlar.

Müvafiq olaraq, sənədiniz silinibsə, onun zərərli olduğundan əmin ola bilərsiniz. Bununla belə, proqramı sadəcə olaraq dəyişdirən, onun proseslərinə müdaxilə edən, lakin təhlükə yaratmayan fayllar da var.

Antivirus tərəfindən silinmiş faylı bərpa etməyin yolları varmı? Mütləq var! Bu yazıda Eset NOD32 tətbiqinin nə olduğunu, onunla işləmək xüsusiyyətlərini və nəzərdən keçirəcəyik təsirli üsul Antivirus tərəfindən silinmiş faylların bərpası.

Eset NOD32 nədir?

Heç kim üçün müasir dünya Heç kimə sirr deyil ki, antivirus proqramlarının nə qədər vacib və ən əsası, nə qədər uyğun olduğu. Onlar sizə nəinki zərərli faylların böyük əksəriyyətini aradan qaldırmağa imkan verir, həm də sistemə bu və ya digər şəkildə zərər vuran mümkün təhlükənin qarşısını almağa kömək edir.

Antivirus Eset NOD32Ən çox sadəcə NOD32 adlanan bütöv bir antivirus paketidir proqram təminatı, 1987-ci ildə Slovakiyanın Eset şirkəti tərəfindən yaradılmışdır.

Proqramın iki buraxılışı var:

  • Ev versiyası.
  • Biznes versiyası.

Biznes versiyası ilə ev versiyası arasındakı əsas fərq bacarıqdır uzaqdan nəzarət və çarpaz platforma mühafizəsinin olması. Proqramı istənilən ehtiyaclara uyğunlaşdırmaq üçün asanlıqla və çevik şəkildə fərdiləşdirməyə imkan verən xüsusiyyət daha az xoş deyil.

Eset NOD32. Antivirusu necə aktivləşdirmək və ya söndürmək olar?

Tez-tez olur ki, müəyyən bir proqramı quraşdırarkən bizdən antivirusu söndürmək tələb olunur, çünki əks halda o, proqramın sadəcə başlaya bilməyəcəyi vacib bir faylı "yeyəcək".

Antivirusun işə salınması/söndürülməsi sualına cavab axtarmağın başqa bir ümumi səbəbi “müdafiəçinin” resurs istehlakını azaltmaq məqsədidir. Bu, antivirusların işinin özəlliyi ilə əlaqədardır - onlar ümumiyyətlə passiv vəziyyətdə olduqda belə kifayət qədər böyük yaddaş tuturlar və digər "ağır" proqramları işləyərkən bəzən mühafizəni dayandırmaq lazımdır.

Beləliklə, NOD32-ni aktivləşdirmək və ya söndürmək tapşırığını necə yerinə yetirirsiniz? Aşağıdakı təlimatlarda bu məsələyə baxaq.

1. Tətbiqi işə salın Eset NOD32 və gedin Parametrlər.

2. Açılan pəncərədə bütün quraşdırılmış NOD32 xidmət paketlərini tapa bilərsiniz. Hər birini ziyarət edin və ehtiyaclarınızdan asılı olaraq seçimləri aktivləşdirin/deaktiv edin.

Eset NOD32. Antivirus karantin və istisnalar.

Karantin- istehsalçısından və versiyasından (ev və ya biznes) asılı olmayaraq, hər hansı bir antivirusda mütləq mövcud olan bir depo. O, antivirusa görə əməliyyat sisteminizə bu və ya digər şəkildə zərər verə biləcək bütün şübhəli faylları saxlayır.

Qeyd etmək lazımdır ki, heç bir sənəd, hətta troyan olsa belə, dərhal silinmir. İlk növbədə, onun yaratdığı təhlükə zərərsizləşdirilir: fayl karantinə yerləşdirilir və antivirus səbirlə istifadəçinin məsuliyyətli qərarını gözləyir. əlavə tədbirlər— ya yoluxmuş sənədi silə və ya bir az sonra müzakirə edəcəyimiz istisna kimi qeyd edə bilərsiniz.

Karantini necə tapmaq olar Eset antivirus NOD32? Çox sadə! Aşağıdakı təlimatlara baxaq.

1. Qaç Eset NOD32 və bölməyə keçin Xidmət.

2. Nişanı açın Əlavə vəsaitlər. Aşağı sağ küncdə yerləşir.

3. qarşımıza çıxdı tam siyahı Eset tərəfindən antivirusun bir hissəsi kimi təqdim olunan əlavə xidmətlər. Açıq Karantin.

4. Açılan menyuda NOD32 sizə bütün təcrid olunmuş faylları idarə etmək üçün tam hüquqlar verir.

tapdıq karantin və onu tapdı əsas funksiyalar:

  • Faylı təcrid edin. Bu seçim sizə zərərli faylı əl ilə tapmağa və antivirus öz-özünə öhdəsindən gələ bilmədikdə onu bloklamağa imkan verir.
  • Bərpa et. Təsadüfən kilidlənmiş faylı bərpa etməyə imkan verən seçim.

Sadəcə olaraq təcrid olunmuş sənədi bərpa etmək həmişə daha da bloklamaqdan çəkinmir. Bu dəyişdirilə bilərmi? Gəlin nəzərdən keçirək.

1. Pəncərədən çıxmadan Karantin, kilidini açmaq istədiyiniz faylın üzərinə sağ klikləyin.

2. Seçim seçin Bərpa edin və skandan çıxarın.

3. Hərəkətlərinizə əminsinizsə, vurun Bəli. Faylın təhlükəli və ya zərərsiz olduğunu bilmirsinizsə, klikləməyi məsləhət görürük Yox.

Eset NOD32 silinmiş faylları. Necə bərpa etmək olar?

Antivirus- bu, inanılmaz dərəcədə böyük sayı saxlayan yeganə maneədir mümkün təhlükələr, İnternet vasitəsilə kompüterlərimizə sızmağa qadirdir. Bənzər bir əməliyyat mexanizmi ilə tamamilə bütün faylları bloklaması olduqca təbiidir; sistem və ya proqram proseslərinə bu və ya digər şəkildə mane olan sənədlər.

Təəssüf ki, antiviruslar faylları fərqləndirə bilmir, çünki hər hansı bir zərərli fayl asanlıqla Windows prosesi kimi maskalana bilər və kompüteri daxildən tədricən məhv edə bilər.

Nəticə etibarilə, proqram, fikrincə, müəyyən bir təhlükə yaradan hər şeyi bloklayaraq, kompüteri qorumaq üçün hər cür cəhd edir. Əksər hallarda bloklanmış sənədlər sadəcə istisna etməklə asanlıqla bərpa oluna bilər, lakin bəzən bunlar baş verir tam çıxarılması, əgər antivirus faylı kritik təhlükəli hesab edirsə.

Starus Partition Recovery fayl sistemi ilə gündəlik işdə yaxşı köməkçi olacaq. Tətbiq sizi uzun müddətdə şəxsi sənədlərinizlə bağlı hər hansı narahatlıqdan azad edəcək və onu necə itirdiyinizdən asılı olmayaraq istənilən formatda faylı bərpa etməyə kömək edəcək.

Starus Partition Recovery alətini qeydiyyatdan keçirməzdən əvvəl “itirilənləri bərpa etmək” üçün bütün şansları qiymətləndirə bilərsiniz. Antivirus tərəfindən silinmiş şəxsi sənədləri bərpa etmək üçün proqramı yükləyin və tamamilə pulsuz sınaqdan keçirin. IN sınaq versiyası Bərpa edilmiş faylların önizləməsi daxil olmaqla bütün funksiyalar mövcuddur. Önizləmə pəncərəsi müəyyən bir faylın zədələnmədiyinə və ya üzərinə yazılmadığına və tam bərpa oluna biləcəyinə əmin olmağa imkan verəcəkdir.

Ümid edirik ki, məqalə sizin üçün faydalı oldu və suallarınızı həll etməyə kömək etdi.

OS-nin özünü pozmadan Windows-da şübhəli prosesləri necə təcrid etmək olar? Etibarlı və uyğunluğu necə yaratmaq olar Windows proqram təminatı hardware virtualizasiyası və nüvə funksiyası qarmaqları olmayan, lakin sənədləşdirilmiş daxili OS təhlükəsizlik mexanizmlərindən istifadə edən qum qutusu? Proqram təminatının qum qutularının tərtibatçılarının (və nəticədə istehlakçıların) qarşılaşdıqları ən ümumi problemlər haqqında danışacağıq. Yaxşı, əlbəttə ki, öz həllimizi təklif edəcəyik :).

Giriş və ya qum qutusu olmadan yaşamaq nə qədər pisdir

Peşəkarlar arasında bir neçə aksioma var ki, onlar haqqında danışmağı sevmirlər. Aksiomalar haqqında nə deyə bilərik? Onlar var və var. Deyəsən, hər kəs iki və ikinin necə iki olduğunu başa düşür. Məsələn, onlardan biri imza əsaslı antivirusların qorumamasıdır. Yaxşı, yəni qorumurlar və hamısı budur. Bu barədə dəfələrlə çox şeylər deyilib və təkrarlanıb. Nümunələr, gözəl təqdimatlar, rəqslər və tamaşalarla. Ransomware kimi hər cür pis şeylərin epidemiyaları imza və evristik texnologiyaların səmərəsizliyinin sübutlarından biri kimi xidmət edir. Bütün növ kriptotorlar və obfuscatorlar çoxdan məlum olan zərərli proqram təminatının aşkarlanmadan qorunması problemini uğurla həll edir və bir müddətdir ki, bu zərərli proqram antiviruslar tərəfindən aşkar edilmir. Bu vaxt bəziləri üçün pis, bəziləri üçün yaxşı hiss etmək üçün kifayətdir.

Yəni, biz hətta 0daydan danışmırıq: köhnə tanınmış saqqallı zərərli proqramı götürə, onu dəyişdirə, davranış imzalarını silə (tənbəl bir insan üçün bir neçə gün işləyin) və yenidən istifadə edə bilərsiniz, sonra yenidən və yenə yorulana qədər və ya həbs olunana qədər. Eyni zamanda, bu “pislik” heç vaxt baş verməsin deyə, dərmanı satanların bununla heç bir əlaqəsi yoxdur; Ciddi simalarla bir növ xəbər bülleteni dərc edir və İnternetdə gigiyena haqqında danışırlar, eyni gigiyena tamamilə müşahidə olunarsa, antiviruslara, xüsusən də pullu olanlara praktik olaraq ehtiyac olmadığını söyləməyi unudurlar.

Sandboxlar və onların həyata keçirilməsinin xüsusiyyətləri

Beləliklə, antiviruslar qənaət etmir, lakin bəzən artıq mövcud olanı pozur. “Qarşı tərəfdən qorunmağa yanaşaq və prosesləri bir-birimizdən təcrid edək” dedi sonsuz ağıllı biri. Şübhəli proseslərin sandbox adlanan bəzi təcrid olunmuş mühitdə işləməsi həqiqətən əladır. Qum qutusunda işləyən zərərli proqram qum qutusunu tərk edə və bütün sistemə zərər verə bilməz. Bu həll yolu ola bilər, lakin mövcud sandbox tətbiqlərində nüanslar var...
Sonra, biz qum qutularının qurulmasının bütün incəliklərini müzakirə edəcəyik, biliklər prosesi izolyasiya aləti və ya HIPS (Host-based Intrusion Prevention System - iş stansiyaları üçün müdaxilənin qarşısının alınması sistemi) seçmək lazım olduqda mütləq faydalı olacaqdır.

1 nömrəli nüans və ya hər kəs üçün bir sandbox

Əksər qum qutuları əslində prosesin izolyasiyasını təmin etmir. Əslində, əksər tətbiqlərdə qorunan sistem iki hissəyə bölünür - etibarlı və etibarsız. Etibarlı hissədə icra olunur normal proseslər, və etibarsız - təcrid. Yəni, bütün təcrid olunmuş proseslər eyni sandboxda işləyir, bir-birinə və bir-birinin resurslarına çıxışı var, eyni registrdən və eyni fayl sistemindən istifadə edir.

Beləliklə, zərərli proqram qum qutusunun özündə dayana bilər və təcrid olunmuş proqramlardan biri ilə (yaxud bir neçə təcrid olunmuş proqramla və ya onlardan hər hansı biri ilə) təsadüfi başlaya bilər. Eyni zamanda, qum qutuları çox vaxt təcrid olunmuş proseslərin hərəkətlərini qeyd etmir. HIPS-in şikayət etdiyi hərəkətlər, təcrid üçün düzəldilmiş ən kiçik reaksiya olmadan qum qutularında baş verir, bu çox yaxşı deyil.

İzolyasiyanın bu şəkildə qurulduğunu necə yoxlamaq olar? Çox sadə! Sandboxda iki proqramı işə salın. Məsələn, notepad.exe və wordpad.exe. notepad.exe istifadə edərək yaradın mətn faylı 1.txt.

Əlbəttə bu fayl iş masasında deyil, “virtual” kataloqda saxlanılacaq. Onu Wordpad ilə açmağa çalışın (şək. 3).



Beləliklə, bir sandbox tətbiqi tərəfindən yaradılmış fayl başqa bir sandbox tətbiqi tərəfindən aça bilər. Gəlin etiraf edək ki, izolyasiya artıq çox yaxşı deyil. Ancaq bəlkə heç olmasa qeyddən bir növ qorunma olacaq? Biz məzmunu dəyişdiririk (şəkil 4).


Və qənaət edirik. İndi notepad.exe-dən istifadə edərək 1.txt faylını açmağa çalışaq. Əlbəttə ki, notepad.exe proqramını sandboxda işə salaq (şək. 5).


Və bu barədə danışırdıq. İki təcrid olunmuş proqram bir-birindən təcrid olunmur. Belə çıxır ki, niyə belə təcrid tam aydın deyildi. Hətta ransomware kompüterdəki yerli qovluqlara giriş əldə etmədən hər şeyi virtuallaşdırılmış kataloqda və şanslısınızsa, şəbəkə resurslarında da şifrələyə bilər, çünki sandbox parametrləri bütün təcrid olunmuş proqramlar üçün eynidir.

2 nömrəli nüans və ya izolyasiya altında

Bəli, təcrid olunmuş proseslər sistemin etibarlı hissəsinə çata bilməz... lakin əksər tətbiqlərdə bu, yalnız yazılır. Yəni, onlar istənilən yerdən faktiki olaraq heç bir məhdudiyyət olmadan oxuya bilirlər və çox vaxt şəbəkəyə daxil olurlar. Bu, görünür, daha çox uyğunluq üçün edilib, lakin bunu təcrid adlandırmaq olmaz.
Seçdiyiniz qum qutusu ilə sadə bir sınaq keçirin. Sabit diskinizdə bir kataloq yaradın. Bunu deyək: E:\Fotolar. Məsələn, bir fotoşəkil yerləşdirin (Şəkil 6).


Başlayın internet Explorer qum qutusuna daxil edin və bu şəkli, məsələn, rghost-a göndərməyə çalışın.



Bəs necədir? baş verdi? Təcrübə uğurlu alındısa, bu, çox yaxşı deyil. Daha da pisi, qum qutusunun təcrid olunmuş proqramların daxil ola bilməyəcəyi qovluqları müəyyən etmək imkanı yoxdursa. Təcrid olunmuş proqramların cari istifadəçinin qovluqlarından məlumatları oxuya bilməsi heç də yaxşı deyil.

Əksər tətbiqlərdə fayl sistemi və reyestrin virtuallaşdırılması “tələb üzrə surət çıxarmaq” prinsipinə əsaslanır. Yəni, əgər faylı sadəcə oxumaq lazımdırsa, virtual kataloqda analoq yoxdursa, o, mənbə kataloqundan oxunur. Eyni fayl virtual qovluqda varsa, o zaman təcrid olunmuş proqram onunla işləyəcək. Eyni şeyi virtual reyestr haqqında da demək olar. Aydındır ki, faylı real yola yazmağa çalışdığınız zaman o, virtual fayl sisteminə yazılacaq. Demək olar ki, həmişə.

Beləliklə, zərərli proqram belə bir qum qutusunda "təcrid olunubsa", onda ola bilər tam giriş bütün digər “təcrid olunmuş” proseslərə, oxumaq üçün sistemdəki faktiki olaraq bütün məlumatlara və yazmaq üçün virtuallaşdırılmış (təcrid olunmuş proqramlar tərəfindən saxlanılan) verilənlərə (çox vaxt bütün təcrid olunmuş proqramlar üçün ümumi olan) məlumat.

3 nömrəli nüans və ya “başqa bir velosiped düzəldək, çox maraqlıdır”

Davamı yalnız üzvlər üçün əlçatandır

Seçim 1. Saytdakı bütün materialları oxumaq üçün “sayt” icmasına qoşulun

Müəyyən edilmiş müddət ərzində cəmiyyətə üzvlük sizə BÜTÜN Hacker materiallarına giriş imkanı verəcək, şəxsi məcmu endiriminizi artıracaq və peşəkar Xakep Score reytinqi toplamağa imkan verəcək!

Beləliklə, mən müştəri tətbiqimdə təcrid olunmuş saxlama faylını kilidləməyə çalışıram ki, tətbiqimin bir neçə nümunəsi eyni anda ona daxil ola bilməsin. Aşağıdakı sintaksisdən istifadə edirəm:

LockStream = yeni IsolatedStorageFileStream("my.lck", FileMode.OpenOrCreate, isoStore); lockStream.Lock(0, 0);

Bu kod mənim tətbiqimin strukturun FileStream.Lock metodundan NullReferenceException atmasına səbəb olur. Uzunluq üçün sıfırdan fərqli bir dəyər istifadə etməyə çalışdım. Mən fayla bir bayt yazmağa çalışdım və sonra yalnız o baytı blokladım. Nə etsəm də, eyni NullReferenceException məni təqib edir. Hər kəs bunun təcrid olunmuş saxlama ilə mümkün olub olmadığını bilirmi?

Həmçinin mən bu texnikanı Silverlight proqramında öyrənirəm, Silverlight faylın kilidlənməsini dəstəkləyirmi? MSDN sənədləri bunun belə olmadığını göstərir, lakin mən MVP-dən bu yazını gördüm ki, bunu edir.

Yeniləmə: Microsoft mənim Connect-ə təqdim etdiyim səhvi düzəltdi, lakin o, çərçivənin 4-cü versiyasında buraxılmadı. Ümid edirəm ki, növbəti SP-də və ya tam buraxılışda mövcud olmalıdır.

4

2 cavab

Bu, Çərçivədə bir səhv kimi görünür. Bəlkə də səhv edirəm, çünki bu, həqiqət ola bilməyəcək qədər böyükdür.

Reflector ilə .NET 3.5 SP1 mənbə koduna baxaraq, görə bilərsiniz ki, IsoStorageFileStream ölçüsüz əsas konstruktoru (FileStream()) çağırır, nəticədə qeyri-insiallaşdırılmış baza sinifi yaranır. IsolatedStorageFileStream FileStream nümunəsini yaradır və onu ləğv etdiyi bütün üsullarda istifadə edir (Yaz, Oxu, Təmizləmə, Axtar və s.). Qəribədir ki, o, öz baza sinifindən birbaşa istifadə etmir.

Lakin kilidləmə və kiliddən çıxarma ləğv edilmir və onlar hələ də sıfır olan şəxsi sahə (_handle) tələb edir (istifadə olunan konstruktor parametrsiz olduğundan). Onlar bunun boş olmadığını düşünür və onu oynayır və NRE-ni işə salırlar.

Xülasə etmək üçün, kilidləmə və kiliddən çıxarma dəstəklənmir (və ya işləmir).

Düşünürəm ki, Mutex və ya Semaphore kimi digər kilidləmə üsullarından istifadə etmək məcburiyyətindəsiniz.




Üst