00403C02 A1 B49D4400 MOV EAX,DWORD PTR DS:[449DB4]
00403C07 68 007F0000 PUSH 7F00 ;ESP+4 lpCursorName(LoadCursorA) IDC_ARROW
00403C0C 53 PUSH EBX ;ESP+4 hInstance(LoadCursorA)
00403C0D 897424 20 MOV DWORD PTR SS:[ESP+20],ESI ;cbSize
00403C11 895C24 24 MOV DWORD PTR SS:[ESP+24],EBX ;style
00403C15 C74424 28 E03E40>MOV DWORD PTR SS:[ESP+28],复件_ljg.00403EE0 ;lpfnWndProc
00403C1D 895C24 2C MOV DWORD PTR SS:[ESP+2C],EBX ;cbClsExtra
00403C21 895C24 30 MOV DWORD PTR SS:[ESP+30],EBX ;cbWndExtra
00403C25 894424 34 MOV DWORD PTR SS:[ESP+34],EAX ;hInstance
00403C29 895C24 38 MOV DWORD PTR SS:[ESP+38],EBX ;hIcon
00403C2D FF15 A4034400 CALL DWORD PTR DS:[<&USER32.LoadCursorA>] ;ESP-2*4 USER32.LoadCursorA
00403C33 8D4C24 18 LEA ECX,DWORD PTR SS:[ESP+18]
00403C37 C74424 38 060000>MOV DWORD PTR SS:[ESP+38],6 ;hCursor?
00403C3F 51 PUSH ECX ;cbSize?
00403C40 894424 38 MOV DWORD PTR SS:[ESP+38],EAX ;hbrBackground
00403C44 895C24 40 MOV DWORD PTR SS:[ESP+40],EBX ;lpszMenuName
00403C48 C74424 44 188244>MOV DWORD PTR SS:[ESP+44],复件_ljg.00448218 ;lpszClassName ASCII "AtlAxWin"
00403C50 895C24 48 MOV DWORD PTR SS:[ESP+48],EBX ;hIconSm
00403C54 FF15 A0034400 CALL DWORD PTR DS:[<&USER32.RegisterClassExA>] ; USER32.RegisterClassExA
这是我用od跟踪到一个主窗体注册前的一段代码。最右边是我的注释,请看我注的对不对?
1.lpfnWndProc是不是00403EE0那里,我去过00403EE0,应该最后调用一个DefWindowProcA才对啊,怎么没有:(
而且跟踪调试的时候根本不会进去00403EE0。
2.hCursor和cbSize那里对吗?那里MOV DWORD PTR SS:[ESP+38],6是什么意思?
3.hbrBackground是不是要占8个字节,而其他成员其他占4个字节?
[课程]Android-CTF解题方法汇总!