SetEnv — утилита для изменения environment любому процессу

Здесь можно обсудить ваш любимый плагин.
dolzenko
Posts: 452
Joined: Wed 19 Apr, 2006 14:42
Location: Ростов-на-Дону

Re: SetEnv - утилита для изменения environment любому процессу

Post by dolzenko »

Latest post of the previous page:

Здесь косвенно заявляется, что размер переменных окружения может быть до 2048 байт, поэтому попытался применить такой патч, правда, "на скорую руку" у меня оно так собралось, что рушит процесс у которого пытаешься вычитать переменную :oops: .

Code: Select all

--- C:/Program Files/setenv/src/env.cpp	Wed Oct 15 14:22:56 2008
+++ C:/Program Files/setenv/src/env_patched.cpp	Wed Oct 15 14:29:41 2008
@@ -36,3 +36,3 @@
     case ENV_GET:
-      TCHAR buf[256];
+      TCHAR buf[2048];
       res = _GetEnvironmentVariable(info.Name, buf, sizeof(buf) / sizeof(TCHAR));
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Re: SetEnv - утилита для изменения environment любому процессу

Post by DrKnS »

dolzenko_ wrote:Здесь косвенно заявляется, что размер переменных окружения может быть до 2048 байт
А здесь явно заявляется, что можно аж 32767.
User avatar
Andrey Budko
Posts: 1203
Joined: Fri 01 Apr, 2005 14:03
Contact:

Re: SetEnv - утилита для изменения environment любому процессу

Post by Andrey Budko »

такое впечатление что 640 килобайт всем уже не хватает...
dolzenko
Posts: 452
Joined: Wed 19 Apr, 2006 14:42
Location: Ростов-на-Дону

Re: SetEnv - утилита для изменения environment любому процессу

Post by dolzenko »

Да, что это я :) по вторичным источникам :)

Правда вот еще нашел что-то (не мсдн конечно)
Andrey Budko wrote:такое впечатление что 640 килобайт всем уже не хватает...
ну у меня куча недобросовестных программ в PATH себя подобавляли без моего ведома :( половины и нет уже вовсе
User avatar
Andrey Budko
Posts: 1203
Joined: Fri 01 Apr, 2005 14:03
Contact:

Re: SetEnv - утилита для изменения environment любому процессу

Post by Andrey Budko »

dolzenko_ wrote:правда, "на скорую руку" у меня оно так собралось, что рушит процесс у которого пытаешься вычитать переменную
Ты точно делал именно так как пишешь, а не пытался малоками? Если да, то попробуй увеличить константу размера внедряемой процедуры RemoteThread() для WriteProcessMemory в InjectMemory(). Сейчас там 0x1000. Возможно твой компилятор нагенерил больше. Ну или "заоптимизировал" работу с памятью с помощью сишных функций - такое работать не будет. Я откомпилил студией 2005 (батником с поставки) с размером буфера 2к и вроде работает... Если на стеке не получается - загружай виндовое апи для выделения памяти.
dolzenko
Posts: 452
Joined: Wed 19 Apr, 2006 14:42
Location: Ростов-на-Дону

Re: SetEnv - утилита для изменения environment любому процессу

Post by dolzenko »

дядь, а дядь, научите программы компилировать :)
Andrey Budko wrote:Ты точно делал именно так как пишешь
беру оригинальные исходники, студия 2005, оригинальный батник, только вот в нем заменил libc.lib на libcmt.lib (а насколько это легитимно не знаю).
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: SetEnv — утилита для изменения environment любому процес

Post by John Doe »

http://barnyard.syr.edu/~vefatica/#SETENV : setenv.exe

Утилита сама не меняет окружение уже запущеных процессов, но ведь есть автообновление переменных окружения...

P.S.
Ещё одна:
http://www.codeproject.com/KB/applications/SetEnv.aspx

И ещё:
epath2.zip (http://www.westmesatech.com/misctools.html)
Last edited by John Doe on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: И ещё
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: SetEnv — утилита для изменения environment любому процес

Post by John Doe »

http://www.oocities.com/fp.westlake/nt/ wrote:conset.zip For Windows NT; does everything SET does on Windows 2000, including prompting for input. Also performs floating point math, sets system and user variables, sets variables from registry values, sets variables from a backquoted command string, adjusts console parameters, and more. v1.3 can be used to set variables in another process.
User avatar
Raistlin
Posts: 750
Joined: Wed 16 Mar, 2005 16:01
Has thanked: 3 times
Been thanked: 1 time

SetEnv — утилита для изменения environment любому процессу

Post by Raistlin »

Удалять переменные не умеет?
Magically yours
Raistlin
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

SetEnv — утилита для изменения environment любому процессу

Post by John Doe »

А проверить?
User avatar
Raistlin
Posts: 750
Joined: Wed 16 Mar, 2005 16:01
Has thanked: 3 times
Been thanked: 1 time

SetEnv — утилита для изменения environment любому процессу

Post by Raistlin »

Остается переменная с пустым значением. В принципе, не критично - 'if defined' ее не видит. Но, строго говоря, не удаляет.
Magically yours
Raistlin
User avatar
Raistlin
Posts: 750
Joined: Wed 16 Mar, 2005 16:01
Has thanked: 3 times
Been thanked: 1 time

SetEnv — утилита для изменения environment любому процессу

Post by Raistlin »

На Windows 10.0.14393 время выполнения команды

Code: Select all

setenv.exe foo=bar /im Far.exe /p 2
- порядка 30 с. На Win8 такого безобразия нет.
Magically yours
Raistlin
Post Reply

Return to “Обсуждение плагинов”