секция ресурсов

Discussion in 'WASM.BEGINNERS' started by n1kt0, Mar 12, 2009.

  1. n1kt0

    n1kt0 Забанен

    Blog Posts:
    0
    Joined:
    Jul 18, 2007
    Messages:
    160
    в общем дома просканил свои мануалы и буки и ничего не нашел. Где описание этой секции и что должно быть в ней ? во всех руководствах ничего нет
     
  2. Sol_Ksacap

    Sol_Ksacap Миша

    Blog Posts:
    0
    Joined:
    Mar 6, 2008
    Messages:
    623
    http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx
     
  3. n1kt0

    n1kt0 Забанен

    Blog Posts:
    0
    Joined:
    Jul 18, 2007
    Messages:
    160
    а какой-то примерчик по работе с ресурсами не подскажите ?
     
  4. Jupiter

    Jupiter Jupiter

    Blog Posts:
    0
    Joined:
    Aug 12, 2004
    Messages:
    532
    Location:
    Russia
  5. Phantom_84

    Phantom_84 New Member

    Blog Posts:
    0
    Joined:
    Jun 6, 2007
    Messages:
    820
    Да какие примерчики, тупо загружаешь по идентификатору с помощью соответствующей типу ресурса функции. А вообще кто досканально изучал работу fasm'а по части ресурсов, структуру секции ресурсов должен был тоже изучить... До сих пор как страшный сон вспоминаю... CHARACTERISTICS... TIMEDATESTAMP... MAJORVERSION... MINORVERSION... группы объектов... заголовки объектов... и отдельно сами объекты... LANGUAGE... CODEPAGE... VS_VERSION_INFO... заморочки с выравниванием... всего и не перечесть. Короче пользуйся компилятором ресурсов и не парься :)
     
  6. MSoft

    MSoft New Member

    Blog Posts:
    0
    Joined:
    Dec 16, 2006
    Messages:
    2,854
    Phantom_84
    я так подозреваю, что цель - не создание ресурсов руками :))
    n1kt0
    описание ты найдешь и сам. Могу только дать совет: в ресурсах реально используется только 3 уровня (не пытайся обрабатывать больше) - это тип, имя и язык ресурс. Если примешь это как константу, обрабатывать все остальное будет на порядок легче.
     
  7. MSoft

    MSoft New Member

    Blog Posts:
    0
    Joined:
    Dec 16, 2006
    Messages:
    2,854
    Jupiter
    залей на сендспейс пжлста
     
  8. Jupiter

    Jupiter Jupiter

    Blog Posts:
    0
    Joined:
    Aug 12, 2004
    Messages:
    532
    Location:
    Russia
  9. Mikl___

    Mikl___ Супермодератор Staff Member

    Blog Posts:
    14
    Joined:
    Jun 25, 2008
    Messages:
    3,914
    посмотри Сам себе Iczelion начиная с #121 идет ручная сборка ресурсов, там и комментарии есть
     
  10. n1kt0

    n1kt0 Забанен

    Blog Posts:
    0
    Joined:
    Jul 18, 2007
    Messages:
    160
    всем спасибо, сам себе айсзелион посмотрю
    ps: тему не закрывайте - может еще вопросы появятся
     
  11. Semiono

    Semiono Member

    Blog Posts:
    0
    Joined:
    Nov 27, 2005
    Messages:
    793
    я себе такое откуда-то выдрал :)

    Code (Text):
    1. section '.rsrc' resource data readable
    2.  
    3. directory RT_ICON,icons,RT_GROUP_ICON,group_icons,RT_VERSION,versions
    4. resource icons,1,LANG_NEUTRAL,icon_data
    5. resource group_icons,17,LANG_NEUTRAL,main_icon
    6. resource versions,1,LANG_NEUTRAL,version
    7.  
    8. icon main_icon,icon_data,'%SystemRoot%\system32\Icons\exec.ico'
    9.  
    10. versioninfo version,VOS__WINDOWS32,VFT_APP,VFT2_UNKNOWN,LANG_ENGLISH+SUBLANG_DEFAULT,0,\
    11.               'FileDescription','ClockSkew...',\
    12.               'LegalCopyright','2001-2005 GmbH',\
    13.               'FileVersion','1.0.0.0',\
    14.               'ProductVersion','1.0.0.0',\
    15.               'OriginalFilename','ClockSkew.exe',\
    16.               'Company','Semiono'
     
  12. KondraT

    KondraT Member

    Blog Posts:
    0
    Joined:
    Jan 22, 2006
    Messages:
    175
  13. Semiono

    Semiono Member

    Blog Posts:
    0
    Joined:
    Nov 27, 2005
    Messages:
    793
    offtop:

    Code (Text):
    1. include '%fasm%\win32a.inc'
    2. section '.code' code readable executable
    3. blah-blah...
    4.  
    5. data import
    6. library kernel32,'KERNEL32.DLL',shell32,'SHELL32.DLL'
    7. import kernel32,ExitProcess,'ExitProcess'
    8. import shell32,ShellExecute,'ShellExecuteA'
    9. end data
    Code (Text):
    1. include '%fasm%\win32ax.inc'
    2. section '.code' code readable executable
    3. start:
    4. blah-blah...
    5.  
    6. .end start
    В чём фитча-то? Последний пример получается больше! Из чего я делаю вывод, что наверное там больше описаний для функций и как бы болше шансов что это будет работать на любой системе? В отличе от принудительного data import где я сам конкретно указываю ANSI либы из моей системы? Или там не так всё вовсе? Что есть круче? :)
     
  14. iZzz32

    iZzz32 Sergey Sfeli

    Blog Posts:
    0
    Joined:
    Sep 3, 2006
    Messages:
    355
    Semiono, оба варианта win32-инклуда создают одинаковый по функционалу exe. Отличия только в намакросенных удобствах. И да, ещё win32ax-вариант создаёт под импорты отдельную секцию, оттого и отличия в размере.
    Я пользуюсь win32a.inc и win32w.inc, но это только дело вкуса.
     
  15. Semiono

    Semiono Member

    Blog Posts:
    0
    Joined:
    Nov 27, 2005
    Messages:
    793
    > под импорты отдельную секцию
    а, тогда ясно!
    iZzz32, а win32w.inc это для -W функций, я так понял..? Я то думал, что у меня всегда W козяблики выдаёт! Видимо потому что я W под win32ax.inc врубал.
    Хотя в плане приоритетов ) наверное с A функциями совместимость будет лучше в разных виновс?
     
  16. Semiono

    Semiono Member

    Blog Posts:
    0
    Joined:
    Nov 27, 2005
    Messages:
    793
    Только обноружил, что Code Page: (Latin I)
    Обычно хочется 0 (ANSI Default) В Fasm не смог ничего CP_ACP, CP_ANSI методом тыка подобрать

    Просто для красоты нужно)
     
    den123 likes this.
  17. f13nd

    f13nd Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 22, 2009
    Messages:
    2,020
    Только не говори, что 15 лет разбирался с этим.
     
    den123, TrashGen, sl0n and 3 others like this.
  18. TrashGen

    TrashGen ТрещГен

    Blog Posts:
    0
    Joined:
    Mar 15, 2011
    Messages:
    1,201
    Location:
    подполье
    f13nd, 15 лет мы были в тени, но теперь больше уже не можем молчать! Мы те, кто хочет всю свою жизнь потратить за этим сцаным монитором, подбирая CP_ANSI методом тыка!
     
    sl0n likes this.