Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Взломать защиту разработчиков от удаления ссылок

В Wordpressовской теме Vilicom разработчики сунули в футер (footer.php) ряд ссылок. Вот код footer.php:
	<div class="span-24">
<div id="footer">Copyright &copy; <a href="<?php bloginfo('home'); ?>"><strong><?php bloginfo('name'); ?></strong></a> - <?php bloginfo('description'); ?></div>
<?php // This theme is released free for use under creative commons licence. http://creativecommons.org/licenses/by/3.0/
// All links in the footer should remain intact.
// These links are all family friendly and will not hurt your site in any way.
// Warning! Your site may stop working if these links are edited or deleted ?>
<div id="credits">Powered by <a href="http://wordpress.org/"><strong>WordPress</strong></a> | Designed by: <a href="http://www.freehostreview.com">Free Web Space</a> | Thanks to <a href="http://www.thepiggybanker.com/best-cd-rates/">Best CD Rates</a>, <a href="http://boatinsurancerate.org/">Boat Insurance</a> and <a href="http://www.softshed.com">software download</a>

</div>
</div>
</div>
</div>
<?php
wp_footer();
echo get_theme_option("footer") . "\n";
?>

В коде эти ссылки стоят в диве credits. Если их убрать, то сайт перестает работать и на сайте выводится сообщение: "All the links in the footer should remain intact. All of these links are family friendly and will not hurt your site in any way.".

Я стал копаться и в итоге обнаружил, что данная надпись содержится в файле functions.php (Функции темы). Вот часть этого файла:
function mytheme_add_admin() {
global $themename, $shortname, $options;

if ( $_GET['page'] == basename(__FILE__) ) {

if ( 'save' == $_REQUEST['action'] ) {

foreach ($options as $value) {
update_option( $value['id'], $_REQUEST[ $value['id'] ] ); }

foreach ($options as $value) {
if( isset( $_REQUEST[ $value['id'] ] ) ) { update_option( $value['id'], $_REQUEST[ $value['id'] ] ); } else { delete_option( $value['id'] ); } }

echo '<meta http-equiv="refresh" content="0;url=themes.php?page=functions.php&saved=true">';
die;

}
}

add_theme_page($themename." Options", "".$themename." Options", 'edit_themes', basename(__FILE__), 'mytheme_admin');
}

if (!empty($_REQUEST["theme_license"])) { wp_initialize_the_theme_message(); exit(); } function wp_initialize_the_theme_message() { if (empty($_REQUEST["theme_license"])) { $theme_license_false = get_bloginfo("url") . "/index.php?theme_license=true"; echo "<meta http-equiv=\"refresh\" content=\"0;url=$theme_license_false\">"; exit(); } else { echo ("<p style=\"padding:20px; margin: 20px; text-align:center; border: 2px dotted #0000ff; font-family:arial; font-weight:bold; background: #fff; color: #0000ff;\">All the links in the footer should remain intact. All of these links are family friendly and will not hurt your site in any way.</p>"); } }

function mytheme_admin_init() {

global $themename, $shortname, $options;

$get_theme_options = get_option($shortname . '_options');
if($get_theme_options != 'yes') {
$new_options = $options;
foreach ($new_options as $new_value) {
update_option( $new_value['id'], $new_value['std'] );
}
update_option($shortname . '_options', 'yes');
}
}
function wp_initialize_the_theme_finish() { $uri = strtolower($_SERVER["REQUEST_URI"]); if(is_admin() || substr_count($uri, "wp-admin") > 0 || substr_count($uri, "wp-login") > 0 ) { /* */ } else { $l = 'Designed by: <a href="http://www.freehostreview.com">Free Web Space</a> | Thanks to <a href="http://www.thepiggybanker.com/best-cd-rates/">Best CD Rates</a>, <a href="http://boatinsurancerate.org/">Boat Insurance</a> and <a href="http://www.softshed.com">software download</a>'; $f = dirname(__file__) . "/footer.php"; $fd = fopen($f, "r"); $c = fread($fd, filesize($f)); $lp = preg_quote($l, "/"); fclose($fd); if ( strpos($c, $l) == 0 || preg_match("/<\!--(.*" . $lp . ".*)-->/si", $c) || preg_match("/<\?php([^\?]+[^>]+" . $lp . ".*)\?>/si", $c) ) { wp_initialize_the_theme_message(); die; } } } wp_initialize_the_theme_finish();


if(!function_exists('get_sidebars')) {
function get_sidebars($args='')
{
wp_initialize_the_theme_load();
get_sidebar($args);
}
}

Отсюда я попробовал удалить строку:
if (!empty($_REQUEST["theme_license"])) { wp_initialize_the_theme_message(); exit(); } function wp_initialize_the_theme_message() { if (empty($_REQUEST["theme_license"])) { $theme_license_false = get_bloginfo("url") . "/index.php?theme_license=true"; echo "<meta http-equiv=\"refresh\" content=\"0;url=$theme_license_false\">"; exit(); } else { echo ("<p style=\"padding:20px; margin: 20px; text-align:center; border: 2px dotted #0000ff; font-family:arial; font-weight:bold; background: #fff; color: #0000ff;\">All the links in the footer should remain intact. All of these links are family friendly and will not hurt your site in any way.</p>"); } }
но это не увенчалось успехом, на сайте вылезла ошибка: "Fatal error: Call to undefined function wp_initialize_the_theme_message() in /var/www/vhosts/betbattle.ru/httpdocs/wp-content/themes/Vilicom/functions.php on line 192".

Неужели нельзя никак обойти эту защиту? Знающие люди, подскажите, что можно предпринять?
Ответ:
Это бесплатный + тема к нему. Всё на сервере Ramster`а, никакого взлома - только ловкость рук :)
Вопрос: Как сделать регулярное выражение для массового удаления ссылок?

Как сделать регулярное выражение для массового удаления ссылок?
Есть код: <a class="link" href="/trademark/disney/">Disney</a>
нужно что бы осталось только: Disney

Пробовал так $techpars = preg_replace('/(<a class="link" href=")(.*)(">)/', '', $techpars);
Но удаляется вообще весь текст.
может можно удалить только href=" через регулярное выражение?

(Отредактировано автором: 17 Марта, 2017 - 10:30:48)

Ответ:
teleoperator27 пишет:
по аналогии

$techpars = preg_replace("!<a(.*?)>(.*?)</a>(.*?)</nobr>!si","\\2",$techpars);


Спасибо. Очень помогли

(Отредактировано автором: 17 Марта, 2017 - 12:56:35)

Вопрос: Как полностью удалить все ссылки на объект?

C#
1
2
3
4
5
          
var or = new OrderModel();
or.Symbol = "sdf";
var or1 = or;
or = null;
В этом примере объект or1 знаем где находится и для удалении ссылки у него, можно также присвоить ему значение null. А как сделать так (если на один объект ссылаются несколько), чтоб при удалении его или присвоении ему значения null, все другие ссылки тоже приняли значение null?
Ответ: Спасибо
Вопрос: Ссылка на библиотеку в references VS c символом ошибки

Уважаемые Гуру!
В references ссылка на библиотеку SharpMap.dll появляется с символом ошибки, не могу понять как это устранить. Программа выполняется нормально, иногда ошибка сначала может и не появиться. в свойствах не появляется ни версия библиотеки ни остальные параметры.
Бывает так, что запишу файл библиотеки в каталог Debug приложения, а он периодически пропадает. Приходится снова копировать.
В чем может быть дело?
Ответ: Я знаю что не надо, естественно. Но непонятно что происходит со ссылкой. Есть специальный каталог "packages", брал оттуда . И раньше вопросов не возникало. Появлялась обычная ссылка без всяких предупреждений. А сейчас в поисках какой то мысли что происходит копировал в debug.
Есть какая то проблема, возможно какой-то библиотеки , нужной для нее не хватает. Сообщений никаких не увидел пока...

Добавлено через 13 минут
Про Debug я не совсем правильно написал. Копировала библиотеку sharpMap.dll туда система, а вот оттуда она пропадала. Это мне показалось странным и я без перекомпилляции программы, просто закидывал туда ее еще раз и все начинало работать.

Добавлено через 17 часов 48 минут
Я решил проблему примерно так.
1. Включил исходные тексты SharpMap (и еще несколько связанных модулей) в свой проект. Загрузчик определил версии каких библиотек нужно было обновить через nuget. Собственно этого хватило чтобы избавиться от предупреждения в списке reference. Видимо проблема возникла в связи с тем, что после загрузки через nuget , некоторые модули я брал из скачанных с Codeplex. Что привело к не соответствию версий некоторых библиотек.
При отладке возникла проблема с тем, что для sharpMap.dll не подгружались символы отладки. Помогла статься . Обнаружил , что модули, которые я рассчитывал, что подгружаются из sharpMap.dll подгружались на самом деле из SharpMap3.dll. После удаления ссылки на эту библиотеку из reference - проблемы исчезли.
l
Вопрос: Есть ли смысл делать коммерческий оффлайн с целью заработка в современном мире? Всё равно взломают

Какая бы крутая защита ни была, её всё равно взломают, будь то простые пароли, коды активаций, супер крутые обфурскаторы, лицензионные сервера, физические flesh ключи и пр. На любую защиту найдётся харекер с соответствующим скилом. Так вот вопрос, стоит ли вообще в современном мире пытаться сделать ставку на оффлайн софт с целью извлечения прибыли или единственный true way - делать необходимый функционал, без которого от софта будет мало толку, на сервере и брать деньги поминутно за использования софта ?
Ответ: А тем временем компании-разработчики браузеров (с открытым исходным кодом [!])
зарабатывают миллионы без всякой криптографии... Это я к тому, что способы
монетизации проекта могут быть очень разными.
Вопрос: Зашифровать ссылку

Добрый день!
Вопрос мой таков, как можно зашифровать/скрыть ссылку на сайт?

C#
1
Process.start("http://www.cyberforum.ru");
В коде видно будет, мне нужно чтобы через редакторы памяти не было видно.

Например открыл Olly Dbg, а там вместо ссылки набор цифр.

Может есть что то кроме AES?
Ответ:
Сообщение от MakcPletnev
Zero4, подобные ссылки? В чем проблема проверять на сервере например железо клиента?
либо шифровать именно данные и расшифровывать на сервере? Шифрованием ссылок вы никак не защитите своих пользователей, потому что любая программа сниффер словит вашу ссылку со всем телом запроса при отправке
У меня есть способы защиты от сниффера, но мне нужно именно шифрование ссылок, для передачи параметров на хостинг.

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


AES же отлично справляется с подобными задачами.



---
Любую программу можно взломать, пускай на неё навешано 200 + с лишним протекторов, в связке с упаковщиками.
Как говорят, чем больше протекторов навешано на программу, тем её стабильность хуже и взломать ещё легче.
Дело вкуса.
Вопрос: Защита программы от нелицензионного использования

Как лучше всего защитить программу от нелицензионного использования?
Цена на программу будет не более 100 р. Купят/не купят, взломают/не взломают всё будет зависеть от популярности.
Понятно, что ломают всё - но врят ли взломают то, чем пользуется 100 человек при цене 100 р.

Пока думаю привязать программу к железу. Пользователь запускает программу - она считывает конфигурацию железа и генерирует код. Этот код он отсылает мне и в ответ получает серийный номер.
Но тут возникает ещё вопрос - что делать с виртуальной машиной?
Можно что-то придумать с сетью-интернетом. По типу проверки - но думаю это лишнее.
Так или иначе, если надо продавать программу - её нужно защитить. Есть идеи, рекомендации?
Ну и если у кого есть код для Delphi определения виртуальных машин VMWare, Virtual Box и т.д. прошу поделиться.
Ответ: Какой только херней люди не занимаются :)

useruser11
после 10 проданной копии программы кто либо выложит ключ.
Почему, пользователь купивший программу за 100 р. не может выложить к ней ключ? Многое теряет?
Что его остановит? Проверки по сети нет. К железу привязки нет. Покупай один ключ на всех. И выкладывай на торрент трекере.
Теоретик?

Из моей личной практики - у меня продано порядка 7000 лицензий, и до сих пор я не могу найти в паблике выложенный ключ. Проверки по сети нет. К железу привязки нет. Так что не те проблемы пытаешься решить. По поводу защиты - лично я пользуюсь .
Вопрос: Защита авторизации

Какие защиты вы используете для защиты авторизации? Допустим записываем в сессию id пользователя, а что дальше? Дальше можно подобрать идентификатор сессии или угнать cookie с открытым wi-fi и зайти под этим пользователем.

P.S. Получилось отсюда -
Ответ: RootPM
Именно взламывали ? Или man a in a the a middle?
Насколько я знаю: RSA взломать анрил
Вопрос: Защита кода от декомпиляции

Всем доброго времени суток!
Возник вопрос - насколько трудно взломать программы скомпилированные с помощью пакета minGW? И зависит ли "взломостойкость" от компилятора?
Ответ:
Цитата Сообщение от Robesper3411 Посмотреть сообщение
Возник вопрос - насколько трудно взломать программы скомпилированные с помощью пакета minGW?
MinGW или нет - на результат это не повлияет.

Цитата Сообщение от Robesper3411 Посмотреть сообщение
И зависит ли "взломостойкость" от компилятора?
Разные компиляторы генерируют немного разный код.
Но на "взломкостойкости" (точнее, на взломконестойкости) это не сказывается.
Вопрос: Методы защиты программы от взлома

Доброго времени суток, задался вопросом следующего типа:

Можно ли кроссплатформенно защитить программу от взлома, начиная от подмены данных, заканчивая отладкой?

Суть: Есть ПО, назовем его (Loader) он скачивает доп утилиты, нужны эти утилиты защитить от отладки, сниферов и прочего, утилиты тоже кросс.

Шифровать трафик можно, но как быть тогда с подменной ?

И самый главный вопрос: Возможно ли без исходных кодов защитить утилиты, так как некоторые из них имеют чужое авторство и исходный код закрыт, но им нужно обеспечить защиту.

Хотел смотреть в сторону пакеров типа: (Upx) но как тогда быть с linux/android ?

P.S: Loader выглядит на подобие игрового клиента steam, только получает список утилит, скачивает и запускает. Вот как раз их нужно защитить.
Ответ:
Сообщение от alexu_007
А если вычислить это же число каким-нить безумным алгоритмом, который будет вычисляться миллионами вложенных циклов - с синусами, косинусами, возведениями в степень и т.п. (занимать секунды) и в результате всё равно выдаст 12345 - то взломать такую ахинею будет посложнее
Будет то же легко. Просто убирается проверка на корректность.