Возникла тут задача, написать код на php, который принимает js-код и обфусцирует его по самое не балуй. После курения гугла и хабра я приступил к работе. Как и следовало, я начал того, что запустил консоль JS в хроме и начал пытаться получать строки из месива символов, вот что получилось (с пояснениями):
Записки сумасшедшего гентушника
суббота, 9 ноября 2013 г.
воскресенье, 29 сентября 2013 г.
вторник, 11 июня 2013 г.
Кусок PHP кода для генерации regexp
Создаем regexp для фильтрации дат отстоящих на +-3 года от заданой
кому надо тот переделает
$start = '15.07.1986';
$start = explode('.',$start);
$start = $start[2];
$start -=3;
$reg_f = array();
$reg_f[0] = floor($start/100); //Определяем век рождения
$reg_f[1] = floor(($start%100)/10); //Определям десятилетие
$reg_f[2] = ($start%10); //Определяем год
$start += 6;
$reg_l = array();
$reg_l[0] = floor($start/100); //Определяем век рождения
$reg_l[1] = floor(($start%100)/10); //Определям десятилетие
$reg_l[2] = ($start%10); //Определяем год
$delta = array_diff_assoc($reg_l,$reg_f);//определяем где разница
if (isset($delta[0])) //Люди с разных веков
$regexp .= '('.$reg_f[0].'|'.$reg_l[0].')';
else $regexp .= '('.$reg_f[0].')'; //Люди одного века
$des = array();
if (isset($delta[1]))//Разные десятилетия
{
for ($i=min($reg_l[1],$reg_f[1]);$i<=max($reg_l[1],$reg_f[1]);$i++)
$des[] = $i;
// $regexp.= '('.implode('|',$des).')';
}
else $regexp.='('.$reg_l[1].')'; //Одинаковые десятилетия
if (isset($delta[2])) //Разные года
{
if (empty($des)) //Если нам феерически везет и десителетия совпали
$regexp .= '['.$reg_f[2].'-'.$reg_l[2].']';
else //Здравствуй, невезуха
{
$des[0] .= '['.$reg_f[2].'-9]';
$des[1] .= '[0-'.$reg_l[2].']';
$regexp .= '('.implode('|',$des).')';
}
}
$regexp .= '/';
кому надо тот переделает
$start = '15.07.1986';
$start = explode('.',$start);
$start = $start[2];
$start -=3;
$reg_f = array();
$reg_f[0] = floor($start/100); //Определяем век рождения
$reg_f[1] = floor(($start%100)/10); //Определям десятилетие
$reg_f[2] = ($start%10); //Определяем год
$start += 6;
$reg_l = array();
$reg_l[0] = floor($start/100); //Определяем век рождения
$reg_l[1] = floor(($start%100)/10); //Определям десятилетие
$reg_l[2] = ($start%10); //Определяем год
$delta = array_diff_assoc($reg_l,$reg_f);//определяем где разница
if (isset($delta[0])) //Люди с разных веков
$regexp .= '('.$reg_f[0].'|'.$reg_l[0].')';
else $regexp .= '('.$reg_f[0].')'; //Люди одного века
$des = array();
if (isset($delta[1]))//Разные десятилетия
{
for ($i=min($reg_l[1],$reg_f[1]);$i<=max($reg_l[1],$reg_f[1]);$i++)
$des[] = $i;
// $regexp.= '('.implode('|',$des).')';
}
else $regexp.='('.$reg_l[1].')'; //Одинаковые десятилетия
if (isset($delta[2])) //Разные года
{
if (empty($des)) //Если нам феерически везет и десителетия совпали
$regexp .= '['.$reg_f[2].'-'.$reg_l[2].']';
else //Здравствуй, невезуха
{
$des[0] .= '['.$reg_f[2].'-9]';
$des[1] .= '[0-'.$reg_l[2].']';
$regexp .= '('.implode('|',$des).')';
}
}
$regexp .= '/';
четверг, 23 мая 2013 г.
Индусятина....
<?
function sub_method($method, $param, $client) #Извращения в коде - могу, умею, практикую!
{
$meth = str_replace('.','/',$method);
$code = file_get_contents('method/'.$meth.'.php');
$code = str_replace("<?", "", $code);
$code = str_replace("?>", "", $code);
$t = microtime();
$t = 'fu'.$t.'f';
$t = str_replace(" ","_",$t);
$t = str_replace(".","_",$t);
$code = str_replace("RunMethod", $t, $code);
eval($code);
$res = $t($param, $client);
return $res;
}
?>
Индусский код на пхп...
пятница, 17 мая 2013 г.
Рутаем MEDIOX MID7042, COBY KYROS MID7042
1)Скачиваем http://bit.ly/KugoAT http://bit.ly/L4d2mD http://bit.ly/MTZyQ2
2) распаковываем первый архив
3) Открываем эмулятор терминала и начинаем пляски святого Витта:
adb push data /data/local/tmp/ adb shell chmod 0777 /data/local/tmp/mempodroid chmod 0777 /data/local/tmp/install-recovery.sh /data/local/tmp/mempodroid 0xd7cc 0xad27 sh /data/local/tmp/root.sh
su
/data/local/tmp/install-recovery.sh
/system/bin/reboot-recoveryadb push 7042_boot.zip /sdcard
4) заходим в рекавери режим (включаем планшет с зажатой кнопкой назад и повышения громкости)
5)Выбираем установку с карточки, устанавливаем 7042_boot, перезагружаемся
6)Повторяем пункты 4-5 для третьего файла...
ПРОФИТ!
2) распаковываем первый архив
3) Открываем эмулятор терминала и начинаем пляски святого Витта:
adb push data /data/local/tmp/ adb shell chmod 0777 /data/local/tmp/mempodroid chmod 0777 /data/local/tmp/install-recovery.sh /data/local/tmp/mempodroid 0xd7cc 0xad27 sh /data/local/tmp/root.sh
su
/data/local/tmp/install-recovery.sh
/system/bin/reboot-recoveryadb push 7042_boot.zip /sdcard
4) заходим в рекавери режим (включаем планшет с зажатой кнопкой назад и повышения громкости)
5)Выбираем установку с карточки, устанавливаем 7042_boot, перезагружаемся
6)Повторяем пункты 4-5 для третьего файла...
ПРОФИТ!
вторник, 14 мая 2013 г.
Устройство Wi-Fi для упоротых...
(20:09:17) Любимая: О, давно хотела тебя спросить, что такое вайфай и как он работает?
(20:09:27) Любимая: Хд
(20:09:36) Йа!: грубо говоря - интернет по радио
(20:11:37) Йа!: очень грубо говоря
(20:12:07) Любимая: А каким образом в квартире то?
(20:15:50) Йа!: к коробке специальной змея подключают сетевой, какой ты в свой шайтан-машина пихаешь сейчас, это коробка начинает вайфайемо раздавать... волны радио плывут себе пока твоя шайтаномо-машина не ловит их, она и поймает, съест и в ответ такими же рыгнет, коробка отрыжку поймает, в лаборатарию на опыты сдает и узнает что еще надо послать.
(20:16:02) Йа!: Шайтаномо, однако
(20:09:27) Любимая: Хд
(20:09:36) Йа!: грубо говоря - интернет по радио
(20:11:37) Йа!: очень грубо говоря
(20:12:07) Любимая: А каким образом в квартире то?
(20:15:50) Йа!: к коробке специальной змея подключают сетевой, какой ты в свой шайтан-машина пихаешь сейчас, это коробка начинает вайфайемо раздавать... волны радио плывут себе пока твоя шайтаномо-машина не ловит их, она и поймает, съест и в ответ такими же рыгнет, коробка отрыжку поймает, в лаборатарию на опыты сдает и узнает что еще надо послать.
(20:16:02) Йа!: Шайтаномо, однако
понедельник, 1 апреля 2013 г.
Vim: Шпоргалка
Небольшая шпоргалка по Vim, будет расширяться по стольку, по скольку, просто для себя
:q - выход
:q! - выход без сохранения
:w - сохранить
:w! - сохранить игнорируя режим "только чтение"
:wq - сохранить и выйти :%s/TEXT1/TEXT2/g - замена
:/TEXT1 - поиск
:// - следующее найденное
:dd - вырезать строку
:ndd - вырезать n строк
:p - вставить после текущей
:u - отмена
:q - выход
:q! - выход без сохранения
:w - сохранить
:w! - сохранить игнорируя режим "только чтение"
:wq - сохранить и выйти :%s/TEXT1/TEXT2/g - замена
:/TEXT1 - поиск
:// - следующее найденное
:dd - вырезать строку
:ndd - вырезать n строк
:p - вставить после текущей
:u - отмена
Подписаться на:
Сообщения (Atom)