под Windows PE не запускается программа

Тема в разделе "WASM.BEGINNERS", создана пользователем ant, 18 мар 2009.

  1. ant

    ant Member

    Публикаций:
    0
    Регистрация:
    19 мар 2008
    Сообщения:
    118
    Чутье разведчика подсказывает, что SxS и "side by side" как-то связаны(?). То,что винда с некоторых пор защищает свои библиотеки я слышал очень давно(когда еще был далек от сферы IT). С удивлением обнаружил недавно следующее: удаляю из подопытной системы папки внутри каталога WinSxS, в итоге не запускается даже regedit. Я думал, что для запуска "родных" прог используются "родные" dll. Или я неверно понимаю этот секас, как место хранения "неродных" библиотек?

    Вообще, Semionio, я не вполне осилил сказанное Вами. Про рамдрайв знаю. Что значит "распаковываешь" - не понял. Про масм, а особенно "перед каждым кликом" (чего и зачем?)
    Если Вы знакомы с работой в этой среде, не уходите, пожалуйста, далеко.
    ReadOnly - чего?
    К слову, в PE и с крипографическими функциями у меня проблемы были... В смысле проверки файлов винды по каталогу безопасности.
    2 c4m310t, n)name Знать судьба, раз столько за ольку. В конкретном случае -поробую запустить, завтра, на работе. Не факт, что выгорит. В общем случае - видеть состояние регистров и флагов с одной стороны, и понимать (интерпретировать) с другой - две большие разницы.
    Помню, еще lexicon (был такой текстовый редактор) научил маты в сообщениях выдавать, когда посмотрел екзешник в nc. Когда продавал этот i286(40 Mb HDD!), покупатели были в шоке. Я сделал спортивное лицо, и сказал, что так и было. Тогда это было на уровне моего понимания. С тех пор я не далеко ушел, другие были дела. Теперь наверстываю упущенное.
     
  2. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Ну это кому как.
    Я например код пишу достаточно близкий к тому который отображает отладчик.
    Разве что в коде у меня имена меток, а не адреса...
    А так - прологи/эпилоги руками пишу, смещения в структурах - тоже.
    Это кто к чему привык.
    Я и не предлагаю ничем меряться.
    Для более конструктивного разговора лучше дайте ссылку на образ PE с которым не работает (откуда скачать можно), и скомпилированную программу.
    Я завтра под виртуалкой погоняю если время будет (на 100% не обещаю).
    OllyDBG под WinPE должна нормально работать.
     
  3. ant

    ant Member

    Публикаций:
    0
    Регистрация:
    19 мар 2008
    Сообщения:
    118
    Докладаю: Olk'а запустилось под PE.
    Еще интереснее то, что у меня дома установлен на HDD тот же PE, что и на работе. То есть, делалось так: открываем WinHex бутсектор, правим ntldr на minint, сохраняем в bootsect.dat(например), прописываем сие в boot.ini. Папку minint притащил с работы пару дней назад. Дома запускть злосчастную прогу до сего дня не пытался. Сейчас(в связи с рекомендациями отдебажить ее в Оле) запустил таки Олю (были маты на диск Y:, которого тупо нет). Запускаю прогу - тоже(те же, на диск Y, маты, но не вылетает. Крыбля, крабля... Обля! Всёбля! Спатьбля! Пошел спать, пол-второго у нас.
     
  4. c4m310t

    c4m310t New Member

    Публикаций:
    0
    Регистрация:
    19 дек 2008
    Сообщения:
    237
    2Semiono
    Другими словами, хочешь сохранить изменения ?!
    Если ты это имеешь введу, то возможность есть...
     
  5. iZzz32

    iZzz32 Sergey Sfeli

    Публикаций:
    0
    Регистрация:
    3 сен 2006
    Сообщения:
    355
    Оффтоп, Semiono, F10, Copy to executable, All modifications, Copy all, F10, Save file.
     
  6. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    вообще Shell очень "мутная" тема для изучения по примерам, надо читать подробнее. Вот тут есть примерно то же самое. Тоже шелл32, тоже открытие папок через системный диалог. Только там все в лист переносится, а ты месажбоксы на каждую директорию. Проверь последний аттач в теме, если скомпилированный экзешник под ПЕ запустится - то у тебя глобальный косяк из-за непонимания. Передираешь оттуда все, что касается открытия папки, и поиска файлов. То есть рекурсию тоже нафиг, и просто цикл.

    (я, естественно, не просто так предлагаю - твоя рекурсия не работает :)))) на моей нормальной винде, не урезанной - виснет после первого мессажбокса) /при нескольких вложенных папках/

    (5-ю минутами позже, проржавшись) У тебя буфер не очищается. Нажми несколько раз на нормальной винде "Гоу" и выбор папки, в мессаджбоксе строка - практически подсказка на то, где один из косяков

    А, да - и олли как-то странно с вызовами Shell32 работает, или я что-то не понял. Но "отлаживаемая программа не отвечает, ждать 5 секунд да/нет" постоянное явление :dntknw:

    ...а если и этот листвью не запустится под ПЕ, то (наверно) только полный отказ от Shell32 поможет. Кажется, Дельфи делает похожие диалоги своими силами, не системными.
     
  7. ant

    ant Member

    Публикаций:
    0
    Регистрация:
    19 мар 2008
    Сообщения:
    118
    Я по запарке выложил незаконченную версию. Месаджи - отладочные. Суть в том, что прога во-об-ще не запускалась. До "Go" и рекурсии дело не доходио, так что это не суть топика. Хотя, за советы спасибо.
    А мессажд по нажатию кнопки - выскакивать должен, если не выбран стартовый каталог :))) . Я и забыл про него :)) Выкладываю полностью готовый и рабочий вариант (работает под нормальной виндой без зависонов).
    Сегодня работы навалило... Поразбираюсь ночью. Спасибо еще раз.
     
  8. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    793
    ant, WinSxS = Side by Syde движёк созданный для подсовывания программам разных версий библиотек, например, comctl32.dll, для совместимости. Offtop: есть и ещё один движёк WOW = Windows On Windows - одинаково не люблю обоих :) потому что болото! Чем заплатки плодить лучшеб сразу правильно делалось... AMD64 так и завис в стадии тест системы, ни то ни сё, ну хотя благодаря именно WOW практически весь софт x86 работает там! А WinSxS - это уже родное для винды :)
    Проблемма только что я не очень понимаю как там либы регистрируются, я как-то лазил по реестру так и не понял нифига. Сейчас пошли такие msvcr80.dll, тоже толь жёстко путь прописан, нипонятно. И где попало их уже не зарегишь... Я просто катигорически признаю только system32 для библиотек, всё остальное извращения, и пусть майкрософт докажут мне обратное )))

    А насчёт софта, иногда программы не могут работать с "только для чтения" диска, тогда можно закатывать их в архив SFXсамораспаковывающийся, чтобы прога просто копировалась на виртуальный
    RAMDRIVE и оттуда уже запускалась. Тут можно как угодно это организовать,
    вплоть до настоящей инсталяции (/VERYSILENT) по нажатию ярлыка определённого приложения в меню пуск...
     
  9. ant

    ant Member

    Публикаций:
    0
    Регистрация:
    19 мар 2008
    Сообщения:
    118
    Про членомерство - это не было Вам адресовано. Что касается образа PE, то я их не качаю. Есть "конструкторы" на ruboard.com, есть утилита от Winternal, он же Systernals, он же Руссинович(это уже ERD Commander). Вообще-то, я больше всего и надеялся на такой плдход. Что кто-то, кто не смог предположительно указать на возможную причину сбоя запустит у себя в той же среде, потому и указал в первом посте автора "конструктора". Другое дело, что авторов и конструкторов полно...
    Как бы то ни было, я получил несколько идей (поводов для размышления). Я еще неоднократно перечитаю эту тему, узнал много нового о взгядах на программирование, на рекурсию, на ... да много на что. Спасибо всем откликнувшимся за понимание.
    ЗЫ: Клерк, а Delphi рулит!!!