Current time: 20.09.2024, 03:11 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Плагин: воспроизведение видео в формате BIK (2022)
» Читает BIK: версии 0.5b и 1.8d
Author Message
myoffice91 Offline
Moderators

Posts: 89
Post: #39

(25.07.2024 11:46)XEPOMAHT Wrote:  Вчерашняя версия era.dll 3.9.15 портит (или не даёт записывать) структуру видеоролика по адресу 694D00h из-за чего становится невозможно воспроизведение вступительных роликов перед главным меню (т.к. исходных кодов от плагина Video playback in BIK format.dll у меня нет, чтобы исправить конфликт хуков с era.dll). В общем опять ERA+ остётся на era.dll версии 3.9.14. 105


Причина: автор ЭРА решил оптимизировать хук в экзешнике, а плагин BIK не сталкивался с разновидностью ассемблера из era.dll и не переписывает закрытый вызов API из era.dll =). А в версиях 3.9.14 и 3.9.15 в процедуре Hook_OpenBik - без изменений в ассемблере, кроме в 3.0.

Было:
Code:
Core.Hook(Ptr($44D270), Core.HOOKTYPE_BRIDGE, @Hook_OpenBik);
https://github.com/ethernidee/b2/blob/7c...e.pas#L440

Стало: ЭРА начиная с версий 3.9.15 (24.07.2024)
Code:
ApiJack.HookCode(Ptr($44D270), @Hook_OpenBik);

https://github.com/ethernidee/b2/blob/ma...k.pas#L347


В ассемблере:
Code:
05D03FF8   | 60                     | pushad          
05D03FF9   | 54                     | push esp      
05D03FFA   | B8 98B81505            | mov eax,era.515B898      
05D03FFF   | FFD0                   | call eax        
05D04001   | 85C0                   | test eax,eax                  
05D04003   | 74 10                  | je 5D04015  
05D04005   | 61                     | popad                    
05D04006   | 83C4 04                | add esp,4        
05D04009   | 55                     | push ebp            
05D0400A   | 8BEC                   | mov ebp,esp      
05D0400C   | 83EC 28                | sub esp,28          
05D0400F   | 68 75D24400            | push h3era hd.44D275      
05D04014   | C3                     | ret          
05D04015   | 61                     | popad  
05D04016   | C3                     | ret


Новая версия ЭРА 3.9.15
Code:
05933CB0   | 60                   | pushad              
05933CB1   | 54                   | push esp                                    
05933CB2   | E8 69BC31FF          | call era.4C4F920          
05933CB7   | 85C0                 | test eax,eax                            
05933CB9   | 0F84 0F000000        | je 5933CCE                  
05933CBF   | 61                   | popad                                
05933CC0   | 83C4 04              | add esp,4                              
05933CC3   | 55                   | push ebp                              
05933CC4   | 8BEC                 | mov ebp,esp                  
05933CC6   | 83EC 28              | sub esp,28                        
05933CC9   | E9 A895B1FA          | jmp h3era hd.44D276              
05933CCE   | 61                   | popad                
05933CCF   | C3                   | ret



В будущем, вдруг кто-то захочет улучшить оптимизацию хука назовёт ApiJack.HookCodeNoReturnResult
push ecx
push esp
call era.4C4F920
pop ecx
push ebp
mov ebp,esp
sub esp,28
jmp 44D275


А затем захочет убрать лишние push esp.
push ecx
call 0x04C4F920
pop ecx
push ebp
mov ebp,esp
sub esp,28
jmp h3era hd.44D276


В плагине BIK 1.6.2 уже добавил совместимость см.выше, предусмотрено на будущее, на всякий случай =).






Скачать плагин "Воспроизведение видео в формате BIK" 1.6.2 :


ИСТОРИЯ ИЗМЕНЕНИЙ ВЕРСИЙ


Версия 1.6.2
7.08.2024
1)Исправлен мой баг: не воспроизводить видео формата ".smk", типа: кампания, конец игры... (причина: в плагине BIK начиная с 1.6 оптимизирована строка ".smk" в ассемблере. Поэтому ЭРА видит чужеродный адрес в строке из плагина xD!.)
2)Изменение исходных кодов в ассемблере: сохранить файл ANSI на UTF8.
Импорт процедуры с заменой MessageBoxA на MessageBoxW.
3)Добавлена совместимость, на всякий случай, если кто в будущем будет оптимизировать хук в экзешнике, например, появится ЭРА версии 4.Х =).




Версия 1.6
07.08.2024

1)Добавлена поддержка Эры начиная с версии 3.9.15.

Причина несовместимости:
У ЭРЫ в новой версии оптимизирован хук
было mov eax,era.4E7B7AC, call eax
стало call era.4C3F82C

2)Реализовал проверку в экзешнике на не совпадение байтов. Если не совпадает, то всплывается диалог "Плагин не совместим" и затем вызвает сбой!.



  1. Heroes 3 MoP Fan-Patch 3.14
  2. MoP Key Delete RandomMap
  3. TavernVideos BIK ASM
07.08.2024 23:23
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Messages In This Thread
Плагин: воспроизведение видео в формате BIK (2022) - myoffice91 - 29.04.2022, 20:03
RE: Плагин: воспроизведение видео в формате BIK - Berserker - 29.04.2022, 21:19
RE: Плагин: воспроизведение видео в формате BIK - Elmore - 29.04.2022, 22:52
RE: Плагин: воспроизведение видео в формате BIK - XEPOMAHT - 30.04.2022, 00:01
RE: Плагин: воспроизведение видео в формате BIK - Elmore - 30.04.2022, 10:27
RE: Плагин: воспроизведение видео в формате BIK - daemon_n - 30.04.2022, 19:00
RE: Плагин: воспроизведение видео в формате BIK - myoffice91 - 30.04.2022, 22:41
RE: Плагин: воспроизведение видео в формате BIK - Elmore - 01.05.2022, 00:00
RE: Плагин: воспроизведение видео в формате BIK - myoffice91 - 03.05.2022, 18:03
RE: Плагин: воспроизведение видео в формате BIK - daemon_n - 01.05.2022, 12:48
RE: Плагин: воспроизведение видео в формате BIK - Berserker - 04.05.2022, 03:55
RE: Плагин: воспроизведение видео в формате BIK - daemon_n - 04.05.2022, 20:36
RE: Плагин: воспроизведение видео в формате BIK - Suft - 10.05.2022, 12:58
RE: Плагин: воспроизведение видео в формате BIK - Elmore - 10.05.2022, 14:53
RE: Плагин: воспроизведение видео в формате BIK - Archer30 - 10.05.2022, 20:08
RE: Плагин: воспроизведение видео в формате BIK - Suft - 20.05.2022, 13:20
RE: Плагин: воспроизведение видео в формате BIK - DarkyAndSparky - 20.05.2022, 16:05
RE: Плагин: воспроизведение видео в формате BIK - Suft - 21.05.2022, 13:35
RE: Плагин: воспроизведение видео в формате BIK - myoffice91 - 20.05.2022, 22:28
RE: Плагин: воспроизведение видео в формате BIK - myoffice91 - 21.05.2022, 14:04
RE: Плагин: воспроизведение видео в формате BIK - Suft - 21.05.2022, 14:39
RE: Плагин: воспроизведение видео в формате BIK - myoffice91 - 28.05.2022, 23:44
RE: Плагин: воспроизведение видео в формате BIK - myoffice91 - 22.08.2022, 14:43
RE: Плагин: воспроизведение видео в формате BIK (2022) - myoffice91 - 18.09.2022, 15:31
RE: Плагин: воспроизведение видео в формате BIK (2022) - XEPOMAHT - 18.09.2022, 15:58
RE: Плагин: воспроизведение видео в формате BIK (2022) - Berserker - 19.09.2022, 08:27
RE: Плагин: воспроизведение видео в формате BIK (2022) - myoffice91 - 19.09.2022, 13:39
RE: Плагин: воспроизведение видео в формате BIK (2022) - daemon_n - 19.09.2022, 11:47
RE: Плагин: воспроизведение видео в формате BIK (2022) - Berserker - 19.09.2022, 13:32
RE: Плагин: воспроизведение видео в формате BIK (2022) - myoffice91 - 19.09.2022, 15:37
RE: Плагин: воспроизведение видео в формате BIK (2022) - XEPOMAHT - 19.09.2022, 16:10
RE: Плагин: воспроизведение видео в формате BIK (2022) - myoffice91 - 19.09.2022, 16:26
RE: Плагин: воспроизведение видео в формате BIK (2022) - XEPOMAHT - 19.09.2022, 17:07
RE: Плагин: воспроизведение видео в формате BIK (2022) - Archer30 - 02.10.2022, 07:32
RE: Плагин: воспроизведение видео в формате BIK (2022) - myoffice91 - 06.10.2022, 11:30
RE: Плагин: воспроизведение видео в формате BIK (2022) - XEPOMAHT - 06.10.2022, 15:40
RE: Плагин: воспроизведение видео в формате BIK (2022) - wessonsm - 06.10.2022, 12:32
RE: Плагин: воспроизведение видео в формате BIK (2022) - Berserker - 30.07.2024, 01:10
RE: Плагин: воспроизведение видео в формате BIK (2022) - myoffice91 - 07.08.2024 23:23
RE: Плагин: воспроизведение видео в формате BIK (2022) - Berserker - 08.08.2024, 00:31
RE: Плагин: воспроизведение видео в формате BIK (2022) - XEPOMAHT - 08.08.2024, 02:07
RE: Плагин: воспроизведение видео в формате BIK (2022) - Berserker - 08.08.2024, 14:32
RE: Плагин: воспроизведение видео в формате BIK (2022) - XEPOMAHT - 08.08.2024, 17:18
RE: Плагин: воспроизведение видео в формате BIK (2022) - Berserker - 08.08.2024, 17:55
RE: Плагин: воспроизведение видео в формате BIK (2022) - XEPOMAHT - 08.08.2024, 19:16
RE: Плагин: воспроизведение видео в формате BIK (2022) - Berserker - 08.08.2024, 21:36
RE: Плагин: воспроизведение видео в формате BIK (2022) - XEPOMAHT - 09.08.2024, 11:14
RE: Плагин: воспроизведение видео в формате BIK (2022) - Berserker - 09.08.2024, 16:58
RE: Плагин: воспроизведение видео в формате BIK (2022) - Suft - 15.08.2024, 19:52
RE: Плагин: воспроизведение видео в формате BIK (2022) - myoffice91 - 11.09.2024, 13:39
RE: Плагин: воспроизведение видео в формате BIK (2022) - Suft - 11.09.2024, 16:25
RE: Плагин: воспроизведение видео в формате BIK (2022) - myoffice91 - 11.09.2024, 22:17
RE: Плагин: воспроизведение видео в формате BIK (2022) - Suft - 12.09.2024, 14:56
RE: Плагин: воспроизведение видео в формате BIK (2022) - myoffice91 - 16.09.2024, 18:54
RE: Плагин: воспроизведение видео в формате BIK (2022) - XEPOMAHT - 16.09.2024, 20:52
RE: Плагин: воспроизведение видео в формате BIK (2022) - Suft - 17.09.2024, 15:30
RE: Плагин: воспроизведение видео в формате BIK (2022) - XEPOMAHT - 17.09.2024, 20:41
RE: Плагин: воспроизведение видео в формате BIK (2022) - Berserker - 18.09.2024, 02:40
RE: Плагин: воспроизведение видео в формате BIK (2022) - XEPOMAHT - 18.09.2024, 11:25
RE: Плагин: воспроизведение видео в формате BIK (2022) - Suft - 18.09.2024, 14:57
RE: Плагин: воспроизведение видео в формате BIK (2022) - XEPOMAHT - 18.09.2024, 15:21
RE: Плагин: воспроизведение видео в формате BIK (2022) - Suft - 18.09.2024, 16:44
RE: Плагин: воспроизведение видео в формате BIK (2022) - XEPOMAHT - 18.09.2024, 17:02

Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group