1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

elance, спор и арбитраж

Тема в разделе "WASM.HEAP", создана пользователем tomeksergey, 15 янв 2012.

  1. tomeksergey

    tomeksergey New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2012
    Сообщения:
    5
    Добрый день.
    Взял делать один проект на elance. Чтобы убрать все намеки на субъективность по поводу проекта , приведу описание и краткую переписку на английском.
    Итак, название проекта ( перевод в скобках):
    Design Program "Wrapper" to make License Protection of existing programs
    (Спроектировать программу-обертку для преобразования существующих программ в защищенные программы с лицензией)
    Описание:
    Цена - до 500 баксов.
    Ясно, за такие деньги полноценный навесной протектор никто писать не будет , да и возможно ли это в принципе в данном контексте. Я решил зашивать исходную программу в шифрованном виде в некую программу-загрузчик. Последняя и будет по данному ключу выполнять распаковку из ресурсов и последующий запуск. Ясно, запуск из памяти - возможен, но под всякий exe наверное не надежно. Поэтому решил поступить хитро: распаковать в temp папку и оттуда запускать. Все параметры , как то: trial период, контрольные суммы exe-шников, хранить в реестре и особо не заморачиваться.
    Я сделал ставку $350. Вот мой proposal:

    Далее, при необходимости могу скинуть переписку. Вкратце суть такова. Он спросил, будет ли обертка работать на любом executable. Я сообщил, что решение универсально. Бла-бла и он принял предложение. Внес деньги на escrow.
    Вот я изготовил софтину, скинул ему на тест.
    Сразу же обнаружилось, что он пакует .NET сборки ( опять таки, хорошо что не заморачивался запуском из памяти, для сборок это не проканает). Все пашет, если сборка одна, standalone так сказать. А у него идет сборка + куча файлов. Естественно, распаковав exe в temp папочку, этот exe не увидит этих своих файлов ! Ну и вот он пишет :

    Короче , хочет отменить проект, так на его конкретной софтине( где куча файлов и они зависят от exe) это все не канает.

    И теперь вопрос.
    Как мне лучше поступить? Варианты таковы:
    - стоять на своем и решить вопрос с помощью арбитра.
    Софтина пашет отлично если нету никаких зависимостей у пакуемого файла от файлов, которые находятся в его папке. Он видимо хотел что-то вроде протектора навесного. За 350 баксов... мда, буржуины епт
    - сделать распаковку в текущую папку ( сделать файл скрытым и системным). После отработки - сносить. Не комильфо, но ничего больше в голову не приходит.
    - принять его отказ. Естественно, обидно, неделя времени впустую.

    ПС. У меня 5 проектов выполнено успешно на елансе, рейтинг 5.0. В принципе, портить картину не хочется конечно. Но времени жаль...
    -
     
  2. PSR1257II

    PSR1257II New Member

    Публикаций:
    0
    Регистрация:
    25 июн 2011
    Сообщения:
    228
    tomeksergey

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

    Продолжайте диалог, короче.
     
  3. tomeksergey

    tomeksergey New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2012
    Сообщения:
    5
    PSR1257II
    Да, собственно так и думаю.
    Алгоритм упаковки в ресурсы - blowfish. Кроме того, формирую md5, чтобы сразу проверить лицензию на валидность. Тут проблем нет. А вот с голым исходным exe в той же папке - ситуация другая.. В сущности ничего не остается кроме этого.
     
  4. Kaimi

    Kaimi Андрей

    Публикаций:
    0
    Регистрация:
    15 апр 2010
    Сообщения:
    120
    А нельзя после скидывания в %TEMP% делать CreateProcess и указывать в параметрах Working Directory в котором лежат используемые файлы?
     
  5. tomeksergey

    tomeksergey New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2012
    Сообщения:
    5
    Kaimi
    Там есть параметр CurrentDirectory, но я думаю вряд ли прокатит. Например у него в софтине инсталяция, в которой три папочки. Естественно, сборка обращается к ним как Dir1/file.dat и тд.Вот что говорит msdn по поводу этого параметра :

    Выходит, если я задаю NULL, то текущей папкой будет та, в которой сам шифрованный wrapper лежит.
     
  6. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    имхо, нормально сделанный запуск из памяти будет запускать любой ехе.

    Сразу как то подумал, что дропать в темп не канает, т.к. проге может быть важно ее местоположение.
    Kaimi
    По этой причине устанавливать рабочий каталог для запускаемого процесса не решение.
     
  7. tomeksergey

    tomeksergey New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2012
    Сообщения:
    5
    K10
    Не подскажете, упаковщик типа upx поддерживает сборки .net?
    Как вариант, передрать оттуда код запуска из памяти. А по сути, этому товарищу нафиг не надо обычные win32 exe запускать. Ему только .net...
     
  8. commissar

    commissar New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2006
    Сообщения:
    9
    Адрес:
    Moldova
  9. tomeksergey

    tomeksergey New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2012
    Сообщения:
    5
    commissar
    Благодарю за ссылку.
     
  10. commissar

    commissar New Member

    Публикаций:
    0
    Регистрация:
    7 мар 2006
    Сообщения:
    9
    Адрес:
    Moldova
    tomeksergey
    Есть своя специфика, тем не менее.
    Например, по очевидным причинам, для сборки из памяти нельзя получить адрес на диске.