看得快晕了,都不知道那些获取硬件信息的函数与主程序的关联怎么样的,那些信息返回到哪了....唉。。。
/images/2011/147787/2011051411021524.jpg" border="0" />
1000D4F0 >/$ B8 36D90110 mov eax, 1001D936 1000D4F5 |. E8 D6D50000 call 1001AAD0 1000D4FA |. 83EC 30 sub esp, 30 1000D4FD |. A1 48E50210 mov eax, dword ptr [1002E548] 1000D502 |. 53 push ebx 1000D503 |. 8945 EC mov dword ptr [ebp-14], eax 1000D506 |. 33C0 xor eax, eax 1000D508 |. 56 push esi 1000D509 |. 57 push edi 1000D50A |. 8945 C8 mov dword ptr [ebp-38], eax 1000D50D |. 8965 F0 mov dword ptr [ebp-10], esp 1000D510 |. 8945 C8 mov dword ptr [ebp-38], eax 1000D513 |. 8945 C4 mov dword ptr [ebp-3C], eax 1000D516 |. 8945 FC mov dword ptr [ebp-4], eax 1000D519 |. E8 54F0FFFF call 1000C572 1000D51E |. 8945 C8 mov dword ptr [ebp-38], eax 1000D521 |. C745 FC 02000>mov dword ptr [ebp-4], 2 1000D528 |. E8 F0EDFFFF call 1000C31D 1000D52D |. 8945 C4 mov dword ptr [ebp-3C], eax 1000D530 |. FF75 C4 push dword ptr [ebp-3C] ; /<%.8x> 1000D533 |. 0FB745 C8 movzx eax, word ptr [ebp-38] ; | 1000D537 |. 834D FC FF or dword ptr [ebp-4], FFFFFFFF ; | 1000D53B |. 50 push eax ; |<%.4x> 1000D53C |. 8D45 CC lea eax, dword ptr [ebp-34] ; | 1000D53F |. 68 BC100210 push 100210BC ; |format = "%.4x%.8x" 1000D544 |. 50 push eax ; |s 1000D545 |. FF15 44F30110 call dword ptr [<&MSVCR71.sprintf>] ; \sprintf 1000D54B |. 8B4D 08 mov ecx, dword ptr [ebp+8] 1000D54E |. 83C4 10 add esp, 10 1000D551 |. 8D45 CC lea eax, dword ptr [ebp-34] 1000D554 |. 50 push eax 1000D555 |. FF15 E0F20110 call dword ptr [<&MSVCP71.std::basic_>; MSVCP71.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> > 1000D55B 8B4D FB mov ecx, dword ptr [ebp-5] 1000D55E |. 8B45 08 mov eax, dword ptr [ebp+8] 1000D561 |. 64:890D 00000>mov dword ptr fs:[0], ecx 1000D568 8B4D EC mov ecx, dword ptr [ebp-14] 1000D56B |. E8 0FD60000 call 1001AB7F 1000D570 |. 5F pop edi 1000D571 |. 5E pop esi 1000D572 |. 5B pop ebx 1000D573 |. C9 leave 1000D574 \. C3 retn
1000D54B |. 8B4D 08 mov ecx, dword ptr [ebp+8] 1000D54E |. 83C4 10 add esp, 10 1000D551 |. 8D45 CC lea eax, dword ptr [ebp-34] 1000D554 |. 50 push eax 1000D555 |. FF15 E0F20110 call dword ptr [<&MSVCP71.std::basic_>; MSVCP71.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> > 1000D55B 8B4D FB mov ecx, dword ptr [ebp-5] 1000D55E |. 8B45 08 mov eax, dword ptr [ebp+8] //这里就看到了。 1000D561 |. 64:890D 00000>mov dword ptr fs:[0], ecx 1000D568 8B4D EC mov ecx, dword ptr [ebp-14] 1000D56B |. E8 0FD60000 call 1001AB7F //但eax的值在这个函数返回后被破坏。 1000D570 |. 5F pop edi 1000D571 |. 5E pop esi 1000D572 |. 5B pop ebx 1000D573 |. C9 leave