Возможно ли создать x86 процесс из-под x64 процесса или наоборот, используя какие-либо недокументированные функции?
насколько я понимаю NtCreateProcess этого сделать не может
насколько я понимаю NtCreateProcess этого сделать не может
Есть программа, но у нее есть х86 и х64 версия и dll соответствующих архитектур, у меня есть функция, которая парсит из библиотек таблицу импорта и импортирует что мне нужно, но заранее я не знаю какой архитектуры будет это приложение, а мое приложение при этом только х86 и мне нужно проимпортировать все и запустить.Что ты имеешь ввиду под словосочетанием "Создать процесс"? Речь идёт о переадрессации при работе под WoW64?
Допустим мне нужно проимпортировать функции с sqlite, но они могут быть x64, а мое приложение x86, но если в этом случае либа с открытым исходным кодом и можно запихнуть себе в код что нужно, то есть такие же либы с закрытым исходным кодом и я хочу сделать небольшую тулзу для работы со всеми либами таким образом, чтобы я мог из под х86 приложения каким либо образом работать с этими импортированными функциями в независимости от того является dll которая мне нужна х86 или х64, возможно как-то через wmi или еще что-либоХмм. А что пишешь, если не секрет? Можно под хайд больше инфы? Может есть более элегантные методы решения проблемы?
Без извратов это очевидно не получится сделать, к тому же универсально. А причём тут WMI?Допустим мне нужно проимпортировать функции с sqlite, но они могут быть x64, а мое приложение x86, но если в этом случае либа с открытым исходным кодом и можно запихнуть себе в код что нужно, то есть такие же либы с закрытым исходным кодом и я хочу сделать небольшую тулзу для работы со всеми либами таким образом, чтобы я мог из под х86 приложения каким либо образом работать с этими импортированными функциями в независимости от того является dll которая мне нужна х86 или х64, возможно как-то через wmi или еще что-либо
Я имел ввиду powershell скриптамиБез извратов это очевидно не получится сделать, к тому же универсально. А причём тут WMI?
В целом такой подход нестабилен, это неразумно. Советую тебе поискать другой вариант решения твоей задачи.Я имел ввиду powershell скриптами
Тоже так думаю, в основном мне нужен результат выполнения парочки функций, так что я пока думаю сделать х64 экзешник, запаковать его внутрь своего х86 и при необходимости его распаковать и запустить, а результаты обратно передать в приложение.В целом такой подход нестабилен, это неразумно. Советую тебе поискать другой вариант решения твоей задачи.
Есть сотни вариантов реализации IPC, но самый практичный и простой вариант - пайпы, имхо.Тоже так думаю, в основном мне нужен результат выполнения парочки функций, так что я пока думаю сделать х64 экзешник, запаковать его внутрь своего х86 и при необходимости его распаковать и запустить, а результаты обратно передать в приложение.
Не знаешь что лучше и практичнее юзать для межпроцессового общения? Знаю что есть File Mapping и Named Pipes, возможно еще что-то, но я какие преимущества и недостатки оных
Стиллер пишешь? Чем не подходит heavens gate?Допустим мне нужно проимпортировать функции с sqlite, но они могут быть x64
Не знал об этом, есть какая-нибудь статья где более менее подробно расписано почему это работает и суть техники, пока что нашел 3 репозитория на гитхабе, пойду разбираться с кодомСтиллер пишешь? Чем не подходит heavens gate?
да, но в каких-то репозиториях лисы есть код функций которые работают с key3/key4, их можно спастить и они будут прекрасно тогда работать с этими двумя файлами, но мне нужны и те библиотеки, у которых нет открытого кодаКстати да. Если речь идёт о работе с лисой - эффектнее будет работать с key3/key4 напрямую.
http://hex.pp.ua/heavens-gate.php - суть техникиесть какая-нибудь статья где более менее подробно расписано почему это работает и суть техники
это не то, я проебался с формулировкой вопроса и того что хочу, мне больше heavens gate подходит![]()
How to launch a Windows process as 64-bit from 32-bit code?
To pop up the UAC dialog in Vista when writing to the HKLM registry hive, we opt to not use the Win32 Registry API, as when Vista permissions are lacking, we'd need to relaunch our entire applicationstackoverflow.com