| Bocha ( @ 2009-07-12 11:31:00 |
Володенька, кончай пакастить (с) Бригада.
Товарищи 1Сники! Вы совсем там чтоли с ума сошли. Вы считали, сколько трафика прогоняет ваша заставка в 1С 7.7 во время загрузки? Вчера решил вплотную заняться нормальной загрузкой 1С 7.7 по ssh. У меня в принципе в офисах все и так нормально работают из Ubuntu по ssh в 1С 7.7, установленной на сервере FreeBSD под Wine@Etersof Network, но вот из филиала в другом городе 1Ска грузится где-то час. Причем после того как появляется таки рабочее окно программы - всё работает очень быстро, как на локальной машине, но заставка висит перед этим как минимум 40 минут. Зато если заставку убить, вся загрузка идёт от силы секунд двадцать. Всё потому что эти горе-программеры из 1С сделали заставку из слайд-шоу BMP-файлов. Это надо еще додуматься же, блин. В принципе на сегодняшний день в ранних релизах 1С 7.7 это лечится всем известным патчем Соарона, но он, если я всё правильно вчера понял, работает этак до 24го релиза, а последний нынче - 27й, и на него никаких патчей я не нашел, кроме того у меня нормально работает только 1cv7s.exe - то есть SQL-версия, хотя я юзаю её как обычную файловую, а она этим патчем вроде не патчится, но точно не знаю. Галочка в инсталяторе "отключить медленное обновление заставки" (или как там?) не приводит ровно ни к чему.
И пошел я исправлять ситуацию руками.
Что мы знаем о заставке 1С 7.7 из интернетов? Есть в её установленной директории такой файлик - 1crcrus.dll, если рассматривать его ресурсовырезалкой, можно обнаружить в ветке 1049/ZLIB_DATA эту самую заставку, если эту ветку удалить, то по идее заставка помрёт сама собой. Но у меня во FreeBSD не нашлось ресурсорезалки для виндовых DLLок, так что этот вариант можно было смело оставить в покое.
Еще из интернетов мы знаем, что в старых релизах 1Ски в версиях Локальная и Сетевая (1cv7.exe и 1cv7l.exe соотвественно) есть последовательность шестнадцатиричных байт, отвечающих за загрузку заставки. В SQL-версии эти последовательности не встречаются, но тут есть явное сходство:
Для Сетевой версии: в файле 1cv7.exe: 8B 87 54 85 00 00
Для Локальной версии: в файле 1cv7l.exe: 8B 8B 54 85 00 00
Ну и в общем с помощью имеющихся в изобилии дизассемблеров со встроенными HEX-редакторами я выяснил, что последовательность байт 54 85 00 00 в 27м релизе SQL-версии 1С 7.7 встречается всего лишь четыре раза, что меня безусловно порадовало. Но меня порадовало еще больше то, что только у одной последовательности через один байт назад стоит байт 8B. Значит закономерная последовательность байт 8B <тут любой байт> 54 85 00 00 встречается только один раз. Совершенно очевидно, сказал я себе, что это и есть код загрузки заставки - срочно заменить ассемблер-коды на любимую инструкцию NOP, дабы не производить загрузку заставки:
заменяем последовательность 8B <тут любой байт> 54 85 00 00 на 31 C9 90 90 90 90
Сохраняем, проверяем - вуаля. Программа спрашивает базу, ваше имя, и через пару секунд выдаёт вам рабочее окно, и никакой заставки.
Да, это в принципе нарушает лицензионное соглашение с 1С, но я крайне надеюсь на то, что они не такие идиоты, чтобы из-за этого предъявлять претензии, ведь релиз честно куплен, лицензия есть, денег уплОчено до чёрта, ну, подумаешь, наложил местный программист незначительный патч, исправив тем самым дикую тупость их собственных программеров. Но всё равно Beware.
P.S. да, такой вот у меня отпуск: в субботу в девять встал и начал работать, закончил ближе к десяти вечера.
P.P.S. Серёга, на счет клипов, если ты считаешь, что 30 рублей - это дорого, то ты или бомж или невероятная жадина, на диске оно в 10 раз дороже, а в интернете в таком качестве ты больше нигде не найдешь, плюс покупая диск ты платишь тем, у кого и так миллионы, а я доброе дело делаю, да за такие цены :-) И с них не убудет, и я новый винт себе куплю под это же дело.
Товарищи 1Сники! Вы совсем там чтоли с ума сошли. Вы считали, сколько трафика прогоняет ваша заставка в 1С 7.7 во время загрузки? Вчера решил вплотную заняться нормальной загрузкой 1С 7.7 по ssh. У меня в принципе в офисах все и так нормально работают из Ubuntu по ssh в 1С 7.7, установленной на сервере FreeBSD под Wine@Etersof Network, но вот из филиала в другом городе 1Ска грузится где-то час. Причем после того как появляется таки рабочее окно программы - всё работает очень быстро, как на локальной машине, но заставка висит перед этим как минимум 40 минут. Зато если заставку убить, вся загрузка идёт от силы секунд двадцать. Всё потому что эти горе-программеры из 1С сделали заставку из слайд-шоу BMP-файлов. Это надо еще додуматься же, блин. В принципе на сегодняшний день в ранних релизах 1С 7.7 это лечится всем известным патчем Соарона, но он, если я всё правильно вчера понял, работает этак до 24го релиза, а последний нынче - 27й, и на него никаких патчей я не нашел, кроме того у меня нормально работает только 1cv7s.exe - то есть SQL-версия, хотя я юзаю её как обычную файловую, а она этим патчем вроде не патчится, но точно не знаю. Галочка в инсталяторе "отключить медленное обновление заставки" (или как там?) не приводит ровно ни к чему.
И пошел я исправлять ситуацию руками.
Что мы знаем о заставке 1С 7.7 из интернетов? Есть в её установленной директории такой файлик - 1crcrus.dll, если рассматривать его ресурсовырезалкой, можно обнаружить в ветке 1049/ZLIB_DATA эту самую заставку, если эту ветку удалить, то по идее заставка помрёт сама собой. Но у меня во FreeBSD не нашлось ресурсорезалки для виндовых DLLок, так что этот вариант можно было смело оставить в покое.
Еще из интернетов мы знаем, что в старых релизах 1Ски в версиях Локальная и Сетевая (1cv7.exe и 1cv7l.exe соотвественно) есть последовательность шестнадцатиричных байт, отвечающих за загрузку заставки. В SQL-версии эти последовательности не встречаются, но тут есть явное сходство:
Для Сетевой версии: в файле 1cv7.exe: 8B 87 54 85 00 00
Для Локальной версии: в файле 1cv7l.exe: 8B 8B 54 85 00 00
Ну и в общем с помощью имеющихся в изобилии дизассемблеров со встроенными HEX-редакторами я выяснил, что последовательность байт 54 85 00 00 в 27м релизе SQL-версии 1С 7.7 встречается всего лишь четыре раза, что меня безусловно порадовало. Но меня порадовало еще больше то, что только у одной последовательности через один байт назад стоит байт 8B. Значит закономерная последовательность байт 8B <тут любой байт> 54 85 00 00 встречается только один раз. Совершенно очевидно, сказал я себе, что это и есть код загрузки заставки - срочно заменить ассемблер-коды на любимую инструкцию NOP, дабы не производить загрузку заставки:
заменяем последовательность 8B <тут любой байт> 54 85 00 00 на 31 C9 90 90 90 90
Сохраняем, проверяем - вуаля. Программа спрашивает базу, ваше имя, и через пару секунд выдаёт вам рабочее окно, и никакой заставки.
Да, это в принципе нарушает лицензионное соглашение с 1С, но я крайне надеюсь на то, что они не такие идиоты, чтобы из-за этого предъявлять претензии, ведь релиз честно куплен, лицензия есть, денег уплОчено до чёрта, ну, подумаешь, наложил местный программист незначительный патч, исправив тем самым дикую тупость их собственных программеров. Но всё равно Beware.
P.S. да, такой вот у меня отпуск: в субботу в девять встал и начал работать, закончил ближе к десяти вечера.
P.P.S. Серёга, на счет клипов, если ты считаешь, что 30 рублей - это дорого, то ты или бомж или невероятная жадина, на диске оно в 10 раз дороже, а в интернете в таком качестве ты больше нигде не найдешь, плюс покупая диск ты платишь тем, у кого и так миллионы, а я доброе дело делаю, да за такие цены :-) И с них не убудет, и я новый винт себе куплю под это же дело.