"ED!SON (пер. Mr.Boco). Как ломать программы Windows" - читать интересную книгу автора



3.1.3 ‚ ®в« ¤зЁЄҐ
=================
Wow! ђ Ў®в Ґв! ’ҐЇҐам ўл ў SoftICE, ў б ¬®¬ ­ з «Ґ дг­ЄжЁЁ GetDlgItemTextA.
—в®Ўл Ї®Ї бвм вг¤ , ®вЄг¤  ®­  Ўл«  ўл§ў ­ , ­ ¦¬ЁвҐ F11. ’ҐЇҐам ‚л ў­гваЁ
¬®¤г«п SGLSET.EXE. …б«Ё ‚л ­Ґ 㢥७л - Ї®б¬®ваЁвҐ ­  бва®зЄг ¬Ґ¦¤г ®Є­®¬
Є®¤  Ё ®Є­®¬ Є®¬ ­¤­®© бва®ЄЁ, ®­  ¤®«¦­  ўлЈ«п¤Ґвм в Є:

----------SGLSET!.text+1B13----------

‘Ґ©з б ‚л 㦥 ¬®¦ҐвҐ § ЇаҐвЁвм ॠЄжЁо ­  ўл§®ў дг­ЄжЁЁ:

:bd 0

…б«Ё ‚ ¬ ў¤агЈ § е®зҐвбп б­®ў  а §аҐиЁвм ҐҐ, ­ ЎҐаЁвҐ:

:be 0

ЏҐаў п бва®Є  ў ®Є­Ґ Є®¤  ўлЈ«п¤Ёв в Є:

CALL [USER32!GetDlgItemTextA]

—в®Ўл Ї®б¬®ваҐвм бва®зЄЁ ­ ¤ ­Ґ©, ­ ¦Ё¬ ©вҐ Ctrl+Up ("бв५Є  ўўҐае") ¤®
вҐе Ї®а, Ї®Є  ­Ґ гўЁ¤ЁвҐ ­Ё¦ҐЇаЁўҐ¤Ґ­­л© Єгб®Є Є®¤ . …б«Ё ‚л ­ЁзҐЈ® ­Ґ
Ї®­Ё¬ ҐвҐ ў ЂбᥬЎ«ҐаҐ, п ¤®Ў ўЁ« Є®¬¬Ґ­в аЁЁ Є®в®алҐ ¬®Јгв ‚ ¬ Ї®¬®зм.

RET ; Љ®­Ґж дг­ЄжЁЁ
PUSH EBP ; Ќ з «® ¤агЈ®© дг­ЄжЁЁ
MOV EBP, ESP ; ...
SUB ESP, 0000009C ; ...
PUSH ESI ; ...
> LEA EAX, [EBP-34] ; EAX = EBP-34
PUSH EDI ; ...
MOVE ESI, ECX ; ...
PUSH 32 ; Њ Єб. ¤«Ё­  бва®ЄЁ
> PUSH EAX ; Ђ¤аҐб ⥪бв®ў®Ј® ЎгдҐа 
PUSH 000003F4 ; €¤Ґ­вЁдЁЄ в®а гЇа ў«Ґ­Ёп
PUSH DWORD PTR [ESI+1C] ; €¤Ґ­вЁдЁЄ в®а ®Є­  ¤Ё «®Ј 
CALL [USER32!GetDlgItemTextA] ; Џ®«гзЁвм ⥪бв

Љ®¬ ­¤л PUSH ®§­ з ов б®еа ­Ґ­ЁҐ §­ зҐ­Ё© ¤«п Ї®б«Ґ¤го饣® ЁбЇ®«м§®ў ­Ёп.
џ Ї®¬ҐвЁ« ў ¦­лҐ бва®зЄЁ бЁ¬ў®«®¬ '>'. ѓ«п¤п ­  нв®в Є®¤, ¬л ўЁ¤Ё¬, зв®
 ¤аҐб ⥪бв®ў®Ј® ЎгдҐа  еа ­Ё«бп ў ॣЁбвॠEAX Ё зв® EAX Ўл« EBP-34h.
Џ®н⮬㠭 ¬ бв®Ёв ў§Ј«п­гвм ­  EBP-34h:

:d ebp-34

‚л ¤®«¦­л Ўл«Ё гўЁ¤Ґвм ⥪бв, Є®в®ал© ўл ўўҐ«Ё ў ¤Ё «®Ј®ў®¬ ®Є­Ґ. ’ҐЇҐам ¬л
¤®«¦­л ­ ©вЁ ¬Ґбв®, Ј¤Ґ ‚ и ­®¬Ґа ба ў­Ёў Ґвбп б ॠ«м­л¬ бҐаЁ©­л¬ ­®¬Ґа®¬.