Задача: изменить путь к .ini файлу программы. Тому кто поможет, переведу 1000р.

Обсуждение в разделе «С/С++, C#, Delphi, .NET, Asm», начал(-а) sell123, 3.09.2017.

  1. sell123

    sell123 New Member

    Регистрация:
    30.08.2016
    Сообщения:
    9
    Одобрения:
    0
    Репутация:
    0
    Здравствуйте. Задача такая: есть программа Sandboxie. Она для работы использует файл конфигурации Sandboxie.ini, который находится в коренной папке Windows. Мне нужно сделать так, чтобы вместо этого статичного адреса, программа запрашивала его по моей личной ссылке, при чём чтобы ссылка начиналась с переменной среды %userprofile%. Так как в самой программе нет возможности изменить путь к этому файлу, мне нужен способ как это сделать.

    (Требуется мне это для того, чтобы несколько одновременно работающих учётных записей винды, могли одновременно использовать эту программу, но чтобы у каждого был свой файл конфигурации Sandboxie.ini).

    Тому кто найдёт решение моей проблемы, переведу на карту или вебмани, 1000р.
     
  2. #colorblind

    #colorblind Member

    Регистрация:
    31.01.2014
    Сообщения:
    468
    Одобрения:
    138
    Репутация:
    26
    Выложил бы софтину хоть
     
  3. sell123

    sell123 New Member

    Регистрация:
    30.08.2016
    Сообщения:
    9
    Одобрения:
    0
    Репутация:
    0
    Вот https://www.sandboxie.com/DownloadSandboxie

    (А и если задача будет решена, то я отпишусь в теме что всё, но пока не отписался - тема будет актуальна). Если у кого-о получится, то пишите в тему.
     
  4. DooD

    DooD Moderator

    Регистрация:
    30.09.2010
    Сообщения:
    1 142
    Одобрения:
    339
    Репутация:
    167
    Там в длл находятся нужные путя,по идее если заменить строку должно работать.
     
    _________________________
    Это одобряет Dark~Angel.
  5. sell123

    sell123 New Member

    Регистрация:
    30.08.2016
    Сообщения:
    9
    Одобрения:
    0
    Репутация:
    0
    Да это я и сам понимаю, только как это сделать, не представляю. Нет навыков ковыряния в софте.
     
  6. DooD

    DooD Moderator

    Регистрация:
    30.09.2010
    Сообщения:
    1 142
    Одобрения:
    339
    Репутация:
    167
    написать маленькую прожку которая будет запрашивать путь и введеный путь пропатчивать вместо системной директории.
    не могу подебажить сендбокси потому что сижу с телефона...может попаду за комп попробую
     
    _________________________
    Это одобряет ms13.
  7. SooLFaa

    SooLFaa Reservists Of Antichat

    Регистрация:
    17.03.2014
    Сообщения:
    382
    Одобрения:
    359
    Репутация:
    110
    А вот так не получиться?

    От имени Администратора запустить командную строку.
    И создать вместо файла символьную ссылку.
    Code:
    mklink "C:\Windows\Sandboxie.ini" "C:\Temp\Sandboxie.ini"
     
  8. altblitz

    altblitz Elder - Старейшина

    Регистрация:
    5.06.2009
    Сообщения:
    2 914
    Одобрения:
    2 013
    Репутация:
    83
    Опередил!
    Всегда так делаю - `sudo ln -s /usr/bin/ld.lld /usr/bin/ld'

    И в этом вашем Windows, подменяю swap-file с c:\ на d:\ - символьным линком.
     
    #8 altblitz, 11.09.2017
    В последний раз редактировалось: 11.09.2017
  9. sell123

    sell123 New Member

    Регистрация:
    30.08.2016
    Сообщения:
    9
    Одобрения:
    0
    Репутация:
    0
    Спасибо за вариант. Буду пробовать сегодня ночью. Если получится, то как и обещал, отблагодарю.
     
  10. sell123

    sell123 New Member

    Регистрация:
    30.08.2016
    Сообщения:
    9
    Одобрения:
    0
    Репутация:
    0
    Не, всё же этот способ никак мою проблему не решает. Мне ведь нужно, чтобы у каждой учётки винды был свой файл. Поэтому и требуется, чтобы в пути была переменная среды %userprofile%. Чтобы каждая учётная запись, брала свой файл Sandboxie.ini из своей личной папки. А если сделать как ты написал, то путь как был статичным, одним для всех, так он и останется им, просто этот единственный файл будет в другом месте находиться. Суть не в том, чтобы просто поменять место файла, а в том, чтобы в пути была переменная среды %userprofile%.
     
    #10 sell123, 11.09.2017
    В последний раз редактировалось: 11.09.2017
  11. SooLFaa

    SooLFaa Reservists Of Antichat

    Регистрация:
    17.03.2014
    Сообщения:
    382
    Одобрения:
    359
    Репутация:
    110
    А в чем.проблема? Создай ссылку используя.переменную
     
  12. sell123

    sell123 New Member

    Регистрация:
    30.08.2016
    Сообщения:
    9
    Одобрения:
    0
    Репутация:
    0
    Первая проблема заключается в том, что переменная преобразуется в обычный статичный адрес при создании соединения.

    А вторая проблема (самая основная, ставящая крест на данном способе), заключается в том, что сам принцип работы этой функции, исключает переменные. Там создаётся железная привязка по конкретному пути. Можешь попробовать к любому другому файлу присобачить в пути %userprofile%, это никак не получится сделать.
     
  13. SooLFaa

    SooLFaa Reservists Of Antichat

    Регистрация:
    17.03.2014
    Сообщения:
    382
    Одобрения:
    359
    Репутация:
    110
    Попробую завтра
     
  14. altblitz

    altblitz Elder - Старейшина

    Регистрация:
    5.06.2009
    Сообщения:
    2 914
    Одобрения:
    2 013
    Репутация:
    83
    Если принцип этой программы, исключает переменные окружения, то эта странная программа - не используется.
    И наверное, есть иные - арийско верные sandbox программы, что умеют в параметры окружения.
     
  15. sell123

    sell123 New Member

    Регистрация:
    30.08.2016
    Сообщения:
    9
    Одобрения:
    0
    Репутация:
    0
    Программа ничего не исключает, она запросто будет работать с переменной среды если найти как её прописать в путь.
    Я про команду "mklink" в командной строке говорил, она способна привязывать только статичный путь к файлам и папкам.
     
  16. neviens

    neviens Member

    Регистрация:
    9.10.2013
    Сообщения:
    69
    Одобрения:
    22
    Репутация:
    3
    Местоположение ini файла определено драйвером SbieDrv.sys,
    и без радикального вмешательства в его коде Sandboxie.ini может находиться только в 2 местах:
    \SystemRoot\Sandboxie.ini
    \Путь k SbieDrv.sys\Sandboxie.ini
     
  17. spiner

    spiner Member

    Регистрация:
    8.07.2015
    Сообщения:
    31
    Одобрения:
    13
    Репутация:
    0
    ну так создай .bat-ник, в котором сначала создается символьная ссылка на файл с использванием переменной среды, а потом происходит запуск софта:
    Code:
    mklink "C:\Windows\Sandboxie.ini" "%userprofile%\Sandboxie.ini"
    Sandboxie.exe
    
     
  18. sell123

    sell123 New Member

    Регистрация:
    30.08.2016
    Сообщения:
    9
    Одобрения:
    0
    Репутация:
    0
    а) Команда mklink не способна создавать привязку с переменной среды, она автоматически преобразует её в статичный адрес.
    б) Мне нужно чтобы пользователи работали одновременно, чтобы у каждого был свой Sandboxie.ini, чтобы один пользователь не мешал другому.

    mklink тут вообще ничего не решит. Сам принцип работы этой команды не несёт в себе то, что мне нужно.
     
  19. spiner

    spiner Member

    Регистрация:
    8.07.2015
    Сообщения:
    31
    Одобрения:
    13
    Репутация:
    0
    у вас какая версия Sandboxie? x64 или х86?
     
  20. sell123

    sell123 New Member

    Регистрация:
    30.08.2016
    Сообщения:
    9
    Одобрения:
    0
    Репутация:
    0
    У меня x64.
     
Загрузка...