国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Jadual Kandungan
Bahagian fail pengepala:
Fungsi cangkuk:
Pengendalian pengecualian
Fungsi utama
Ujian
Rumah tutorial komputer pengetahuan komputer Mari kita bincangkan tentang menggunakan mekanisme perlindungan halaman Windows untuk mengaitkan fungsi

Mari kita bincangkan tentang menggunakan mekanisme perlindungan halaman Windows untuk mengaitkan fungsi

Mar 26, 2024 am 09:40 AM
windows cangkuk fungsi

Ringkasan

Guard Pages ialah mekanisme perlindungan memori dalam sistem pengendalian, digunakan untuk mengesan dan menghalang capaian haram kepada ingatan. Dalam sistem pengendalian Windows, Halaman Pengawal biasanya terletak di hujung halaman memori, yang biasanya tidak diperuntukkan atau tidak boleh diakses. Fungsi utama Guard Pages adalah untuk meningkatkan keselamatan sistem dan menghalang program berniat jahat atau ralat daripada mengakses memori, sekali gus melindungi sistem daripada potensi risiko dan kelemahan keselamatan. Dengan menggunakan Halaman Pengawal, sistem pengendalian boleh menemui dan menghalang operasi haram pada memori dengan segera, memastikan kestabilan dan keselamatan sistem.

Apabila program cuba mengakses Halaman Pengawal, sistem pengendalian akan segera mengenali dan mencetuskan pengecualian, biasanya pengecualian pelanggaran akses. Penjanaan pengecualian ini membantu program mengesan ralat capaian memori dalam masa, dan kemudian mengambil langkah yang sewajarnya, seperti menamatkan atur cara atau merekod maklumat ralat, untuk mengelakkan potensi kelemahan keselamatan daripada dieksploitasi. Dengan cara ini, sistem boleh mengekalkan kawalan ke atas akses memori dan memastikan kestabilan dan keselamatan operasi program. Tetapan Halaman Pengawal menyediakan sistem dengan mekanisme yang berkesan untuk memantau dan melindungi akses memori, supaya sebarang masalah yang berpotensi dapat ditemui dan ditangani dalam masa, sekali gus meningkatkan kestabilan dan keselamatan sistem. Melalui pencetusan pengecualian, program boleh bertindak balas dengan cepat apabila ralat berlaku, dengan berkesan menghalang masalah capaian memori yang boleh membawa kepada akibat yang serius.

Guard Pages digunakan secara meluas dalam Windows Hooking untuk memantau dan memintas akses kepada kawasan memori tertentu. Melalui teknologi ini, fungsi sistem boleh diubah suai atau dipantau, memberikan sokongan kukuh untuk bidang seperti penyahpepijatan perisian, penyelidikan keselamatan dan analisis perisian hasad. Halaman Pengawal menampilkan keupayaan untuk mengesan akses kepada memori yang dilindungi dan mencetuskan pengendali yang sesuai apabila akses berlaku. Mekanisme ini berguna untuk melindungi data atau kod kritikal daripada akses tanpa kebenaran dan potensi lubang keselamatan. Dengan mengkonfigurasi Halaman Pengawal dengan betul, anda boleh meningkatkan keselamatan dan kestabilan sistem serta memastikan sistem

Proses pelaksanaan

Kod keseluruhan adalah seperti berikut:

#include 
#include 

// Hook函數(shù)功能
HANDLE hook(LPSECURITY_ATTRIBUTES rcx, SIZE_T rdx, LPTHREAD_START_ROUTINE r8, LPVOID r9, DWORD stck1, LPDWORD stck2) {
MessageBoxA(0, "CreateThread() was called!", "YAY!", 0);
MessageBoxA(0, "Hooked CreateThread", "YAY!", 0);
// 這里調(diào)用原始CreateThread函數(shù)
//return CreateThread(rcx, rdx, r8, r9, stck1, stck2);
 return NULL;
}

LONG WINAPI handler(EXCEPTION_POINTERS * ExceptionInfo) {
 if (ExceptionInfo->ExceptionRecord->ExceptionCode == STATUS_GUARD_PAGE_VIOLATION) {
if (ExceptionInfo->ContextRecord->Rip == (DWORD64) &CreateThread) {
 printf("[!] Exception (%#llx)!" , ExceptionInfo->ExceptionRecord->ExceptionAddress);
printf("nClick a key to continue...n");
 getchar();
 ExceptionInfo->ContextRecord->Rip = (DWORD64) &hook;
printf("Modified RIP Points to: %#llxn", ExceptionInfo->ContextRecord->Rip);
printf("Hook Function = %#llxn", (DWORD64) &hook);
}
return EXCEPTION_CONTINUE_EXECUTION;
 }
 return EXCEPTION_CONTINUE_SEARCH;
}

int main() {
 DWORD old = 0;
DWORD param = 5000;
 AddVectoredExceptionHandler(1, &handler);
 VirtualProtect(&CreateThread, 1, PAGE_EXECUTE_READ | PAGE_GUARD, &old);
 printf("CreateThread addr = %#pn", &CreateThread);
 
 HANDLE hThread = CreateThread(0, 0, (LPTHREAD_START_ROUTINE) &Sleep, ?m, 0, 0);
 WaitForSingleObject(hThread, param);
 printf("YEP!n");

 return 0;
}

Bahagian fail pengepala:

Kod bermula dengan memasukkan fail pengepala yang diperlukan, termasuk dan , yang masing-masing menyediakan fungsi dan definisi untuk API Windows dan operasi I/O standard.

Fungsi cangkuk:

Kod ini mentakrifkan cangkuk fungsi cangkuk, yang digunakan untuk memintas fungsi API CreateThread yang mencipta benang dalam aplikasi Windows. Di dalam fungsi cangkuk, dua kotak mesej dipaparkan untuk menggesa panggilan fungsi CreateThread dan menunjukkan bahawa ia telah disambungkan. Perlu diingatkan bahawa dalam kod ini, fungsi CreateThread asal sebenarnya tidak dipanggil, tetapi dipintas.

Pengendalian pengecualian

Tentukan fungsi pengendali dan tetapkannya sebagai pengendali pengecualian menggunakan AddVectoredExceptionHandler Fungsi ini direka bentuk untuk mengendalikan pengecualian, khususnya STATUS_GUARD_PAGE_VIOLATION, yang merupakan pengecualian yang berlaku apabila cuba melaksanakan kod pada halaman memori yang dilindungi. Jika kod pengecualian ialah STATUS_GUARD_PAGE_VIOLATION dan penunjuk arahan (Rip) menghala ke fungsi CreateThread, ia akan memaparkan mesej dan mengubah suai Rip untuk menghala ke fungsi cangkuk. Sebarang percubaan untuk memanggil fungsi CreateThread akan diubah hala ke fungsi cangkuk.

Fungsi utama

Di dalam fungsi utama, pembolehubah lama diisytiharkan tetapi tidak digunakan. Pembolehubah param ditetapkan kepada 5000 dan fungsi AddVectoredExceptionHandler dipanggil untuk mendaftarkan fungsi pengendali sebagai pengendali pengecualian. Gunakan VirtualProtect untuk menyediakan halaman pengawal pada fungsi CreateThread. Ini akan mencetuskan fungsi pengendali jika anda cuba melaksanakannya. Menggunakan printf menunjukkan alamat fungsi CreateThread. Satu utas baharu dicipta menggunakan CreateThread, tetapi itu nampaknya tidak memberi sebarang tujuan sebenar kerana utas itu hanya tidur selama 5000 milisaat. Selepas menunggu benang tamat, cetak "YEP!".

Ujian

Kompilkan kod dan laksanakannya, kesannya adalah seperti berikut:

Mari kita bincangkan tentang menggunakan mekanisme perlindungan halaman Windows untuk mengaitkan fungsi

Gambar

Atas ialah kandungan terperinci Mari kita bincangkan tentang menggunakan mekanisme perlindungan halaman Windows untuk mengaitkan fungsi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1502
276
Cara menetapkan semula tumpukan TCP/IP di Windows Cara menetapkan semula tumpukan TCP/IP di Windows Aug 02, 2025 pm 01:25 PM

ToresolvenetworkconnectivityissuesinWindows,resettheTCP/IPstackbyfirstopeningCommandPromptasAdministrator,thenrunningthecommandnetshintipreset,andfinallyrestartingyourcomputertoapplychanges;ifissuespersist,optionallyrunnetshwinsockresetandrebootagain

Apakah kebaikan dan keburukan utama Linux vs Windows? Apakah kebaikan dan keburukan utama Linux vs Windows? Aug 03, 2025 am 02:56 AM

Linux sesuai untuk perkakasan lama, mempunyai keselamatan yang tinggi dan boleh disesuaikan, tetapi mempunyai keserasian perisian yang lemah; Perisian Windows kaya dan mudah digunakan, tetapi mempunyai penggunaan sumber yang tinggi. 1. Dari segi prestasi, Linux ringan dan cekap, sesuai untuk peranti lama; Windows mempunyai keperluan perkakasan yang tinggi. 2. Dari segi perisian, Windows mempunyai keserasian yang lebih luas, terutama alat dan permainan profesional; Linux perlu menggunakan alat untuk menjalankan beberapa perisian. 3. Dari segi keselamatan, pengurusan kebenaran Linux lebih ketat dan kemas kini adalah mudah; Walaupun Windows dilindungi, ia masih terdedah kepada serangan. 4. Dari segi kesukaran penggunaan, lengkung pembelajaran Linux adalah curam; Operasi Windows adalah intuitif. Pilih mengikut keperluan: Pilih Linux dengan prestasi dan keselamatan, dan pilih Windows dengan keserasian dan kemudahan penggunaan.

Cara menukar resolusi skrin di Windows Cara menukar resolusi skrin di Windows Aug 02, 2025 pm 03:08 PM

Kanan-klikthedesktopandSelect "Displaysettings" toopenthedisplayOptions.2.UNDERTHE "paparan", klik "paparanResolution" dropdownandchoosearesolution, lebih disukaiThereCommendeNeForbeStimagequality.3.confirmthechanges

Cara Membolehkan Hyper-V di Windows Cara Membolehkan Hyper-V di Windows Aug 04, 2025 am 12:53 AM

Hyper-vcanbeenabledonwindowspro, perusahaan, oreducationeditionsbymeetingsystemrequirementsincluding64-bitcpuwithslat, vmmonitormodeextension, bios/uefivirtualizationenabled, andatleast4gbram.2bram

Bagaimana untuk menyelesaikan sentuhan sentuh tidak berfungsi di Windows? Bagaimana untuk menyelesaikan sentuhan sentuh tidak berfungsi di Windows? Aug 05, 2025 am 09:21 AM

Checkifthetouchpadisdisabledbyusingthefunctionkey(Fn F6/F9/F12),adedicatedtogglebutton,orensuringit’sturnedoninSettings>Devices>Touchpad,andunplugexternalmice.2.UpdateorreinstallthetouchpaddriverviaDeviceManagerbyselectingUpdatedriverorUninstal

Cara menyelesaikan masalah pemasangan Windows yang gagal Cara menyelesaikan masalah pemasangan Windows yang gagal Aug 02, 2025 pm 12:53 PM

Sahkan visifewiWowSoisfrommicrosoftandRecreatetheBebootaTableSabableusBusthemediacreationToolorrufusWithCorrectSettings; 2.ensureHardwaremeeterRequirements, testRamandstorageHealthelheurals;

Cara melancarkan kemas kini pemandu di Windows Cara melancarkan kemas kini pemandu di Windows Aug 03, 2025 am 11:10 AM

OpendeviceManagerBypressingwin xandselectingitorsearchingInthestartMenu.2.locatetheproblematicDevice-suchasdisplayadapters, soundvideoandgamecontrollers, networkadapters, orinputdevices

Cara Mengubah Affinity Pemproses untuk Aplikasi secara kekal di Windows Cara Mengubah Affinity Pemproses untuk Aplikasi secara kekal di Windows Aug 03, 2025 am 12:37 AM

WindowsdoesnotnegieldsupportPortanlySavingProcessorfinityfinityforapplications, butyoucanachievePersisentifityAnfinySingscriptsorthird-partytools.1.ProcessorAffityBindsAprocessTospecificcpucores, IntervingProveAnderThermalManagement, walaupunWindowSrealagement

See all articles