DLL to LIB

Тема в разделе "WASM.BEGINNERS", создана пользователем fragment, 2 авг 2010.

  1. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    Здравствуйте как мне зделать *.lib файлы из системных dll типа kernel32.dll ? Пробывал с помощью lib.exe каторая входит в Visual Studio 2010 Express но что-то ничего не получаятся, подскажите пожалуйста.
     
  2. wf_

    wf_ New Member

    Публикаций:
    0
    Регистрация:
    18 окт 2009
    Сообщения:
    40
    lib.exe /DEF:kernel32.def
    def можно сгенерить например утилитой отсюда http://www.codeproject.com/KB/tips/ImpDef.aspx
     
  3. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    А для генирации DEF нету утилы из Visual Studio ?
    Вроде можно с помощью dumpbin но непонимаю как.

    Код (Text):
    1. Windows PowerShell
    2. (C) Корпорация Майкрософт, 2009. Все права защищены.
    3.  
    4. PS C:\Users\Алексей> cd .\Desktop\masm
    5. PS C:\Users\Алексей\Desktop\masm> .\dumpbin.exe
    6. Microsoft (R) COFF/PE Dumper Version 10.00.30319.01
    7. Copyright (C) Microsoft Corporation.  All rights reserved.
    8.  
    9. usage: DUMPBIN [options] [files]
    10.  
    11.    options:
    12.  
    13.       /ALL
    14.       /ARCHIVEMEMBERS
    15.       /CLRHEADER
    16.       /DEPENDENTS
    17.       /DIRECTIVES
    18.       /DISASM[:{BYTES|NOBYTES}]
    19.       /ERRORREPORT:{NONE|PROMPT|QUEUE|SEND}
    20.       /EXPORTS
    21.       /FPO
    22.       /HEADERS
    23.       /IMPORTS[:filename]
    24.       /LINENUMBERS
    25.       /LINKERMEMBER[:{1|2}]
    26.       /LOADCONFIG
    27.       /OUT:filename
    28.       /PDATA
    29.       /PDBPATH[:VERBOSE]
    30.       /RANGE:vaMin[,vaMax]
    31.       /RAWDATA[:{NONE|1|2|4|8}[,#]]
    32.       /RELOCATIONS
    33.       /SECTION:name
    34.       /SUMMARY
    35.       /SYMBOLS
    36.       /TLS
    37.       /UNWINDINFO
    38. PS C:\Users\Алексей\Desktop\masm>
    39. PS C:\Users\Алексей\Desktop\masm> .\dumpbin.exe /EXPORTS C:\Windows\System32\kernel32.dll
    40. Microsoft (R) COFF/PE Dumper Version 10.00.30319.01
    41. Copyright (C) Microsoft Corporation.  All rights reserved.
    42.  
    43.  
    44. Dump of file C:\Windows\System32\kernel32.dll
    45.  
    46. File Type: DLL
    47.  
    48.   Section contains the following exports for KERNEL32.dll
    49.  
    50.     00000000 characteristics
    51.     4A5BC32C time date stamp Tue Jul 14 03:28:44 2009
    52.         0.00 version
    53.            1 ordinal base
    54.         1386 number of functions
    55.         1386 number of names
    56.  
    57.     ordinal hint RVA      name
    58.  
    59.           1    0          AcquireSRWLockExclusive (forwarded to NTDLL.RtlAcquireSRWLockExclusive)
    60.           2    1          AcquireSRWLockShared (forwarded to NTDLL.RtlAcquireSRWLockShared)
    61.           3    2 000044B0 ActivateActCtx
    62.           4    3 00066B20 AddAtomA
    63.           5    4 00066AC0 AddAtomW
    64.           6    5 0006AD90 AddConsoleAliasA
    65.           7    6 0006AE00 AddConsoleAliasW
    66.           8    7 0004B7D0 AddIntegrityLabelToBoundaryDescriptor
    67.           9    8 000956E0 AddLocalAlternateComputerNameA
    68.          10    9 0008FBB0 AddLocalAlternateComputerNameW
    69.          11    A 00048CC0 AddRefActCtx
    70.          12    B 0004B800 AddSIDToBoundaryDescriptor
    71.          13    C 0004E710 AddSecureMemoryCacheCallback
    72.          14    D          AddVectoredContinueHandler (forwarded to NTDLL.RtlAddVectoredContinueHandler)
    73.          15    E          AddVectoredExceptionHandler (forwarded to NTDLL.RtlAddVectoredExceptionHandler)
    74.          16    F 00096D50 AdjustCalendarDate
    75.          17   10 00085920 AllocConsole
    76.          18   11 000481F0 AllocateUserPhysicalPages
    77.          19   12 0005B2D0 AllocateUserPhysicalPagesNuma
    78.          20   13 0007F450 ApplicationRecoveryFinished
    79.          21   14 00086FF0 ApplicationRecoveryInProgress
    80.          22   15 0004CAD0 AreFileApisANSI
    81.          23   16 0000BC20 AssignProcessToJobObject
    82.          24   17 00085830 AttachConsole
    83.          25   18 00090030 BackupRead
    84.          26   19 00077D10 BackupSeek
    85.          27   1A 0008FD30 BackupWrite
    86.          28   1B 000870B0 BaseCheckAppcompatCache
    87.          29   1C 00087000 BaseCheckAppcompatCacheEx
    88.          30   1D 000095B0 BaseCheckRunApp
    89.          31   1E 00048A60 BaseCleanupAppcompatCacheSupport
    90.          32   1F 00008140 BaseDllReadWriteIniFile
    91.          33   20 00048920 BaseDumpAppcompatCache
    92.          34   21 0006FA30 BaseFlushAppcompatCache
    93.          35   22 00002500 BaseFormatObjectAttributes
    94.          36   23 00043470 BaseFormatTimeOut
    95.          37   24 0006F9C0 BaseGenerateAppCompatData
    96.          38   25 000570C0 BaseGetNamedObjectDirectory
    97.          39   26 0006FBD0 BaseInitAppcompatCacheSupport
    98.          40   27 0001C6E0 BaseIsAppcompatInfrastructureDisabled
    99.          41   28 00087170 BaseQueryModuleData
    100.          42   29 00022D30 BaseSetLastNTError
    101.          43   2A 0001F560 BaseThreadInitThunk
    102.          44   2B 0005B5B0 BaseUpdateAppcompatCache
    103.          45   2C 000433B0 BaseVerifyUnicodeString
    104.          46   2D 000153E0 Basep8BitStringToDynamicUnicodeString
    105. ...
    106.        1381  564 00067CB0 uaw_lstrlenW
    107.        1382  565 00052150 uaw_wcschr
    108.        1383  566 00052120 uaw_wcscpy
    109.        1384  567 00052110 uaw_wcsicmp
    110.        1385  568 000520F0 uaw_wcslen
    111.        1386  569 000520D0 uaw_wcsrchr
    112.  
    113.   Summary
    114.  
    115.         2000 .data
    116.         A000 .pdata
    117.        6E000 .rdata
    118.         8000 .reloc
    119.         1000 .rsrc
    120.        9B000 .text
    121. PS C:\Users\Алексей\Desktop\masm>
     
  4. maybeZ3N

    maybeZ3N New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2010
    Сообщения:
    80
    есть ещё implib написанный на фасме...
    тут
     
  5. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    Не поверю что в Visual Studio ничего нету!
     
  6. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    в скамерс! его специально создали для тех кто не понимает как.
     
  7. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    А зачем? Они пишут библиотеки с нуля. Это Борлонду и Фасму нужно.
     
  8. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    У меня на компьютере установлен Visual Studio 2010 Express как мне быть?
     
  9. maybeZ3N

    maybeZ3N New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2010
    Сообщения:
    80
    Скачать Ultimate, наверно, а зачем вы поставили экспресс?

    Кроме того, implib хорошо работает....
     
  10. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    Ну Ultimate вообще то платный , у меня нету денег на такое дорогостоющее программное обеспечение. Вариантов с VC нету я так понимаю?
     
  11. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    fragment
    Cкачайте Microsoft SDK.
     
  12. maybeZ3N

    maybeZ3N New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2010
    Сообщения:
    80
    Не знаю, я у друга взял бесплатно....

    mingw ???

    Я, вот, скачал в комплекте с кодеблоксом, буду смотреть...
     
  13. maybeZ3N

    maybeZ3N New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2010
    Сообщения:
    80
    И, если тебе надо либы, то можно скачать хутчевский масм. Он бесплатный, выдрал оттуда либы и всё...
     
  14. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    А может кто-нибудь помочь мне, зазипуйте пожалуйста и выложите masm32v10 уже установленную.
     
  15. maybeZ3N

    maybeZ3N New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2010
    Сообщения:
    80
    А как так получается, что в экспресс есть хэдэры, но нет либ? Или сейчас выясниться, что там и хэдэров нет?

    Тут была правильная мысль про сдк, там вроде бы всё есть.
     
  16. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    Вобщем то там есть lib файлы но далеко не все нужные.
    Не понимаю почему ошибка.
    [​IMG]

    .. забыл подключить user32.lib
    Вообще мне нужен был ntdll.lib его в експресс версии нету. :dntknw:
     
  17. maybeZ3N

    maybeZ3N New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2010
    Сообщения:
    80
    Боюсь спросить, а ты включил нужный либ файл? Можно тогда уж весь проект в студию?
     
  18. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    Ды какой это проэкт , так баловство , программа не выполняет своих функций вот думаю почему.
    Фаил не прикрепляется к сожаленю :dntknw:
    Вот код
    Код (Text):
    1. .686p
    2. .model flat,stdcall
    3. option casemap:none
    4.  
    5. includelib      ./lib/kernel32.lib
    6. includelib      ./lib/shell32.lib
    7. includelib      ./lib/advapi32.lib
    8. includelib      ./lib/user32.lib
    9.  
    10. .data?
    11. PROGRAM_FILESX86 db 260 dup (?)
    12. hKey dd ?
    13.  
    14. .data
    15. xchat db "\xchat\inst.conf",0
    16. RegistryKey db "\Software\XChat\",0
    17. installed db "installed",0
    18.  
    19. .code
    20. start:
    21.  
    22. SHGetSpecialFolderPathA PROTO :DWORD,:DWORD,:DWORD,:DWORD
    23.  
    24.     push 1
    25.     push 0002ah ;CSIDL_PROGRAM_FILESX86
    26.     push offset PROGRAM_FILESX86
    27.     push 0
    28.     call SHGetSpecialFolderPathA
    29.  
    30. lstrcatA PROTO :DWORD,:DWORD
    31.  
    32.     push offset xchat
    33.     push offset PROGRAM_FILESX86
    34.     call lstrcatA
    35.  
    36. DeleteFileA PROTO :DWORD
    37.  
    38.     push offset PROGRAM_FILESX86
    39.     call DeleteFileA    
    40.  
    41. RegOpenKeyExA PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
    42.  
    43.     push offset hKey
    44.     push 0000F003Fh ;KEY_ALL_ACCESS
    45.     push 0
    46.     push offset RegistryKey
    47.     push 80000001h ;HKEY_CURRENT_USER
    48.     call RegOpenKeyExA
    49.  
    50.     mov hKey,eax
    51.  
    52. RegDeleteKeyA PROTO :DWORD,:DWORD
    53.  
    54.     push offset installed
    55.     push hKey
    56.     call RegDeleteKeyA
    57.    
    58. RegCloseKey PROTO :DWORD
    59.  
    60.     push hKey
    61.     call RegCloseKey
    62.  
    63. jmp msg
    64.  
    65. MessBoxA db "XChat Trial Reset",0
    66.  
    67. msg:
    68.  
    69. MessageBoxA PROTO :DWORD,:DWORD,:DWORD,:DWORD
    70.  
    71.     push 00000030h
    72.     push 0h
    73.     push offset MessBoxA
    74.     push 0h
    75.     call MessageBoxA
    76.  
    77. ExitProcess PROTO :DWORD
    78.  
    79.     push eax
    80.     call ExitProcess
    81.  
    82. end start
     
  19. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    это не версия и даже не сдк. это ддк или вдк. он зависит от версии оси
    http://www.google.com.ua/search?sourceid=chrome&ie=UTF-8&q=ntdll.lib
    ддк/вдк легко скачать
     
  20. maybeZ3N

    maybeZ3N New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2010
    Сообщения:
    80
    Попробуй ассемблировать без линковки, а потом отдельно прийтись линкером, указав ему явно нужные библиотеки.