Помогите с кодом, может у кого есть пример. Нужен патчер для exe, с музыкой, задача просто поменять иконку(и) в exe файле --- Сообщение объединено, 4 сен 2025 --- Это вообще возможно поменять ресурсы в бинаре? --- Сообщение объединено, 4 сен 2025 --- ResHacker - только просматривает? Но желательно бы отдельной программкой всё это оформить
ResHacker может любе голубое --- Сообщение объединено, 4 сен 2025 --- ResHacker не поможет ежели у вас спец-кейс (иконки впечатанно как лента байтов а не как ресурс - тогда ой)
Природа не стремится к красоте или уродству, добру или злу. Она просто существует по своим законам. Грандиозные события (рождение звезд, взрывы туманностей) происходят независимо от того, есть ли кто-то, кто их наблюдает. И даже редактирование иконки в ResHacker. В этом есть глубокий космический пессимизм.
Гибель звезды - событие чудовищного масштаба, высвобождающее энергию, которую мы даже не можем вообразить. Но на протяжении миллиардов лет эти космические драмы разыгрывались в абсолютно пустом зале. Вселенная существует не для нас. Мы не были целью или венцом творения.
Попыткой решения парадокса является уравнение Дрейка, которое оценивает возможное количество внеземных цивилизаций, способных вступить в контакт с человеческой. При некоторых значениях неизвестных параметров уравнение даёт высокую оценку шансам на такую встречу
Иконки, курсоры и маленькие bmp-шки для кнопок обычно хранятся в ресурсах в несжатом виде, то есть, при одних и тех же размерах и цветовом разрешении занимают одно и то же количество байтов. То есть, если не менять размеры и цветовое разрешение - можно просто прямо поверх переписать байты содержимого прямо руками.
Вспомнилось, как Винрар от напоминалки "купи меня" отучал путем переименования ресурса reminder ) Пользуясь случаем, спрошу, если кто-то работал с TinyC Compiler, как там нормально можно подключить WinMM.dll к EXE? Сейчас делаю через Loadlibrary, но это такое себе.
зачем? давно есть генерила делает ключ без ввсякой патченинки... --- Сообщение объединено, 4 сен 2025 --- demo.c:2: error: include file 'mmsystem.h' not found хедер есть тут http://download.savannah.gnu.org/releases/tinycc/ --- Сообщение объединено, 4 сен 2025 --- >tcc demo.c -lwinmm
С Винраром просто PoC был. Спасибо! Про хидеры знал, но через -lwinmm не догадался или неполучалось, хотя пробовал всякое. Оно меня смутило def и lib файлами. Хотя -luser32 работало (потому что эти файлы уже были сгенерированы для этой dll?).
скорее всего, .def файлы заменяют автору этого си библиотеки импорта я бы из того, что вывалил tdump про внутренний мир winmm.dll оставил только имена (в предположении, что они следуют в порядке возрастания индекса) и, возможно, этого будет достаточно (плюс хидер для типизации вызовов со стороны исходника) но вообще чуть позорненько выглядит компилятор, который вот так цепляет библиотеки трушный Борланд не сказать, чтобы далеко ушел вперед, но хотя бы имеет в поставке implib.exe который из любой dll делает .lib файл OMF стандарта - хотя технически библиотека импорта несет тот же смысл - но кучка библиотек выглядит единообразно и в едином бинарном формате в сторону замечу, что tdump из девяностых хотя и умеет парсить PE файлы, от winmm.dll из семерки 64 просто падает и, похоже, неверно парсит секции Спойлер: простыня Turbo Dump Version 5.0.16.12 Copyright (c) 1988, 2000 Inprise Corporation Display of File WINMM.DLL [поскипано] ****************************************************************************** Section: Exports Flags: 00000000 Time Stamp: 41107EB5 : Wed Aug 04 09:14:13 2004 Major Version: 0000 Minor Version: 0000 Exports from WINMM.dll 209 exported name(s), 210 export addresse(s). Ordinal base is 2. Not sorted RVA Ord. Hint Name -------- ---- ---- ---- 0001A8F7 0000 00003894 2 0001 CloseDriver 0000E382 3 0002 DefDriverProc 000054A9 4 0003 DriverCallback 00002DE5 5 0004 DrvGetModuleHandle 00002DE5 6 0005 GetDriverModuleHandle 0001B7B4 7 0006 MigrateAllDrivers 0000AAA0 8 0007 MigrateSoundEvents 00010906 9 0008 NotifyCallbackData 00002E3E 10 0009 OpenDriver 0001A8F7 11 000A PlaySound 0001A8F7 12 000B PlaySoundA 00004657 13 000C PlaySoundW 00003128 14 000D SendDriverMessage 00010D0C 15 000E WOW32DriverCallback 00011183 16 000F WOW32ResolveMultiMediaHandle 0001B571 17 0010 WOWAppExit 0001B794 18 0011 WinmmLogoff 0000A903 19 0012 WinmmLogon 00011644 22 0013 aux32Message 0000E164 23 0014 auxGetDevCapsA 0000E0F2 24 0015 auxGetDevCapsW 0000E0C6 25 0016 auxGetNumDevs 0000E2AB 26 0017 auxGetVolume 0000E04F 27 0018 auxOutMessage 0000E2FB 28 0019 auxSetVolume 0000D9D9 29 001A gfxAddGfx 0000DDE1 30 001B gfxBatchChange 0000DCB1 31 001C gfxCreateGfxFactoriesList 0000DD49 32 001D gfxCreateZoneFactoriesList 0000DAD9 33 001E gfxDestroyDeviceInterfaceList 0000DBB9 34 001F gfxEnumerateGfxs 0000DF29 20 0020 _gfxLogoff@0 0000A92F 21 0021 _gfxLogon@4 0000D979 35 0022 gfxModifyGfx 0000DEBF 36 0023 gfxOpenGfx 0000DA79 37 0024 gfxRemoveGfx 00010F81 38 0025 joy32Message 0000ED67 39 0026 joyConfigChanged 0000F696 40 0027 joyGetDevCapsA 0000F5E3 41 0028 joyGetDevCapsW 0000E711 42 0029 joyGetNumDevs 0000FC2D 43 002A joyGetPos 0000F91D 44 002B joyGetPosEx 0000FC89 45 002C joyGetThreshold 0000EC78 46 002D joyReleaseCapture 0000FF40 47 002E joySetCapture 0000FD25 48 002F joySetThreshold 000130B1 49 0030 mci32Message 000167D9 50 0031 mciDriverNotify 0001664F 51 0032 mciDriverYield 000142DF 52 0033 mciExecute 00014E32 53 0034 mciFreeCommandResource 000159FE 54 0035 mciGetCreatorTask 000159C7 55 0036 mciGetDeviceIDA 000167FB 56 0037 mciGetDeviceIDFromElementIDA 00015839 57 0038 mciGetDeviceIDFromElementIDW 000159AA 58 0039 mciGetDeviceIDW 000165B5 59 003A mciGetDriverData 000136FF 60 003B mciGetErrorStringA 00013792 61 003C mciGetErrorStringW 00016703 62 003D mciGetYieldProc 00014B46 63 003E mciLoadCommandResource 0001441B 64 003F mciSendCommandA 00013BA0 65 0040 mciSendCommandW 0001494A 66 0041 mciSendStringA 0001429E 67 0042 mciSendStringW 000165FF 68 0043 mciSetDriverData 000166AD 69 0044 mciSetYieldProc 00012264 70 0045 mid32Message 00019F95 71 0046 midiConnect 00019F7A 72 0047 midiDisconnect 00019ADE 73 0048 midiInAddBuffer 0001993E 74 0049 midiInClose 0001961A 75 004A midiInGetDevCapsA 0001956A 76 004B midiInGetDevCapsW 000197D3 77 004C midiInGetErrorTextA 00018B71 78 004D midiInGetErrorTextW 00019CA6 79 004E midiInGetID 000194F1 80 004F midiInGetNumDevs 0001951D 81 0050 midiInMessage 00019803 82 0051 midiInOpen 000199ED 83 0052 midiInPrepareHeader 00019BC3 84 0053 midiInReset 00019B47 85 0054 midiInStart 00019B85 86 0055 midiInStop 00019A58 87 0056 midiInUnprepareHeader 000193B5 88 0057 midiOutCacheDrumPatches 0001930D 89 0058 midiOutCachePatches 00018D4E 90 0059 midiOutClose 0001870C 91 005A midiOutGetDevCapsA 00009FBB 92 005B midiOutGetDevCapsW 000197D3 93 005C midiOutGetErrorTextA 00018B71 94 005D midiOutGetErrorTextW 00019CF3 95 005E midiOutGetID 00007C38 96 005F midiOutGetNumDevs 0001896A 97 0060 midiOutGetVolume 000191F1 98 0061 midiOutLongMsg 000092FB 99 0062 midiOutMessage 00018BAD 100 0063 midiOutOpen 00018DFD 101 0064 midiOutPrepareHeader 00019292 102 0065 midiOutReset 00018A3B 103 0066 midiOutSetVolume 0001916A 104 0067 midiOutShortMsg 00018FF2 105 0068 midiOutUnprepareHeader 0001A2E3 106 0069 midiStreamClose 00019FB0 107 006A midiStreamOpen 0001A526 108 006B midiStreamOut 0001A460 109 006C midiStreamPause 0001A3E9 110 006D midiStreamPosition 0001A375 111 006E midiStreamProperty 0001A48F 112 006F midiStreamRestart 0001A431 113 0070 midiStreamStop 00009795 114 0071 mixerClose 00010812 115 0072 mixerGetControlDetailsA 0000A715 116 0073 mixerGetControlDetailsW 00010487 117 0074 mixerGetDevCapsA 0000A41F 118 0075 mixerGetDevCapsW 0000952C 119 0076 mixerGetID 000106E3 120 0077 mixerGetLineControlsA 0000A2F7 121 0078 mixerGetLineControlsW 00010624 122 0079 mixerGetLineInfoA 0000A4FB 123 007A mixerGetLineInfoW 00010147 124 007B mixerGetNumDevs 0000A2C6 125 007C mixerMessage 0000987E 126 007D mixerOpen 00010305 127 007E mixerSetControlDetails 00003A52 128 007F mmDrvInstall 0001B155 129 0080 mmGetCurrentTask 0001B0F9 130 0081 mmTaskBlock 0001B1A0 131 0082 mmTaskCreate 0001B135 132 0083 mmTaskSignal 0001B7B4 133 0084 mmTaskYield 00018036 134 0085 mmioAdvance 000182CA 135 0086 mmioAscend 00017FE4 136 0087 mmioClose 000183CC 137 0088 mmioCreateChunk 00018463 138 0089 mmioDescend 0001765C 139 008A mmioFlush 00017167 140 008B mmioGetInfo 0001775B 141 008C mmioInstallIOProcA 0001772C 142 008D mmioInstallIOProcW 00017DF2 143 008E mmioOpenA 00017C77 144 008F mmioOpenW 000180FA 145 0090 mmioRead 0001792C 146 0091 mmioRenameA 00017860 147 0092 mmioRenameW 000179F9 148 0093 mmioSeek 00017301 149 0094 mmioSendMessage 00017AB8 150 0095 mmioSetBuffer 000171A8 151 0096 mmioSetInfo 00017219 152 0097 mmioStringToFOURCCA 000176CE 153 0098 mmioStringToFOURCCW 000181CA 154 0099 mmioWrite 0001B6EB 155 009A mmsystemGetVersion 00012065 156 009B mod32Message 00011729 157 009C mxd32Message 0001A9A6 158 009D sndPlaySoundA 0001A8B2 159 009E sndPlaySoundW 00010E4E 160 009F tid32Message 00006002 161 00A0 timeBeginPeriod 00006154 162 00A1 timeEndPeriod 00002BA5 163 00A2 timeGetDevCaps 0001AEA3 164 00A3 timeGetSystemTime 00004E5B 165 00A4 timeGetTime 0001AA7D 166 00A5 timeKillEvent 0001B0C8 167 00A6 timeSetEvent 0001C2C9 168 00A7 waveInAddBuffer 0001C115 169 00A8 waveInClose 0001BEBF 170 00A9 waveInGetDevCapsA 00009EDC 171 00AA waveInGetDevCapsW 0001BB82 172 00AB waveInGetErrorTextA 0001C0D9 173 00AC waveInGetErrorTextW 0001C4E4 174 00AD waveInGetID 000062A4 175 00AE waveInGetNumDevs 0001C3FD 176 00AF waveInGetPosition 00008F66 177 00B0 waveInMessage 00009148 178 00B1 waveInOpen 0001C1C4 179 00B2 waveInPrepareHeader 0001C3AE 180 00B3 waveInReset 0001C332 181 00B4 waveInStart 0001C370 182 00B5 waveInStop 0001C23B 183 00B6 waveInUnprepareHeader 0001BC7A 184 00B7 waveOutBreakLoop 00005736 185 00B8 waveOutClose 0001B7BC 186 00B9 waveOutGetDevCapsA 000083EA 187 00BA waveOutGetDevCapsW 0001BB82 188 00BB waveOutGetErrorTextA 0001C0D9 189 00BC waveOutGetErrorTextW 0001C531 190 00BD waveOutGetID 0000626D 191 00BE waveOutGetNumDevs 0001BD0B 192 00BF waveOutGetPitch 0001BD9B 193 00C0 waveOutGetPlaybackRate 0001BCB8 194 00C1 waveOutGetPosition 0001B9EA 195 00C2 waveOutGetVolume 000063C7 196 00C3 waveOutMessage 00005211 197 00C4 waveOutOpen 0001BBAF 198 00C5 waveOutPause 000059E9 199 00C6 waveOutPrepareHeader 0001BC2B 200 00C7 waveOutReset 0001BBED 201 00C8 waveOutRestart 0001BD5C 202 00C9 waveOutSetPitch 0001BDEC 203 00CA waveOutSetPlaybackRate 0001BA77 204 00CB waveOutSetVolume 000057D8 205 00CC waveOutUnprepareHeader 00005A5A 206 00CD waveOutWrite 00011E5F 207 00CE wid32Message 0001B7B4 208 00CF winmmDbgOut 0000E69F 209 00D0 winmmSetDebugLevel 00011BED 210 00D1 wod32Message