0040C530 . 64:A1 0000000>MOV EAX,DWORD PTR FS:[0]
0040C536 . 6A FF PUSH -1
0040C538 . 68 FCFF4300 PUSH AtLarge2.0043FFFC
0040C53D . 50 PUSH EAX
0040C53E . 64:8925 00000>MOV DWORD PTR FS:[0],ESP
0040C545 . 81EC 64020000 SUB ESP,264
0040C54B . 56 PUSH ESI
0040C54C . 8BF1 MOV ESI,ECX
0040C54E . E8 7FC10000 CALL <JMP.&MFC42u.#2371>
0040C553 . 8A86 6C350000 MOV AL,BYTE PTR DS:[ESI+356C]
0040C559 . 84C0 TEST AL,AL
0040C55B . 0F85 8A010000 JNZ AtLarge2.0040C6EB
0040C561 . 8B8424 780200>MOV EAX,DWORD PTR SS:[ESP+278]
0040C568 . 85C0 TEST EAX,EAX
0040C56A . 0F84 7B010000 JE AtLarge2.0040C6EB
0040C570 . 8B86 68350000 MOV EAX,DWORD PTR DS:[ESI+3568]
0040C576 . 57 PUSH EDI
0040C577 . 85C0 TEST EAX,EAX
0040C579 . 74 40 JE SHORT AtLarge2.0040C5BB
0040C57B . 8B50 20 MOV EDX,DWORD PTR DS:[EAX+20]
0040C57E . 8B3D 6C274400 MOV EDI,DWORD PTR DS:[<&USER32.GetWindow>; USER32.GetWindowRect
0040C584 . 8D4C24 20 LEA ECX,DWORD PTR SS:[ESP+20]
0040C588 . 51 PUSH ECX ; /pRect
0040C589 . 52 PUSH EDX ; |hWnd
0040C58A . FFD7 CALL EDI ; \GetWindowRect
0040C58C . 8B4E 20 MOV ECX,DWORD PTR DS:[ESI+20]
0040C58F . 8D4424 10 LEA EAX,DWORD PTR SS:[ESP+10]
0040C593 . 50 PUSH EAX ; /pRect
0040C594 . 51 PUSH ECX ; |hWnd
0040C595 . C686 6C350000>MOV BYTE PTR DS:[ESI+356C],1 ; |
0040C59C . FFD7 CALL EDI ; \GetWindowRect
0040C59E . 8B5424 1C MOV EDX,DWORD PTR SS:[ESP+1C] ; (初始 cpu 选择)
0040C5A2 . 8B4424 20 MOV EAX,DWORD PTR SS:[ESP+20]
0040C5A6 . 8B8E 68350000 MOV ECX,DWORD PTR DS:[ESI+3568]
0040C5AC . 6A 01 PUSH 1
0040C5AE . 6A 00 PUSH 0
0040C5B0 . 6A 00 PUSH 0
0040C5B2 . 52 PUSH EDX
0040C5B3 . 50 PUSH EAX
0040C5B4 . 6A 00 PUSH 0
0040C5B6 . E8 25BF0000 CALL <JMP.&MFC42u.#6193>
0040C5BB > E8 AEBE0000 CALL <JMP.&MFC42u.#1165>
0040C5C0 . 8B40 04 MOV EAX,DWORD PTR DS:[EAX+4]
0040C5C3 8A88 FC000000 MOV CL,BYTE PTR DS:[EAX+FC]
0040C5C9 . 84C9 TEST CL,CL
0040C5CB 0F85 AA000000 JNZ AtLarge2.0040C67B
0040C5D1 . 6A 00 PUSH 0
0040C5D3 . 8D4C24 34 LEA ECX,DWORD PTR SS:[ESP+34]
0040C5D7 . E8 24420000 CALL AtLarge2.00410800
0040C5DC . 8D4C24 30 LEA ECX,DWORD PTR SS:[ESP+30]
0040C5E0 . C78424 740200>MOV DWORD PTR SS:[ESP+274],0
0040C5EB . E8 34BD0000 CALL <JMP.&MFC42u.#2506>
0040C5F0 . 68 34524500 PUSH AtLarge2.00455234 ; at-large recorder 2 is running in demo mode...
0040C5F5 . 8D4C24 0C LEA ECX,DWORD PTR SS:[ESP+C]
0040C5F9 . E8 5EBE0000 CALL <JMP.&MFC42u.#538>
0040C5FE . C68424 740200>MOV BYTE PTR SS:[ESP+274],1
0040C606 . E8 63BE0000 CALL <JMP.&MFC42u.#1165>
0040C60B . 8B40 04 MOV EAX,DWORD PTR DS:[EAX+4]
0040C60E . 8D4C24 08 LEA ECX,DWORD PTR SS:[ESP+8]
0040C612 . 51 PUSH ECX
0040C613 . 8BB8 14010000 MOV EDI,DWORD PTR DS:[EAX+114]
0040C619 . 8D8F 0C020000 LEA ECX,DWORD PTR DS:[EDI+20C]
0040C61F . E8 A0BF0000 CALL <JMP.&MFC42u.#858>
0040C624 . 8B57 20 MOV EDX,DWORD PTR DS:[EDI+20]
0040C627 . 6A 00 PUSH 0 ; /Erase = FALSE
0040C629 . 6A 00 PUSH 0 ; |pRect = NULL
0040C62B . 52 PUSH EDX ; |hWnd
0040C62C . FF15 04274400 CALL DWORD PTR DS:[<&USER32.InvalidateRe>; \InvalidateRect
0040C632 . 8D4C24 08 LEA ECX,DWORD PTR SS:[ESP+8]
0040C636 . C68424 740200>MOV BYTE PTR SS:[ESP+274],0
0040C63E . E8 01BE0000 CALL <JMP.&MFC42u.#800>
0040C643 . 8D8C24 900000>LEA ECX,DWORD PTR SS:[ESP+90]
0040C64A . C78424 740200>MOV DWORD PTR SS:[ESP+274],2
0040C655 . C78424 900000>MOV DWORD PTR SS:[ESP+90],AtLarge2.??_7C>
0040C660 . E8 ABCA0000 CALL AtLarge2.?Destroy@CxImage@@QAE_NXZ
0040C665 . 8D4C24 30 LEA ECX,DWORD PTR SS:[ESP+30]
0040C669 . C78424 740200>MOV DWORD PTR SS:[ESP+274],-1
0040C674 . E8 A1BD0000 CALL <JMP.&MFC42u.#641>
0040C679 . EB 59 JMP SHORT AtLarge2.0040C6D4
0040C67B > 68 D4514500 PUSH AtLarge2.004551D4 ; thank you for registering at-large recorder 2!
0040C680 . 8D4C24 10 LEA ECX,DWORD PTR SS:[ESP+10]
0040C684 . E8 D3BD0000 CALL <JMP.&MFC42u.#538>
0040C689 . C78424 740200>MOV DWORD PTR SS:[ESP+274],3
0040C694 . E8 D5BD0000 CALL <JMP.&MFC42u.#1165>
0040C699 . 8B40 04 MOV EAX,DWORD PTR DS:[EAX+4]
0040C69C . 8BB8 14010000 MOV EDI,DWORD PTR DS:[EAX+114]
0040C6A2 . 8D4424 0C LEA EAX,DWORD PTR SS:[ESP+C]
0040C6A6 . 50 PUSH EAX
0040C6A7 . 8D8F 0C020000 LEA ECX,DWORD PTR DS:[EDI+20C]
0040C6AD . E8 12BF0000 CALL <JMP.&MFC42u.#858>
0040C6B2 . 8B4F 20 MOV ECX,DWORD PTR DS:[EDI+20]
0040C6B5 . 6A 00 PUSH 0 ; /Erase = FALSE
0040C6B7 . 6A 00 PUSH 0 ; |pRect = NULL
0040C6B9 . 51 PUSH ECX ; |hWnd
0040C6BA . FF15 04274400 CALL DWORD PTR DS:[<&USER32.InvalidateRe>; \InvalidateRect
0040C6C0 . 8D4C24 0C LEA ECX,DWORD PTR SS:[ESP+C]
0040C6C4 . C78424 740200>MOV DWORD PTR SS:[ESP+274],-1
0040C6CF . E8 70BD0000 CALL <JMP.&MFC42u.#800>
0040C6D4 > 8B56 20 MOV EDX,DWORD PTR DS:[ESI+20]
0040C6D7 . 6A 00 PUSH 0 ; /Timerproc = NULL
0040C6D9 . 68 D0070000 PUSH 7D0 ; |Timeout = 2000. ms
0040C6DE . 68 ADBA0000 PUSH 0BAAD ; |TimerID = BAAD (47789.)
0040C6E3 . 52 PUSH EDX ; |hWnd
0040C6E4 . FF15 88274400 CALL DWORD PTR DS:[<&USER32.SetTimer>] ; \SetTimer
0040C6EA . 5F POP EDI
0040C6EB > 8B8C24 680200>MOV ECX,DWORD PTR SS:[ESP+268]
0040C6F2 . 5E POP ESI
0040C6F3 . 64:890D 00000>MOV DWORD PTR FS:[0],ECX
0040C6FA . 81C4 70020000 ADD ESP,270
0040C700 . C2 0800 RETN 8
看后面的说明似乎很简单。我将0040C5CB 0F85 AA000000 JNZ AtLarge2.0040C67B 改成JZ。就没有弹出要求注册的窗口了,但是功能限制了。不知道是不是在这段代码里控制的?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课