рдЯреНрд░реЛрдЬрди рдФрд░ рд╣рд░ рдореИрд▓рд╡реЗрдпрд░ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рд░реЛрдЬрдорд░реНрд░рд╛ рдХреЗ рдХрд╛рдо рдореЗрдВ, рдкрд░реНрдпрд╛рдкреНрдд рдЖрд╡рдзрд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рдРрд╕реЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ рдЬреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдП рдЧрдП рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореИрдВ рдорд╛рдореВрд▓реА рд░реВрдк рд╕реЗ рдЖрд▓рд╕реА рд╣реВрдВ рдФрд░ рд░рд┐рдВрдЧ 3 рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЖрдкрдХреЛ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдбрд┐рдмрдЧрд░реНрд╕ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓рд┐рдП рдмрд┐рдирд╛ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ рдЕрдирдкреИрдХ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ред
рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХрд╣рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рдЙрди рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ рдЬреЛ рдХрд░реНрдиреЗрд▓ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдмрд╣реБрдд рдХрдо рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдПрдкреАрдЖрдИ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рджрд░реНрдЬрдиреЛрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХрд╛ рдХреНрд░рдоред рдЕрдиреНрдпрдерд╛, рд╣рдо рдПрдХ рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рдХрд╛рдо рдХреЗ рдЗрдВрддрдЬрд╛рд░ рдореЗрдВ рд╣реИрдВ, рдЬреЛ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред
рдбреНрд░рд╛рдЗрд╡рд░ рдХреА рддреИрдпрд╛рд░реА
рд╕реНрд╡рдпрдВ рдЪрд╛рд▓рдХ, рдЗрд╕рдХреА рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ, рд╕рд╛рдорд╛рдиреНрдп рдЧрддрд┐рд╢реАрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╣реИред рдФрд░ рдЗрд╕реЗ рд░рд┐рдВрдЧ 3 рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреАрдИ-рд╣реЗрдбрд░ рдореЗрдВ рдХреБрдЫ рдлрд╝реАрд▓реНрдб рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреН:
- Windows GUI рдкрд░ рдореВрд▓ рдХреЗ рд╕рд╛рде рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдЯрд╛рдЗрдк рдХрд░реЗрдВред (PeTools рдореЗрдВ, рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИрдбрд░ рдмрдЯрди);
- IMAGE_FILE_HEADER.Characteristics рдлрд╝реАрд▓реНрдб рдореЗрдВ Dll рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕реЗрдЯ рдХрд░реЗрдВред (PeTools рдореЗрдВ, рдлрд╝рд╛рдЗрд▓ рд╣реИрдбрд░ рдмрдЯрди, рдФрд░ рдлрд┐рд░ рдЕрднрд┐рд▓рдХреНрд╖рдг);
рдЕрдм рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рд╕реЗ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдЦреЛрд▓рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕реНрдЯрдмреНрд╕ рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдбреАрдПрд▓ (рдпрд╛ рдХрд┐рд╕реА рдХреЛ, рдЬреИрд╕рд╛ рднреА рдЪрд╛рд╣реЗрдВ) рд▓рд┐рдЦреЗрдВрдЧреЗред рд╣рдо рдЖрдпрд╛рддрд┐рдд API рдХреА рд╕реВрдЪреА рдЦреЛрд▓рддреЗ рд╣реИрдВ рдФрд░ MSDN рдпрд╛ рдЕрдиреНрдп рд╕реВрдЪрдирд╛ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдореЗрдВ рдЙрдирдХреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреА рддрд▓рд╛рд╢ рдХрд░рддреЗ рд╣реИрдВред
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реВрдЪреА рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

рддрд╛рдХрд┐ рдбреНрд░рд╛рдЗрд╡рд░ рд╣рдорд╛рд░реЗ dll рдХреЛ рдареАрдХ рд╕реЗ рд▓реЛрдб рдХрд░ рд╕рдХреЗ, рди рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдПрдХ рдХреЛ, рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдЖрдпрд╛рддрд┐рдд рдореЙрдбреНрдпреВрд▓ рдХреЗ рдирд╛рдореЛрдВ рдХреЛ рдкреИрдЪ рдХрд░ рд╕рдХреЗред

рдЕрдм рд╣рдорд╛рд░реЗ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдореЛрдб рдбрд┐рдмрдЧрд░ рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдУрд▓реАрдбрдмрдЧред
рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдЖрдк рдкреВрд░реЗ рд╣реЛрддреЗ рд╣реИрдВ, рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЦреЛрд▓рдирд╛ рдФрд░ рд╣рд▓ рдХрд░рдирд╛
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреИрдХрд░ рдЖрджрд┐рдо рд╣реИ - рдПрдХреНрд╕реЛрд░ рдФрд░ рдПрд▓рдЬреЗрдб рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдПрдХ рдмрджрд▓рд╛рд╡ред рдореИрдВ рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдХрд┐ рдпрд╣ рдереЛрдбрд╝рд╛ рдлрд┐рд╕рдбреНрдбреА рд╣реИ, рдПрдХреНрд╕реЛрд░ рдбрд┐рдХреНрд░рд┐рдкреНрдЯрд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдирд┐рдореНрди рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ:

рдпрд╣ рдкрд╣рд▓реА рдореБрд╕реАрдмрдд рд╣реИред рдпрджрд┐ рдЖрдк рдХреЛрдб рдХреЛ рдЬрд╛рдиреЗ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рддреБрд░рдВрдд рдЕрдкрд╡рд╛рдж ACCESS_VIOLATION рдХреЛ рдкрдХрдбрд╝ рд▓реЗрдВред рдХреЛрдб рд╕реЗрд╡рд╛ рд╕рдВрд░рдЪрдирд╛ рд╕реЗ ntoskrnl.exe рдХреЗ рдЕрдВрджрд░ рдкрддреЗ рдХреЛ рд▓реЗрддрд╛ рд╣реИ рдФрд░ ImageBase рдореЙрдбреНрдпреВрд▓ рдХреЛ рдвреВрдВрдврддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬрдм рд╕реЗ рд╣рдо рд░рд┐рдВрдЧ 3 рдореЗрдВ рд╣реИрдВ, рдПрдлрдПрд╕ рд╕реЗрдЧрдореЗрдВрдЯ рдореЗрдВ рд╕реНрдерд┐рдд рд╕рдВрд░рдЪрдирд╛ рдкрд░рдорд╛рдгреБ рд╕реЗ рдЕрд▓рдЧ рд╣реИред рдФрд░ рдпрджрд┐ рдЖрдк рдХреЛрдб рдХреЛ рдХреЛрдб рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдлрдПрд╕ рд╕реЗ: [38] 0 рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЕрдЧрд▓рд╛ рдХрдорд╛рдВрдб 0 + 4 рдкрд░ рдкрдврд╝рд╛ рдЬрд╛рдПрдЧрд╛ред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпрд╛ рддреЛ рд╣рдорд╛рд░реА рдореЗрдореЛрд░реА рдореЗрдВ рдХреЛрдИ рднреА ntoskrnl рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдореЗрдВ ntdll рдкрддрд╛ рдорд┐рд▓рддрд╛ рд╣реИ (рдЗрд╕рдХреЗ API рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд░реНрдиреЗрд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рдорд╛рди рд╣реИ)ред
рдореЗрдореЛрд░реА рдХрд╛рд░реНрдб рдЦреЛрд▓реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдПрдлрдПрд╕ рд╕реЗрдЧрдореЗрдВрдЯ рдореЗрдВ рдХреНрдпрд╛ рд╣реИред TIB - рдереНрд░реЗрдб рд╕реВрдЪрдирд╛ рдмреНрд▓реЙрдХ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдереЛрдбрд╝рд╛ рджреЗрдЦрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрд╕реЗ рдкреАрдИрдмреА - рдкреНрд░реЛрд╕реЗрд╕ рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо ntdll рдореЗрдВ рдХрд┐рд╕реА рднреА рдЙрдкрдпреБрдХреНрдд рдкрддреЗ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ (рдореИрдВрдиреЗ PEB.FastPebLock рдХреЛ рдЪреБрдирд╛)ред

рдЖрдк рдмрд╕ рдХреЛрдб рднрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЯреНрд░реЗрд╕ рдХреЗ рджреМрд░рд╛рди рдкрддрд╛ рдмрджрд▓рдХрд░ ntdll рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╣рдо рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдХрд╛рд░реНрдп рдХрд░реЗрдВрдЧреЗ - рд╣рдо рд╡рд┐рд╕реНрдерд╛рдкрди рдХреЛ рдмрджрд▓ рджреЗрдВрдЧреЗред

рдЕрдЧрд▓реА рд╕рдорд╕реНрдпрд╛ рдЬреЛ рд╣рдо рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рджреМрд░рд╛рди рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЕрдирдкреИрдХ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдкрд░рдорд╛рдгреБ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкрддреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЫрджреНрдо рдлрд╝рдВрдХреНрд╢рди xGetProcAddress рдХреЗ рд╕рд╛рде рдирд╛рдореЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реВрдк рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИред рдЗрд╕рдХреА рд╢реБрд░реБрдЖрдд, рдЬрд╣рд╛рдВ рдпрд╣ рдПрдордЬреЗрдб рд╣реЗрдбрд░ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддрд╛ рд╣реИ, рд╕рдмрд╕реЗ рдиреАрдЪреЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

EDX рдЖрд╡рд╢реНрдпрдХ рдлрд╝рдВрдХреНрд╢рди рдирд╛рдореЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЪреМрдХрд╕ рдереЛрдбрд╝рд╛ рдХрдо MZ рд╣реЗрдбрд░ рдХреЛ рдиреЛрдЯрд┐рд╕ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдмрд╛рдж рдореЗрдВ рдЙрд╕ рдкрд░ рдЕрдзрд┐рдХред
рдпрд╣ рдЕрд╕рд╛рдорд╛рдиреНрдп рдХреБрдЫ рднреА рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ ntdll рдореЗрдВ рдХреБрдЫ рдЖрд╡рд╢реНрдпрдХ API, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ, рддреЛ рдХрд░реНрдиреЗрд▓ 32.dll рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗред
PVOID ExAllocatePool(POOL_TYPE PoolType, SIZE_T NumberOfBytes); VOID ExFreePool(PVOID P);
PVOID ExAllocatePool(POOL_TYPE PoolType, SIZE_T NumberOfBytes); VOID ExFreePool(PVOID P);
рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
- HGLOBAL WINAPI GlobalAlloc (UINT uFlags, SIZE_T dwBytes);
- HGLOBAL WINAPI GlobalFree (HGLOBAL hMem);
рд╣рдо рдХрд┐рд╕реА рднреА рдЙрдкрд▓рдмреНрдз рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдирд╣реАрдВ рдХреЗ рдирд╛рдо рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ xGetProcAddress рдмрд╕ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░реЗред рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ NtClose рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ред

рдзреАрд░реЗ рд╕реЗ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдореЗрдВ NtClose рдПрдбреНрд░реЗрд╕ рдХреЛ рдЙрди рдХрд░реНрдирд▓ 32.dll рд╕реЗ рдЬрд░реВрд░реА рдПрдбреНрд░реЗрд╕ рд╕реЗ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВред рдЪрдХреНрд░ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкрддреЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рджреА рдЧрдИ рдЫрд╡рд┐ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЦрддреНрдо рд╣реЛ рдЧрдИ рд╣реИ, рд╣рдо рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред

рд╣рдо рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ GlobalAlloc рдХреЗ рд╕рд╛рде рдЬрд┐рд╕ ExAllocatePool рдХреЛ рд╣рдордиреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рд╡рд╣ рд▓рдЧрд╛рддрд╛рд░ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИред

рд╡реЗ рдЪреБрдкрдЪрд╛рдк рдЕрдирдкреИрдХрд┐рдВрдЧ рдХреЗ рдкрд╛рд╕ рдкрд╣реБрдБрдЪреЗред

рд╢рд╛рдпрдж рдХреЛрдб рдХреЛ рдХреЛрдбрд╛рдВрддрд░рдХ рдкрд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣рд╛рдБ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред рд╕реНрдХреНрд░реАрди рдкрд░ рдХреЛрдб рдореЗрдореЛрд░реА рдПрд▓реЛрдХреЗрд╢рди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рдЕрдирдкреИрдХрд┐рдВрдЧ рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ рдЗрдореЗрдЬ рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЬреАрд░реЛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореЗрдореЛрд░реА рдХреЛ рдХреНрд▓реАрди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдУрдИрдкреА рдХреЛ рдЬрдореНрдк рдХрд░рддрд╛ рд╣реИред
рдореИрдВрдиреЗ рд╡рд┐рдШрдЯрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЕрдзреНрдпрдпрди рдирд╣реАрдВ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╕рд┐рдХреБрдбрд╝рд╛ рд╣реБрдЖ рдбреЗрдЯрд╛ рдореБрдЭреЗ LZW рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рдорд╛рди рд▓рдЧ рд░рд╣рд╛ рдерд╛ред

рдЕрдирдкреИрдХрд░ рдХрд┐рд╕реА рднреА рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЬрд▓реНрджреА рдФрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЪрд▓рддрд╛ рд╣реИред рджрд░рдЕрд╕рд▓, рдЗрд╕рдХреЗ рдареАрдХ рдмрд╛рдж рдЖрдк рдПрдХ рд╕реНрд╡рдЪреНрдЫ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд╕рд╛рде рдХреНрд╖реЗрддреНрд░ рдХреЛ рдбрдВрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рд░рд┐рдВрдЧ 3 рдореЗрдВ рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝рдирд╛ рдХрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред
ReadyImage рдлрд╝рдВрдХреНрд╢рди рдЕрдирдкреИрдХ рдХреА рдЧрдИ рдЫрд╡рд┐ рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИ: рдЖрд╡рд╢реНрдпрдХ рдСрдлрд╝рд╕реЗрдЯ рдкрд░ рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реИ, рдЖрдпрд╛рдд рд╕реЗ API рдкрддреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд░рд┐рд▓реЛрдХреЗрд╢рди рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкрддреЗ рдХреЛ рдкреБрди: рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рддрд╛ рд╣реИред
IAT рдлрд╝рдВрдХреНрд╢рди рдЦреЛрдЬ рдЪрдХреНрд░ рджреНрд╡рд╛рд░рд╛ рд╣рдо рдЙрди рдкрд╣рд┐рдпреЛрдВ рд╕реЗ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЪрд┐рдкрдХреЗ рд░рд╣рддреЗ рд╣реИрдВ, рдЬреЛ рди рдХреЗрд╡рд▓ рдЙрди рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИрдВ (ntoskrnl, hal, рдЖрджрд┐), рдмрд▓реНрдХрд┐ рддрджрдиреБрд╕рд╛рд░ рдХрд╛рд░реНрдп рднреА рдХрд░рддреЗ рд╣реИрдВред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдВ рдкрд╣рд▓реЗ рд╣реА рдЪрдХреНрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдИрдЖрдИрдкреА рдХреЛ 0x008982d7 рдореЗрдВ рдмрджрд▓рдирд╛, рдИрдПрд╕рдкреА рдХреЛ рдХрдо рдХрд░рдирд╛ рдФрд░ рдЗрд╕реЗ EAX = 0 рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛, рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЗрд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред рд░рд┐рд▓реЗрдХреНрд╕ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ рд╣рдореЗрдВ рдХреЛрдИ рдкрд░реЗрд╢рд╛рдиреА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдФрд░ рд╣рдо рдЕрдВрдд рдореЗрдВ OEP рдЬрд╛рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд░реЛрдХрдирд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЖрдпрд╛рдд рдкрддреЗ рдмрд╣рд╛рд▓ рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдФрд░ рдореБрдЭреЗ рд╕реНрдЯрдмреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рдбреАрдПрд▓ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред рд╢реБрджреНрдз рдХреЛрдб рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдбрд┐рд╕реНрд╕реЗрдореНрдмрд▓рд░ рдореЗрдВ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░реВрдк рд╕реЗ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдмрдЬрд╛рдп
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

... рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж:

рдЦреЛрдЬ рдореЗрдВ рдиреАрдЪреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╕реЗ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЪрд▓рд╛рдХрд░ рдЖрдкрдХреЛ рдкреАрдбрд╝рд╛ рдирд╣реАрдВ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рддреБрд░рдВрдд рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рд░рд╕реНрдЯреЙрдХ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ
рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдореБрдЭреЗ рдпрдХреАрди рд╣реЛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рдЖрд▓рд╕реНрдп рдореБрдЭреЗ "рдорд╛рдереЗ" рдХреЗ рдлреИрд╕рд▓реЗ рд╕реЗ рднреА рджреВрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред