Здравствуйте как мне зделать *.lib файлы из системных dll типа kernel32.dll ? Пробывал с помощью lib.exe каторая входит в Visual Studio 2010 Express но что-то ничего не получаятся, подскажите пожалуйста.
lib.exe /DEF:kernel32.def def можно сгенерить например утилитой отсюда http://www.codeproject.com/KB/tips/ImpDef.aspx
А для генирации DEF нету утилы из Visual Studio ? Вроде можно с помощью dumpbin но непонимаю как. Код (Text): Windows PowerShell (C) Корпорация Майкрософт, 2009. Все права защищены. PS C:\Users\Алексей> cd .\Desktop\masm PS C:\Users\Алексей\Desktop\masm> .\dumpbin.exe Microsoft (R) COFF/PE Dumper Version 10.00.30319.01 Copyright (C) Microsoft Corporation. All rights reserved. usage: DUMPBIN [options] [files] options: /ALL /ARCHIVEMEMBERS /CLRHEADER /DEPENDENTS /DIRECTIVES /DISASM[:{BYTES|NOBYTES}] /ERRORREPORT:{NONE|PROMPT|QUEUE|SEND} /EXPORTS /FPO /HEADERS /IMPORTS[:filename] /LINENUMBERS /LINKERMEMBER[:{1|2}] /LOADCONFIG /OUT:filename /PDATA /PDBPATH[:VERBOSE] /RANGE:vaMin[,vaMax] /RAWDATA[:{NONE|1|2|4|8}[,#]] /RELOCATIONS /SECTION:name /SUMMARY /SYMBOLS /TLS /UNWINDINFO PS C:\Users\Алексей\Desktop\masm> PS C:\Users\Алексей\Desktop\masm> .\dumpbin.exe /EXPORTS C:\Windows\System32\kernel32.dll Microsoft (R) COFF/PE Dumper Version 10.00.30319.01 Copyright (C) Microsoft Corporation. All rights reserved. Dump of file C:\Windows\System32\kernel32.dll File Type: DLL Section contains the following exports for KERNEL32.dll 00000000 characteristics 4A5BC32C time date stamp Tue Jul 14 03:28:44 2009 0.00 version 1 ordinal base 1386 number of functions 1386 number of names ordinal hint RVA name 1 0 AcquireSRWLockExclusive (forwarded to NTDLL.RtlAcquireSRWLockExclusive) 2 1 AcquireSRWLockShared (forwarded to NTDLL.RtlAcquireSRWLockShared) 3 2 000044B0 ActivateActCtx 4 3 00066B20 AddAtomA 5 4 00066AC0 AddAtomW 6 5 0006AD90 AddConsoleAliasA 7 6 0006AE00 AddConsoleAliasW 8 7 0004B7D0 AddIntegrityLabelToBoundaryDescriptor 9 8 000956E0 AddLocalAlternateComputerNameA 10 9 0008FBB0 AddLocalAlternateComputerNameW 11 A 00048CC0 AddRefActCtx 12 B 0004B800 AddSIDToBoundaryDescriptor 13 C 0004E710 AddSecureMemoryCacheCallback 14 D AddVectoredContinueHandler (forwarded to NTDLL.RtlAddVectoredContinueHandler) 15 E AddVectoredExceptionHandler (forwarded to NTDLL.RtlAddVectoredExceptionHandler) 16 F 00096D50 AdjustCalendarDate 17 10 00085920 AllocConsole 18 11 000481F0 AllocateUserPhysicalPages 19 12 0005B2D0 AllocateUserPhysicalPagesNuma 20 13 0007F450 ApplicationRecoveryFinished 21 14 00086FF0 ApplicationRecoveryInProgress 22 15 0004CAD0 AreFileApisANSI 23 16 0000BC20 AssignProcessToJobObject 24 17 00085830 AttachConsole 25 18 00090030 BackupRead 26 19 00077D10 BackupSeek 27 1A 0008FD30 BackupWrite 28 1B 000870B0 BaseCheckAppcompatCache 29 1C 00087000 BaseCheckAppcompatCacheEx 30 1D 000095B0 BaseCheckRunApp 31 1E 00048A60 BaseCleanupAppcompatCacheSupport 32 1F 00008140 BaseDllReadWriteIniFile 33 20 00048920 BaseDumpAppcompatCache 34 21 0006FA30 BaseFlushAppcompatCache 35 22 00002500 BaseFormatObjectAttributes 36 23 00043470 BaseFormatTimeOut 37 24 0006F9C0 BaseGenerateAppCompatData 38 25 000570C0 BaseGetNamedObjectDirectory 39 26 0006FBD0 BaseInitAppcompatCacheSupport 40 27 0001C6E0 BaseIsAppcompatInfrastructureDisabled 41 28 00087170 BaseQueryModuleData 42 29 00022D30 BaseSetLastNTError 43 2A 0001F560 BaseThreadInitThunk 44 2B 0005B5B0 BaseUpdateAppcompatCache 45 2C 000433B0 BaseVerifyUnicodeString 46 2D 000153E0 Basep8BitStringToDynamicUnicodeString ... 1381 564 00067CB0 uaw_lstrlenW 1382 565 00052150 uaw_wcschr 1383 566 00052120 uaw_wcscpy 1384 567 00052110 uaw_wcsicmp 1385 568 000520F0 uaw_wcslen 1386 569 000520D0 uaw_wcsrchr Summary 2000 .data A000 .pdata 6E000 .rdata 8000 .reloc 1000 .rsrc 9B000 .text PS C:\Users\Алексей\Desktop\masm>
Ну Ultimate вообще то платный , у меня нету денег на такое дорогостоющее программное обеспечение. Вариантов с VC нету я так понимаю?
Не знаю, я у друга взял бесплатно.... mingw ??? Я, вот, скачал в комплекте с кодеблоксом, буду смотреть...
А как так получается, что в экспресс есть хэдэры, но нет либ? Или сейчас выясниться, что там и хэдэров нет? Тут была правильная мысль про сдк, там вроде бы всё есть.
Вобщем то там есть lib файлы но далеко не все нужные. Не понимаю почему ошибка. .. забыл подключить user32.lib Вообще мне нужен был ntdll.lib его в експресс версии нету.
Ды какой это проэкт , так баловство , программа не выполняет своих функций вот думаю почему. Фаил не прикрепляется к сожаленю Вот код Код (Text): .686p .model flat,stdcall option casemap:none includelib ./lib/kernel32.lib includelib ./lib/shell32.lib includelib ./lib/advapi32.lib includelib ./lib/user32.lib .data? PROGRAM_FILESX86 db 260 dup (?) hKey dd ? .data xchat db "\xchat\inst.conf",0 RegistryKey db "\Software\XChat\",0 installed db "installed",0 .code start: SHGetSpecialFolderPathA PROTO :DWORD,:DWORD,:DWORD,:DWORD push 1 push 0002ah ;CSIDL_PROGRAM_FILESX86 push offset PROGRAM_FILESX86 push 0 call SHGetSpecialFolderPathA lstrcatA PROTO :DWORD,:DWORD push offset xchat push offset PROGRAM_FILESX86 call lstrcatA DeleteFileA PROTO :DWORD push offset PROGRAM_FILESX86 call DeleteFileA RegOpenKeyExA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD push offset hKey push 0000F003Fh ;KEY_ALL_ACCESS push 0 push offset RegistryKey push 80000001h ;HKEY_CURRENT_USER call RegOpenKeyExA mov hKey,eax RegDeleteKeyA PROTO :DWORD,:DWORD push offset installed push hKey call RegDeleteKeyA RegCloseKey PROTO :DWORD push hKey call RegCloseKey jmp msg MessBoxA db "XChat Trial Reset",0 msg: MessageBoxA PROTO :DWORD,:DWORD,:DWORD,:DWORD push 00000030h push 0h push offset MessBoxA push 0h call MessageBoxA ExitProcess PROTO :DWORD push eax call ExitProcess end start
это не версия и даже не сдк. это ддк или вдк. он зависит от версии оси http://www.google.com.ua/search?sourceid=chrome&ie=UTF-8&q=ntdll.lib ддк/вдк легко скачать
Попробуй ассемблировать без линковки, а потом отдельно прийтись линкером, указав ему явно нужные библиотеки.