purebasic.info

PureBasic forum
Текущее время: Вс ноя 19, 2017 3:15 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 47 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: Пт ноя 03, 2017 6:34 pm 
Не в сети
док

Зарегистрирован: Чт ноя 22, 2007 8:03 pm
Сообщений: 163
Откуда: Питер
Благодарил (а): 3 раз.
Поблагодарили: 1 раз.
Пункты репутации: 0
Пётр писал(а):
Нет, выясняю причину и она кажется ясна.
Помести его куда-нибудь (например в корень диска C:) и запусти. Не запускается.

Программе может понадобиться mui файл из соответствующей папки, для русского интерфейса это ru-ru (C:\Windows\System32\ru-RU\calc.exe.mui)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пт ноя 03, 2017 8:38 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6189
Благодарил (а): 16 раз.
Поблагодарили: 169 раз.
Пункты репутации: 48
Smitis писал(а):
Если Вы используете 32-х разрядную программу пытающуюся получить доступ к данным из system32 или program files (запустить, прочитать, сделать текущей папку и т.д.) система перенаправит Вас в папки SysWOW64 и Program Files (x86) соответственно. При этом сама программа будет работать так, как будто это настоящие system32 и program files, но файлы будут 32-х разрядные.

Я знаю механизм работы WOW64. Ну и что? Как это относится к тому, что приаттаченая программа и уже запущенная из памяти падает с ошибкой? Винде кто то запрещает что то перенаправлять? Тем более, что я уже показал, программа прекрасно запускается автономно из любой папки Винды и из корня, т.е она не зависит от папки, в которой лежит. Она не желает работать запущенной из памяти.

_________________
read-only


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пт ноя 03, 2017 10:18 pm 
Не в сети
док

Зарегистрирован: Чт ноя 22, 2007 8:03 pm
Сообщений: 163
Откуда: Питер
Благодарил (а): 3 раз.
Поблагодарили: 1 раз.
Пункты репутации: 0
kvitaliy
Вы трясли скриншотом, на котором 32-х разрядная ExeinfoPE определяет calc.exe как 32-х разрядный :)
Вы уж там определитесь, какая программа и откуда у Вас запускается.

А так, надо мониторить каким-нибудь Process Monitor что открывается. Возможно, для программы из памяти перенаправление не работает и нужные файлы ищутся не той разрядности.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Сб ноя 04, 2017 6:22 am 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6189
Благодарил (а): 16 раз.
Поблагодарили: 169 раз.
Пункты репутации: 48
Smitis писал(а):
kvitaliy
Вы трясли скриншотом, на котором 32-х разрядная ExeinfoPE определяет calc.exe как 32-х разрядный :)

И что не так? 32-х разрядная ExeinfoPE определяет x64 приложения как x64.
Это нормально.
А вот если в коде
IncludeBinary "C:\WINDOWS\system32\calc.exe"
То подключается именно тот файл, который заявлен, без всяких подмен. Это надо понимать.

_________________
read-only


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Ср ноя 08, 2017 1:09 pm 
Не в сети
док

Зарегистрирован: Чт ноя 22, 2007 8:03 pm
Сообщений: 163
Откуда: Питер
Благодарил (а): 3 раз.
Поблагодарили: 1 раз.
Пункты репутации: 0
kvitaliy писал(а):
И что не так?

Ещё раз: Вы открываете 32-х разрядной ExeinfoPE программу из папки system32, происходит подмена и реально Вы открываете программу из syswow64, но при этом показывается, что открыта программа из system32. Для эксперимента попробуйте открыть из ExeinfoPE c:\windows\sysnative\calc.exe


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Ср ноя 08, 2017 3:45 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6189
Благодарил (а): 16 раз.
Поблагодарили: 169 раз.
Пункты репутации: 48
Smitis писал(а):
kvitaliy писал(а):
И что не так?

Ещё раз: Вы открываете 32-х разрядной ExeinfoPE программу из папки system32, происходит подмена и реально Вы открываете программу из syswow64, но при этом показывается, что открыта программа из system32. Для эксперимента попробуйте открыть из ExeinfoPE c:\windows\sysnative\calc.exe

Это при чем? Как вообще связано с IncludeBinary "C:\WINDOWS\system32\calc.exe" ?
Ещё раз: У меня в системе нет calc.exe x64. От слова совсем. Только x86, во всех местах и папках. И запускается он у меня с любого места и папки. Не запускается из памяти. Это главная мысль. Чего тут ещё дискутировать и обсуждать, я не понимаю.
Если напишите код, который запустит мой calc.exe x86 на моей системе win7 x64 из памяти то респект и уважуха.
По иному поводу больше не беспокоить. Ок?

_________________
read-only


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Ср ноя 08, 2017 5:54 pm 
Не в сети
док

Зарегистрирован: Чт ноя 22, 2007 8:03 pm
Сообщений: 163
Откуда: Питер
Благодарил (а): 3 раз.
Поблагодарили: 1 раз.
Пункты репутации: 0
kvitaliy писал(а):
Это при чем?

При том, что кто-то хвастался, что знает механизм работы WOW64.
Ну не хотите разобраться и не надо.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт ноя 09, 2017 5:37 pm 
Не в сети
профессор

Зарегистрирован: Чт сен 22, 2011 6:21 pm
Сообщений: 208
Благодарил (а): 29 раз.
Поблагодарили: 21 раз.
Пункты репутации: 0
вставлю свои (разбирался когда-то)
работает только в 1 случае:
Программа PB и подгружаемая программа должны быть одной разрядности 32/64 бита.

зы. ваш калькулятор всегда имеет разрядность установленной системы, это надо учитывать.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт ноя 09, 2017 6:33 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6189
Благодарил (а): 16 раз.
Поблагодарили: 169 раз.
Пункты репутации: 48
Kuzmat писал(а):
вставлю свои (разбирался когда-то)
зы. ваш калькулятор всегда имеет разрядность установленной системы

Нет, не всегда. У меня по другому!
Я тут как будто со слепыми переписываюсь или с тупыми.
Покрути сообщения, я выкладывал скрин с Диспетчера задач, там видно, что calc.exe *32.
Это означает 2 вещи: что система x64 потому, что в системе x86 не отмечены *32 - там все такие приложения, и что Калькулятор x86.
А по этой ссылке выкладывал сам калькулятор
что бы убедились, что это действительно так.

_________________
read-only


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пт ноя 10, 2017 12:43 am 
Не в сети
профессор

Зарегистрирован: Пн июл 22, 2013 11:00 pm
Сообщений: 531
Благодарил (а): 2 раз.
Поблагодарили: 29 раз.
Пункты репутации: 9
Так в х64 просто расширенная система команд так что проги х32 должны работать.
а вот на х32 запустить прогу х64 не получится без эмуляции команд. :D


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пт ноя 10, 2017 3:28 pm 
Не в сети
профессор

Зарегистрирован: Чт сен 22, 2011 6:21 pm
Сообщений: 208
Благодарил (а): 29 раз.
Поблагодарили: 21 раз.
Пункты репутации: 0
kvitaliy писал(а):
Kuzmat писал(а):
вставлю свои (разбирался когда-то)
зы. ваш калькулятор всегда имеет разрядность установленной системы

Нет, не всегда. У меня по другому!
Я тут как будто со слепыми переписываюсь или с тупыми.
Покрути сообщения, я выкладывал скрин с Диспетчера задач, там видно, что calc.exe *32.
Это означает 2 вещи: что система x64 потому, что в системе x86 не отмечены *32 - там все такие приложения, и что Калькулятор x86.
А по этой ссылке выкладывал сам калькулятор
что бы убедились, что это действительно так.

У меня ваш калькулятор вообще не запускается (Win 7x64), вероятно проверяет версию системы, не стоит вообще эксперементы ставить (и делать на них выводы) на системных прогах. (мы-же не их планируем атачить)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пт ноя 10, 2017 4:16 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11054
Благодарил (а): 4 раз.
Поблагодарили: 379 раз.
Kuzmat писал(а):
У меня ваш калькулятор вообще не запускается
Аналогично viewtopic.php?p=88060#p88060

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пт ноя 10, 2017 8:25 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6189
Благодарил (а): 16 раз.
Поблагодарили: 169 раз.
Пункты репутации: 48
Ну что сказать, мне с системой больше повезло, у меня запускаются оба Калькулятора, тот что мне прислали x64, и тот что был всегда x86:
Изображение
А на счет другой программы - ну давайте попробуем например при помощи консольного RAR.exe + ком. строка упаковать файл. Т.е. пишем код, который запустит из памяти RAR.exe + ком. строка на упаковку. Всё это в x86, а я пробую запустить в x64 у себя.

_________________
read-only


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Сб ноя 11, 2017 8:52 pm 
Не в сети
профессор

Зарегистрирован: Пн июл 22, 2013 11:00 pm
Сообщений: 531
Благодарил (а): 2 раз.
Поблагодарили: 29 раз.
Пункты репутации: 9
Может свойства посмотрите?
там галки запуск в отдельной памяти и в режиме совмести и запуск от имени администратора. :roll:


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Вс ноя 12, 2017 5:24 pm 
Не в сети
док

Зарегистрирован: Чт ноя 22, 2007 8:03 pm
Сообщений: 163
Откуда: Питер
Благодарил (а): 3 раз.
Поблагодарили: 1 раз.
Пункты репутации: 0
Несколько слов по теме

1. То, что kvitaliy сотворил со своей системой я думаю, надо закончить обсуждать. У меня стойкое убеждение, что он не разобрался до конца и морочит голову и себе и нам.

2. Запуск системных программ типа calc.exe завершается неудачей и смутно помниться мне, это связано с оптимизацией (ускорением) запуска этих программ... Вроде, на хабре была статья, но искать лень. Тот же calc, упакованный upx, не запускается.

3. Запуск консольных программ происходит нормально. Например, rar успешно создаёт архивы.

4. Прочие GUI программы тоже запускаются нормально. Пример запуска SumatraPDF https://yadi.sk/d/10WSpRUC3PdBVj (пароль на архив 12345, а то яндекс там видит вирус :) ). При этом сам SumatraPDF ещё и запакован upx (!). Параметры из командной строки передаются нормально (RunSumatra32.exe путь_к_файлу.pdf).

Было бы интересно добиться ещё и запуска x64 программ.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 47 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB