Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!
3 страниц V  < 1 2 3 >  
Ответить в данную темуНачать новую тему
> Windows XP Program patcher
helter
сообщение 06.03.2016, 07:44
Сообщение #21


Почти Игроман
*********

Репутация:   67  
Группа: Участник
Сообщений: 741
Награды: 4
Регистрация: 01.06.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


Продолжаем. Отсутствующие функции _wfopen_s() в msvcrt.dll xp
Решение - пропатчить _wfopen_s() на _wfopen(), которая под XP имеется
Перейти в начало страницы
 
Молния в вакууме
сообщение 06.03.2016, 12:40
Сообщение #22


Почти Игроман
*********

Репутация:   187  
Группа: Участник
Сообщений: 647
Награды: 4
Регистрация: 05.05.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


helter, ты уверен? Эти функции отличаются по параметрам.

https://msdn.microsoft.com/en-us/library/z5hh6ee9.aspx
https://msdn.microsoft.com/en-us/library/yeby3zcb.aspx

Такая замена ни к чему хорошему не приведет.
Если даже не вылетит, то откроет файл с мусором в имени, который и то не сможет правильно вернуть в программу.

Тут надо прокси-dll для msvcrt делать(типа как zernel, который ты тут скидывал.) и там обёртку на функцией.

Код
errno_t _wfopen_s(FILE **pFile, const wchar_t *filename, const wchar_t *mode)
{
    if(!pFile || !filename || !mode)
        return EINVAL;

    if(*pFile = _wfopen(filename,mode) == 0)
        return ENOENT;

    return 0; // success
}
Перейти в начало страницы
 
helter
сообщение 06.03.2016, 16:25
Сообщение #23


Почти Игроман
*********

Репутация:   67  
Группа: Участник
Сообщений: 741
Награды: 4
Регистрация: 01.06.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


Не проверял, друг столкнулся вчера в ffmpeg , на руборде пишут помогло
Я вобще функции выпиливаю и работает
Перейти в начало страницы
 
helter
сообщение 20.06.2016, 13:17
Сообщение #24


Почти Игроман
*********

Репутация:   67  
Группа: Участник
Сообщений: 741
Награды: 4
Регистрация: 01.06.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


патчер системных длл от япошек. Теперь приложения думают что это семерка
http://game-edition.ru/obsuzhdenie-sborok/...t-blackwingcat/
Перейти в начало страницы
 
Svyatpro
сообщение 20.08.2016, 04:49
Сообщение #25


Новичок
*

Репутация:   5  
Группа: Участник
Сообщений: 10
Регистрация: 20.08.2016




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(helter @ 20.06.2016, 13:15) *
патчер системных длл от япошек. Теперь приложения думают что это семерка
http://game-edition.ru/obsuzhdenie-sborok/...t-blackwingcat/

Ну не япошек, а BlackWingCat'a - гуру ассемблера, он из Японии, нужно уважать человека.

Кто там хотел DDS Converter запустить на ХР? У меня на 2003 пошел, кстати WineD3D 10/11 для XP реальность.






У меня еще есть куда более продвинутый zernel32.dll, правда это все хренотень на самом деле, куда лучше встроить новые функции экспорта в родной kernel32, с чем я и BWC боремся сейчас (под Win2003).

Сообщение отредактировал Svyatpro - 20.08.2016, 05:15
Перейти в начало страницы
 
helter
сообщение 20.08.2016, 13:46
Сообщение #26


Почти Игроман
*********

Репутация:   67  
Группа: Участник
Сообщений: 741
Награды: 4
Регистрация: 01.06.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Svyatpro @ 20.08.2016, 04:47) *
У меня еще есть куда более продвинутый zernel32.dll, правда это все хренотень на самом деле, куда лучше встроить новые функции экспорта в родной kernel32, с чем я и BWC боремся сейчас (под Win2003).

А функция getthreadid у вас работает? Находил zernel32 с ней но Chrome так и не запустился. Где кстати BWC обитает кроме MSFN форума ?
Перейти в начало страницы
 
Vik Winchester
сообщение 20.08.2016, 15:49
Сообщение #27


Мастер Игры
************

Репутация:   382  
Группа: Участник
Сообщений: 1450
Награды: 4
Регистрация: 25.09.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


QUOTE (helter @ 11.02.2016, 18:15) *
Приложение выдает ошибку что не является win32

Ошибка - GetTickCount64 не найдена в библиотеке DLL KERNEL32.dll


Как раз столкнулся с такими проблемами на Windows XP Professional x64, какое из решений подойдет?


--------------------
We all got friends, but we stand alone...

Перейти в начало страницы
 
Svyatpro
сообщение 20.08.2016, 18:24
Сообщение #28


Новичок
*

Репутация:   5  
Группа: Участник
Сообщений: 10
Регистрация: 20.08.2016




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(helter @ 20.08.2016, 13:44) *
Цитата(Svyatpro @ 20.08.2016, 04:47) *
У меня еще есть куда более продвинутый zernel32.dll, правда это все хренотень на самом деле, куда лучше встроить новые функции экспорта в родной kernel32, с чем я и BWC боремся сейчас (под Win2003).

А функция getthreadid у вас работает? Находил zernel32 с ней но Chrome так и не запустился. Где кстати BWC обитает кроме MSFN форума ?


GetThreadId работает т.к. в Win2003 она имплементирована нативно. Chrome 50 без проблем бегает в моем Win2003 окружении и с полным, "почти" валидным аппаратным акселем.

BWС очень закрытый человек, можете писать сообщения у него в блоге, а личные контактные данные не могу предоставить.

Цитата(Vik Winchester @ 20.08.2016, 15:47) *
Цитата(helter @ 11.02.2016, 18:15) *
Приложение выдает ошибку что не является win32

Ошибка - GetTickCount64 не найдена в библиотеке DLL KERNEL32.dll


Как раз столкнулся с такими проблемами на Windows XP Professional x64, какое из решений подойдет?



Как вариант переименовать функцию импорта в GetTickCount. Либо имплементить ее в zernel32 и скомпилить для x64, сорсы есть.

Сообщение отредактировал Svyatpro - 20.08.2016, 18:22
Перейти в начало страницы
 
RayTwitty
сообщение 20.08.2016, 18:44
Сообщение #29


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Награды: 9
Регистрация: 24.09.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(helter @ 20.06.2016, 13:15) *
патчер системных длл от япошек. Теперь приложения думают что это семерка

Теперь на ХР может работать 3 и 4 рендер столкира? С намоканием и другими плюшками?


--------------------
Перейти в начало страницы
 
Svyatpro
сообщение 20.08.2016, 18:58
Сообщение #30


Новичок
*

Репутация:   5  
Группа: Участник
Сообщений: 10
Регистрация: 20.08.2016




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(RayTwitty @ 20.08.2016, 18:42) *
Цитата(helter @ 20.06.2016, 13:15) *
патчер системных длл от япошек. Теперь приложения думают что это семерка

Теперь на ХР может работать 3 и 4 рендер столкира? С намоканием и другими плюшками?


Сталкер запускается как с третьим так и с четвертым рендерером но работает некорректно, многие форматы текстур не поддерживаеются до сих пор, а также многие шейдеры просто напросто не распознаются и в итоге не прорисовуются. Это вопрос времени, нужно ждать, отправлять качественные баг репорты в багзиллу winehq.


Примерно так выглядит менюшка сталкера чн на ХР при запуске под WineD3D10


Если кому интересно, можете потестить последний мой билд WineD3D специально адаптированный под XP/2003.
http://fracton.rgho.st/8k5QbmTW7

Сообщение отредактировал Svyatpro - 20.08.2016, 19:06
Перейти в начало страницы
 
Молния в вакууме
сообщение 20.08.2016, 19:47
Сообщение #31


Почти Игроман
*********

Репутация:   187  
Группа: Участник
Сообщений: 647
Награды: 4
Регистрация: 05.05.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


Svyatpro, ты что, волшебник? biggrin.gif

Работает!

Скриншот сталкера на DX10:


Сообщение отредактировал saas - 20.08.2016, 19:48
Перейти в начало страницы
 
Svyatpro
сообщение 20.08.2016, 19:54
Сообщение #32


Новичок
*

Репутация:   5  
Группа: Участник
Сообщений: 10
Регистрация: 20.08.2016




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(saas @ 20.08.2016, 19:45) *
Svyatpro, ты что, волшебник? biggrin.gif

Работает!

Скриншот сталкера на DX10:


Для того чтобы привести его в нормальный вид, пишите баги в wine bugzilla, хорошо описывайте, пишите шаги воспроизведения, а также прилаживайте ссылки на загрузку приложений по которым пишите баг (только не пиратские ссылки). А также рекоммендую тестить под линуксом и предпочтительно приложения DX11.
Перейти в начало страницы
 
Bidjo
сообщение 20.08.2016, 20:05
Сообщение #33


Ветеран
*****

Репутация:   4  
Группа: Участник
Сообщений: 85
Награды: 1
Регистрация: 27.09.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


А что насчет запуска например : bf3\4 , gta 5?
Перейти в начало страницы
 
Svyatpro
сообщение 20.08.2016, 20:15
Сообщение #34


Новичок
*

Репутация:   5  
Группа: Участник
Сообщений: 10
Регистрация: 20.08.2016




Вставить ник Цитировать выделенное в форуму быстрого ответа


Bidjo, рано очень, сейчас необходимо разобраться со всеми простыми приложениями которые в большинстве своем используют какой-то определенный аспект DX10/11, до интеграционного тестирования пока рано, но попробовать можно, в лучшем случае получите картинку с артефактами, в худшем не запустится вообще. Для таких игр как BF4, GTA5 потребуются также функции окружения NT6+, а также 64-битная среда. Здесь как минимум хотелось бы получить валидный DX10/11 API, чтобы запускалось и корректно работало все, что не привередливое к особенным фишкам NT6, тот же сталкер например.
Перейти в начало страницы
 
Svyatpro
сообщение 29.08.2016, 14:09
Сообщение #35


Новичок
*

Репутация:   5  
Группа: Участник
Сообщений: 10
Регистрация: 20.08.2016




Вставить ник Цитировать выделенное в форуму быстрого ответа


Путем совместных усилий вместе с BlackWingCat, удалось добавить новые функции экспорта в kernel32.dll win2003, путем перенаправления вызовов на библиотеки враппера. Перенаправление осуществляется непосредственного из нативного kernel32.dll. Это достаточно избыточное решение, но на данный момент другие решения слишком сложные. Данное нововведение обещает получить возможность запускать некоторые NT6-only приложения.



Сообщение отредактировал Svyatpro - 29.08.2016, 14:09
Перейти в начало страницы
 
Svyatpro
сообщение 29.08.2016, 17:49
Сообщение #36


Новичок
*

Репутация:   5  
Группа: Участник
Сообщений: 10
Регистрация: 20.08.2016




Вставить ник Цитировать выделенное в форуму быстрого ответа


На счет проги топикстартера, то я применил фикс kernel32.dll описанный BlackWingCat'ом в его блоге, теперь у меня запускаются все приложения с флагом Subsystem 0006 без ошибки " xxxx.exe не является приложением Win32"

Можете почитать о нем в его блоге:
http://blog.livedoor.jp/blackwingcat/archives/1298206.html
Перейти в начало страницы
 
helter
сообщение 23.09.2016, 18:28
Сообщение #37


Почти Игроман
*********

Репутация:   67  
Группа: Участник
Сообщений: 741
Награды: 4
Регистрация: 01.06.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


Начал войну с Next Car Game Wreckfest
Getticketcount64 решилась патчем
GetConsoleScreenBufferInfoEx и SetConsoleScreenBufferInfoEx заменил SetConsolePalette
Билд 2015 заработал. свежий требует d3d11.dll
Перейти в начало страницы
 
Svyatpro
сообщение 24.09.2016, 17:43
Сообщение #38


Новичок
*

Репутация:   5  
Группа: Участник
Сообщений: 10
Регистрация: 20.08.2016




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(helter @ 23.09.2016, 18:26) *
Начал войну с Next Car Game Wreckfest
Getticketcount64 решилась патчем
GetConsoleScreenBufferInfoEx и SetConsoleScreenBufferInfoEx заменил SetConsolePalette
Билд 2015 заработал. свежий требует d3d11.dll

Ну все эти функции можно запихнуть в родной kernel32.dll от ХР, путем расширения таблицы экспорта и перенаправления функций на библиотеку враппера. А вот с полноценной поддержкой DirectX11 пока рано.

Я как делаю, я создаю еще одну секцию в библиотеке, например kernel32.dll, делаю ее размером больше чем требует родная таблица экспорта, переношу в новую секцию родную таблицу экспорта и добавляю нужные мне функции путем перенаправления на библиотеку враппера, например GetTickCount64.KERNEL32EX.GetTickCount64.

Но это только теория, там много подводных камней, так как просто создать секцию не повредив другие секции вряд ли получится, поэтому приходится переписывать другие секции вместе с моей новой секцией. Но тем не менее, кому интересно могу поделиться результатом своей работы, но именно под Win2003 SP2.


Сообщение отредактировал Svyatpro - 24.09.2016, 17:48
Перейти в начало страницы
 
Молния в вакууме
сообщение 24.09.2016, 19:20
Сообщение #39


Почти Игроман
*********

Репутация:   187  
Группа: Участник
Сообщений: 647
Награды: 4
Регистрация: 05.05.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


Я думаю править системные библиотеки это не очень хорошая идея. Всё-таки враппер лучше, его можно сделать универсальным. Только надо найти способ подменять DLL-ки при запуске программы, чтобы вручную это не делать.
Перейти в начало страницы
 
Asterix
сообщение 24.09.2016, 19:52
Сообщение #40


Продвинутый геймер
********

Репутация:   90  
Группа: Участник
Сообщений: 395
Награды: 3
Регистрация: 07.04.2014




Вставить ник Цитировать выделенное в форуму быстрого ответа


Я думаю, что издеваться над трупом не лучшая идея totstalkir.gif


--------------------
no more running
Перейти в начало страницы
 

3 страниц V  < 1 2 3 >
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 20.04.2024, 03:04