Прога получает s/n вызовом CallWindowProcA но параметр "PrevProc" не является адресом процедуры. Вопрос что это и как найти процедуру которая возвращает s/n 00445C86 |. 50 PUSH EAX ; /lParam = 01A6920C 00445C87 |. 8B45 F8 MOV EAX,DWORD PTR [EBP-8] ; | 00445C8A |. 8B40 04 MOV EAX,DWORD PTR [EAX+4] ; | 00445C8D >|. 50 PUSH EAX ; |wParam = 25 00445C8E |. 8B45 F8 MOV EAX,DWORD PTR [EBP-8] ; | 00445C91 |. 8B00 MOV EAX,DWORD PTR [EAX] ; | 00445C93 |. 50 PUSH EAX ; |Message = WM_GETTEXT 00445C94 |. 8B45 FC MOV EAX,DWORD PTR [EBP-4] ; | 00445C97 |. 8B80 44010000 MOV EAX,DWORD PTR [EAX+144] ; | 00445C9D |. 50 PUSH EAX ; |hWnd = 002701D4 (class='TEdit',parent=002F01BA) 00445C9E |. 8B45 FC MOV EAX,DWORD PTR [EBP-4] ; | 00445CA1 |. 8B80 37010000 MOV EAX,DWORD PTR [EAX+137] ; | 00445CA7 |. 50 PUSH EAX ; |PrevProc = FFFF0283 00445CA8 |. E8 7B12FCFF CALL <JMP.&user32.CallWindowProcA> ; \CallWindowProcA
хм... может это хендл? хотя тоже не похож на хендл. скорее всего, проверка серийника не тут происходит=\ либо прога под отладчиком ведет себя не так, как без него
Great Проверка происходит не здесь, прога давно зарегана. Хочется узнать как прога из edita s/n получает?
shel_nik lpPrevWndFunc [in] Pointer to the previous window procedure. If this value is obtained by calling the GetWindowLong function with the nIndex parameter set to GWL_WNDPROC or DWL_DLGPROC, it is actually either the address of a window or dialog box procedure, or a special internal value meaningful only to CallWindowProc. http://msdn2.microsoft.com/en-us/library/ms633571.aspx