Просто Datzibao №2
Теперь посмотрим процедуру проверки, для этого дизассемблируем в DEDE событие "abcMouseLabel2Click". 004E9A70 53 push ebx 004E9A71 83C4F0 add esp, -$10 004E9A74 8BD8 mov ebx, eax * Reference to : TForm11.Proc_004E92DC() | 004E9A76 E861F8FFFF call 004E92DC ; знакомая нам процедура получения серийного номера тома 'C:\' * Reference to control TForm11.RxCalcEdit1 : TRxCalcEdit | 004E9A7B 8B8300030000 mov eax, [ebx+$0300] * Reference to : TRxCalcEdit._PROC_004E85F4() | 004E9A81 E86EEBFFFF call 004E85F4 ; получает введенный нами регистрационный номер 004E9A86 D81D589B4E00 fcomp dword ptr [$004E9B58] ; проверяет, пустая ли строка? 004E9A8C DFE0 fstsw ax ; 004E9A8E 9E sahf ; 004E9A8F 0F84BC000000 jz 004E9B51 ; если строка пустая прыгает и выходит, иначе продолжает 004E9A95 68E8030000 push $000003E8 ; * Reference to: SysInit.Proc_004069C0 | 004E9A9A E821CFF1FF call 004069C0 ; вызов sleep 004E9A9F 33D2 xor edx, edx * Reference to control TForm11.Image2 : TImage | 004E9AA1 8B8314030000 mov eax, [ebx+$0314] ; * Reference to: controls.TControl.SetVisible(TControl;Boolean); | 004E9AA7 E8FC34F4FF call 0042CFA8 ; скрывает image2 * Reference to control TForm11.RxCalcEdit1 : TRxCalcEdit | 004E9AAC 8B8300030000 mov eax, [ebx+$0300] * Reference to : TRxCalcEdit._PROC_004E85F4() | 004E9AB2 E83DEBFFFF call 004E85F4 004E9AB7 DB3C24 fstp tbyte ptr [esp] 004E9ABA 9B wait * Reference to pointer to GlobalVar_004FE258 | 004E9ABB A180AE4F00 mov eax, dword ptr [$004FAE80] ; 004E9AC0 8B00 mov eax, [eax] ; в eax, указатель на серийный номер тома * Reference to: Unit_00407868.Proc_004088FC | 004E9AC2 E835EEF1FF call 004088FC ; переводит ascii в число, т.о

























