Я бы предложил сначала минимизировать что-то вроде YUI Compressor, а затем преобразовать всю строку и числа в значения HEX, используя что-то вроде http://www.javascriptobfuscator.com/
При этом код будет практически недоступен для понимания, и я думаю, что на этом этапе потребуется больше времени, чтобы Хакер мог повторно ввести ваш код, чем на самом деле, если он переписал с нуля. Переписывание и клонирование - это то, что вы не можете остановить. Ведь мы свободные люди!
Вот инструкции для создания Cairo/Cairomm с Visual C++.
Требуемый:
Для использования VC ++ инструменты командной строки пакетный файл 'vcvars32.bat' должен быть выполнен.
C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\vcvars32.bat
Загрузите (и извлечение) zlib123.zip из http://www.zlib.net/
cd zlib123 nmake /f win32/Makefile.msc dir # zlib.lib is the static library # # zdll.lib is the import library for zlib1.dll # zlib1.dll is the shared library
Загрузите (и извлечение) lpng1231.zip из http://www.libpng.org/pub/png/libpng.html
VC ++ 9,0 компиляторов дают загрузки "этого, могли бы быть небезопасные" предупреждения. Проигнорируйте их; это - паника безопасности MS (код хорош).
cd lpng1231\lpng1231 # for some reason this is two stories deep nmake /f ../../lpng1231.nmake ZLIB_PATH=../zlib123 dir # libpng.lib is the static library # # dll is not being created
Pixman является частью Каира, но отдельной загрузкой.
Загрузите (и извлечение) pixman-0.12.0.tar.gz из http://www.cairographics.org/releases/
Используйте MSYS для untar через 'tar-xvzf pixman*.tar.gz'
У и Pixman и Каира есть Make-файлы для компилятора командной строки Visual C++ (статья), но они используют make-файл Гну и подобные Unix инструменты (sed и т.д.). Это означает, что мы должны выполнить делание из MSYS.
Откройте командную строку с VC ++, инструменты командной строки включили (попытка 'статья/?'). Превратите ту командную строку в подсказку MSYS 'C:\MSYS\1.0\MSYS.BAT'.
НЕ используйте значок MSYS, потому что затем Ваша подсказка будет теперь знать о VC ++. Вы не можете выполнить .bat файлы от MSYS.
Попробуйте тот VC ++, инструменты работают отсюда: 'статья-?'
Попытка та Гну делает также работы: 'сделайте-v'.
Круто.
cd (use /d/... instead of D:) cd pixman-0.12.0/pixman make -f Makefile.win32
Это принимает значение по умолчанию к MMX и оптимизации SSE2, которая требует довольно нового x86 процессора (Pentium 4 или Pentium M или выше: http://fi.wikipedia.org/wiki/SSE2)
Существуют некоторые предупреждения, но это, кажется, успешно выполняется.
ls release # pixman-1.lib (static lib required by Cairo)
Останьтесь в VC ++ пряная подсказка MSYS для также Каира для компиляции.
Загрузите (и извлечение) Каир-1.6.4.tar.gz из http://www.cairographics.org/releases/
cd cd cairo-1.6.4
Make-файл win32 здесь почти хорош, но сделал, чтобы Pixman соединил каналом соединенный проводами.
Используйте измененный 'Make-файл-cairo.win32':
make -f ../Makefile-cairo.win32 CFG=release \ PIXMAN_PATH=../../pixman-0.12.0 \ LIBPNG_PATH=../../lpng1231 \ ZLIB_PATH=../../zlib123
(Запишите все на одной строке, игнорируя обратные косые черты),
Это не говорит "правила сделать 'src/cairo-features.h'. Используйте вручную подготовленный один (в Каире> 1.6.4 может быть 'src/cairo-features-win32.h', что можно просто переименовать):
cp ../cairo-features.h src/
Повторите сделать команду (стрелка помнит это).
ls src/release # # cairo-static.lib
Загрузите (и извлечение) cairomm-1.6.4.tar.gz из http://www.cairographics.org/releases/
Существует Проект Visual C++ 2005 года, который мы можем использовать (через открытый и обновление) на 2008.
cairomm-1.6.4\MSCV_Net2005\cairomm\cairomm.vcproj
Изменения, которые должны быть сделаны:
Измените активную конфигурацию для "Выпущения"
Свойства Cairomm-1.0 (с меню правой кнопки)
C++/General/Additional Include Directories: ..\..\..\cairo-1.6.4\src (append to existing) Linker/General/Additional library directories: ..\..\..\cairo-1.6.4\src\release ..\..\..\lpng1231\lpng1231 ..\..\..\zlib123 Linker/Input/Additional dependencies: cairo-static.lib libpng.lib zlib.lib msimg32.lib
C++/Code generation/Floating point model Fast
Щелкните правой кнопкой по 'cairomm-1.0' и 'сборке'. Существуют некоторые предупреждения.
dir cairomm-1.6.4\MSVC_Net2005\cairomm\Release # # cairomm-1.0.lib # cairomm-1.0.dll # cairomm.def
Сделал Вы проверяете здесь: http://cairographics.org/visualstudio/? Что Вы подразумеваете, что 'Это использует время выполнения MSCVRT, которое является несовместимым с Visual C++ 2005/2008'? Каковы точные проблемы, которые Вы имеете?
Я сделал это, но у меня нет готово записанных инструкций. Мои сборки также довольно минимальны, поскольку я не нуждался в поддержке для, например, PNG и файлы SVG, я просто использовал его для рендеринга сгенерированной векторной графики к буферам памяти.
Но то, что я сделал, было прочитано config.h
и другие файлы для системы сборки UNIX/GNU и записи мое собственное, которому удовлетворяют для MSVC, и затем, создают проект с соответствующими исходными файлами. Вероятно, требуется несколько часов в лучшем случае, чтобы сделать это, но когда Вы сделаны, это просто работает ;)
Править: Действительно посмотрите эту страницу, она имеет MSVC 2003 (7.1) проект для создания Каира: http://slinavlee.googlepages.com/
Набор инструментальных средств MSYS+gcc пользуется старой библиотекой времени выполнения MSVCRT (теперь встроенный в Windows), и Visual C++ 2005/2008 приносят свое собственное. Это - известное то, что код не должен зависеть от нескольких времени выполнения. Передающие вещи s.a. дескрипторы файлов, указатели памяти и т.д. будут затронуты и вызовут по-видимому случайные катастрофические отказы в таком сценарии.
Я не поставился этим. С другой стороны я больше не действительно нацелен на Windows, также. Но мне сказали достаточно, чтобы даже не попробовать решение.
То, что, возможно, работало, связывается, все зависимости статически в lib (скажите, Cairomm). Статичный освобождает, не имеют времени выполнения связанным с ними, не так ли? Но я не попробовал это. Я на самом деле заставил VC ++ здание всех компонентов работать, но потребовались дни.
Я не нашел URL, который Вы даете. Странный сам по себе; я смотрел 'везде'. С другой стороны это уже - для Visual Studio 2003.NET, таким образом, два поколения позади.
Похоже, что инструкции не работают с текущей версией imlib, интересно, стоит ли задавать этот вопрос повторно?