Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Герои Войны - микс стратегии и РПГ. Собери лучшую армию и победи всех врагов. В игре 7 различных режимов - как для любителей PvE, так и PvP.

Герои Войны

Стратегии, Мидкорные, Экшены

Играть

Топ прошлой недели

  • Rahlkan Rahlkan 1 пост
  • Tannhauser9 Tannhauser9 4 поста
  • alex.carrier alex.carrier 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
IZuckerman
IZuckerman
8 лет назад

Как я хакнул истории или как оставлять пустые комментарии⁠⁠

Думаю все знают об ивенте ВКонтакте с Лисом, объяснять не буду.

Вот вечерком, я запостил вот такую историю:

Как я хакнул истории или как оставлять пустые комментарии Длиннопост, Лиса, Стикеры, ВКонтакте, Не баг а фича, Реверс-инжиниринг, Истории из жизни

И многие мои знакомые были в недоумении. "Как ты это сделал?" - обычный вопрос в моей личке .

Что нам нужно для данного фокуса:

1. Андроид девайс.

2. Наличие рут-прав.

3. Прямые руки.

4. И утилита SQLite Editor.

При наличие всех "ингредиентов", приступаем к готовке)

1. Убедитесь что приложение ВКонтакте не открыто.

2. Отключитесь от всемирной сети.

Как я хакнул истории или как оставлять пустые комментарии Длиннопост, Лиса, Стикеры, ВКонтакте, Не баг а фича, Реверс-инжиниринг, Истории из жизни

3. Откройте SQLite Editor

Как я хакнул истории или как оставлять пустые комментарии Длиннопост, Лиса, Стикеры, ВКонтакте, Не баг а фича, Реверс-инжиниринг, Истории из жизни

5. Перейдите во вкладку Files

6. Откройте данный путь

Как я хакнул истории или как оставлять пустые комментарии Длиннопост, Лиса, Стикеры, ВКонтакте, Не баг а фича, Реверс-инжиниринг, Истории из жизни

7. Найдите базу данных "vk-orm"

8. Выберите sticker_stock_items_v2 (именно v2)

9. Выберите такую таблицу (где автор Антон Андреев) :

Как я хакнул истории или как оставлять пустые комментарии Длиннопост, Лиса, Стикеры, ВКонтакте, Не баг а фича, Реверс-инжиниринг, Истории из жизни

10. Нажмите Edit Record

11. Появится такое окно (активити):

Как я хакнул истории или как оставлять пустые комментарии Длиннопост, Лиса, Стикеры, ВКонтакте, Не баг а фича, Реверс-инжиниринг, Истории из жизни

12.Найдите поле disallowed_sticker_ids и удалите всё.

13. Замените поле sticker_ids

На это:

"4507,4510,4512,4515,4516,4518,4519,4521,4525,4529,4533,4534,4535,4539,4541,4542,4545,4508,4509,4511,4513,4514,4517,4520,4522,4523,4524,4526,4527,4528,4530,4531,4532,4536,4537,4538,4540,4543,4544,4546"

(Без кавычек)

14. Нажимаем Save.

15. Заходим в приложение "ВКонтакте", ждём пока оно прогрузится и только после этого включаем интернет.

16. Всё мы можем делать истории с стикерами которых ни у кого нет.



Стикеры нельзя отправлять другу,сервер проверяет по своей базе есть ли он у вас.


Если отправить в комментарии , то получим забавную картину - абсолютно пустое сообщение.

Как я хакнул истории или как оставлять пустые комментарии Длиннопост, Лиса, Стикеры, ВКонтакте, Не баг а фича, Реверс-инжиниринг, Истории из жизни

При следующем запуске приложения с включённым интернетом - эффект пропадёт. Чтобы не мучатся каждый раз, перед новым запуском выключаем интернет.


Удивляйте друзей)

Как я хакнул истории или как оставлять пустые комментарии Длиннопост, Лиса, Стикеры, ВКонтакте, Не баг а фича, Реверс-инжиниринг, Истории из жизни
Показать полностью 8
Длиннопост Лиса Стикеры ВКонтакте Не баг а фича Реверс-инжиниринг Истории из жизни
7
4
Schtz
8 лет назад

Обратная инженерия⁠⁠

На написание этого поста меня сподвигли предостерегающие комментарии одного из здешних обитателей в духе "за тобой следят".

Обратная разработка (далее РИ) (обратный инжиниринг, реверс-инжиниринг; англ. reverse engineering) — исследование некоторого устройства или программы, а также документации на них с целью понять принцип его работы и, чаще всего, воспроизвести устройство, программу или иной объект с аналогичными функциями, но без копирования как такового.

Принцип РИ состоит в том, что имея некий "черный ящик" с определенным набором логики или принципов можно составить представление о его устройстве на основе анализа данных на выходе в зависимости от того, что подается на вход. Есть еще вариант разобрать ящик и заглянуть внутрь (как делалось в случае копирования импортных микросхем), но в программировании и работе с удаленными сервисами это не всегда возможно.

Кто же занимается РИ?

Да все. Все и каждый в своей области.

Например, физика как наука. Она строит теории мироустройства, свойств материи и тд. Но! Основывается все же на многочисленных подвержденных опытах по учету следствий определенных воздействий, событий. Многократно отпуская камень и наблюдая его падение, многократно нагревая воду и наблюдая ее кипение, делаются выводы о законах мироздания. Наука пытается "отреверсить" Вселенную. На основе подтвержденных опытов строятся догадки или гипотезы о принципах (законах) природы. Выведенные уравнения не являются абсолютно точными, они совпадают с реальных положением дел лишь до определенного знака и в определенных условиях. У нас все же есть формулы для житейских расчетов, где точность даже до второго знака уже избыточна, но в прецизионных расчетах дело обстоит несколько иначе.

Литературные критики анализируют труды и биографию автора и выносят свои предположения и суждения о том, что сподвигло его на написание тех или иных строк, раскрывая детали собственно личности писателя.

Дети. Короли РИ. Они не обладают каким-либо знанием или теориями, но отлично усваивают причинно-следственные связи, учитывая даже невербальные сигналы родителей и окружения. Они быстро вырабатывают методики достижения своих желаний (хотя пока и примитивных), причем они во много схожи с методами взлома: брутфорс через непрекращающийся крик, эксплуатация уязвимостей через использование слабостей родителей (типа онжеребенок, яжмать и тп.), сбор информации через наблюдение и тп.

Каждый мастер в искусстве берет чью-то работу и оценивает то, как она была сделана, каким путем, а также получают сведения о квалификации автора. Роскошный пример явлен в фильме "Парфюмер", где парень воссоздал рецепт духов по его запаху.

Геймеры. Это вообще непаханное поле. Ни один из действующих игровых движков не реализует принципы и законы природы достаточно точно, поэтому приходится во время игры выяснятьособенности каждого из движков и делать выводы о дальнейших действиях не на основе жизненного опыта, а на основе знания об устройстве движке и условиях срабатывания определенных событий, триггеров и тп. Обширное поле для такой деятельности мозга предоставили и предоставляют РПГ и ММОРПГ со своими системами прокачки навыков и развития персонажа. Кто-то даже публикует формулы расчета, например, урона, которые использует сама игра. Знание движка дает серьезное преимущество для победы. Часто развиваются до читеров.


Еще один плюс РИ заключается в том, что иногда в очень сложных системах позволяет найти "негласные зависимости", недокументированные возможности и неучтенные уязвимости, рожденные на местах склеивания компонентов системы. Причем эти возможности могли остаться неизвестными даже разработчикам системы, но предоставляют обходные пути для знающих.

Законодательная часть.


"Гражданский кодекс Российской Федерации (часть четвертая)" от 18.12.2006 N 230-ФЗ


Статья 1280. Право пользователя программы для ЭВМ и базы данных

3. Лицо, правомерно владеющее экземпляром программы для ЭВМ, вправе без согласия правообладателя и без выплаты дополнительного вознаграждения воспроизвести и преобразовать объектный код в исходный текст (декомпилировать программу для ЭВМ) или поручить иным лицам осуществить эти действия, если они необходимы для достижения способности к взаимодействию независимо разработанной этим лицом программы для ЭВМ с другими программами, которые могут взаимодействовать с декомпилируемой программой, при соблюдении следующих условий:


1) информация, необходимая для достижения способности к взаимодействию, ранее не была доступна этому лицу из других источников;


2) указанные действия осуществляются в отношении только тех частей декомпилируемой программы для ЭВМ, которые необходимы для достижения способности к взаимодействию;


3) информация, полученная в результате декомпилирования, может использоваться лишь для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, не может передаваться иным лицам, за исключением случаев, когда это необходимо для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, а также не может использоваться для разработки программы для ЭВМ, по своему виду существенно схожей с декомпилируемой программой для ЭВМ, или для осуществления другого действия, нарушающего исключительное право на программу для ЭВМ.

Без крайней необходимости нам не позволяют "разбирать" чужие творения. Результатом декомпиляции/реверс-инжиниринга будет псевдокод или алгоритм, из которого родится уже новый исходный код. Если записи об обратной разработке недоступны, то доказать неоригинальность кода становится непосильной задачей (особенно если код перенесен на другую платформу). Opensource в этом случае вообще предлагает открытые исходники для всех желающих заглянуть "под капот" приложения.


На правах итога.

РИ как способ познания через опыт - очень распространенное явление, часто даже не отслеживаемое сознанием (хорошо, что его еще не запатентовали). В сферах, где подобная практика затрагивает чьи-то шкурные интересы, закон регулирует подобную деятельность во избежание плагиата, и (на мой взгляд) не очень-то справляется. Изучение "черных ящиков" - довольно увлекательное занятие, своеобразное испытание, challenge. Конечно, закон нарушать не стоит, но я придерживаюсь мысли, что лучше просто не наступать змее на хвост, потому как сделать кого-то виноватым или найти крайнего для госслужб весьма несложно.

Показать полностью
[моё] Реверс-инжиниринг Закон Длиннопост Текст
2
6
Schtz
8 лет назад

Деанонимизация в чате⁠⁠

продолжение первого поста:

Вообще я был удивлен теплым приемом пикабу. Ради огромного фанклуба подписчиков опубликую следующий этап.

Разборка кода


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

var _0x737b = ["\x74\x20\x63\x3D\x5B\x22\x5C\x31\x66\x5C\x4F\x5C  .... (очень длинно) .... \x68\x6A\x2D\x72\x74\x2D\x76\x78\x79\x42\x2D\x5A\x5D\x7C\x5B\x31\x2D\x36\x5D\x5C\x77\x29", "\x5C\x62", "\x67"];


с кодом распаковки


eval(function(_0x996ax1, _0x996ax2, _0x996ax3, _0x996ax4, _0x996ax5, _0x996ax6) {

_0x996ax5 = function(_0x996ax3) {

return (_0x996ax3 < 62 ? _0x737b[4] : _0x996ax5(parseInt(_0x996ax3 / 62))) + ((_0x996ax3 = _0x996ax3 % 62) > 35 ? String[_0x737b[5]](_0x996ax3 + 29) : _0x996ax3.toString(36))

...

}


Под этим скрывался следующий слой обертки примерно такого вида:

2 u[c[46]] = 4 V;

1 s = {

ws: 4 W,

init: v() {

x(2 u[c[48]][c[47]] == c[49]) {

3 K = c[50]

};


за ним оказался (наконец-то) читабельный код:

window[onbeforeunload] = onBeforeClosePage;

Socket = {

ws: null,

init: function() {

if (window[location][protocol] == http: ) {

protocol = ws

};


Дальнейший анализ был проще.

Архитектура примерно такова:

Socket создает вебсокет и занимается приемом/передачей сообщений (служебных и текстовых). Входящие пихает в HandlerMessage. Хэндлер отсылает события в GUI. Интерфейс в ответ на действия пользователя обращается к ChatEngine (обертка для отсылки сообщений через Socket).

Отправляемые cообщения бывают нескольких типов:

Авторизация  'AUTH'

Искать собеседника  'SEARCH_COMPANY'; 

Прервать поиск    'OUT_SEARCH_COMPANY';

Сообщение (текст)  'CHAT_MESSAGE';

Уведомление  о прочтении  'CHAT_MESSAGE_READ';

По ид диалога получает сообщения 'GET_MESSAGES_BY_DIALOGS';
Используется при переподключении после обрыва связи

Отключиться  'LEAVE_DIALOG';

Получение количества юзеров онлайн 'COUNT_ONLINE_USERS';

Собеседник печатает!!  'TYPING_A_MESSAGE';


Сам сервер генерирует такие сообщения :

Удачный логин success_auth
Открыт диалог open_dialog
а также "юзер ушел", "диалог закрыт" и "ошибки"

Авторизация

Авторизация  все же происходит. Каждый юзер получает свой токен, который отсылается при новом подключении.
Токен приходит в теле html-страницы чата и записывается в глобальную переменную. Поэтому при попытке открыть более двух окон в одном браузере и искать собеседника сразу в нескольких весьма проблематично, ибо сервер "палит" по токену. Можно обойти через Tampermonkey, кстати.


На сегодня пока все. Информации много, в одном посте все не вместить.

Забегая наперед, скажу, что уже получил записи бесед.

За день набегает:
порядка 10 000 диалогов.
Из них примерно 70 имеют от 200 до 1000 сообщений (с охренительными историями).
порядка 60-70 vk/insta/ok/skype id и телефонов, видел даже одного любителя пикабу.

Сейчас стоит проблема анализа записей. Просто читать всю эту ересь не представляется реальным.

Показать полностью
Nektome Реверс-инжиниринг Программирование Длиннопост Текст
11
38
techn0man1ac
techn0man1ac
8 лет назад

Как устроен патефон, детально⁠⁠

Авторское описание:

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

За видео благодарим товарища Дмитрий Коржевский:
https://www.youtube.com/channel/UCqNzEb1xi6c_l4ZUmozLt9Q

Показать полностью
Дмитрий Коржевский Патефон Устройство Как это сделано Реверс-инжиниринг Видео
4
8
Mirolog
8 лет назад

Гугль знает, что нужно⁠⁠

Гугль знает, что нужно
[моё] Google Реверс-инжиниринг Луркморье
0
3
Gurammm
10 лет назад

ТЫЖПРОГРАМИСТ приди⁠⁠

Пикубшцы есть тут разработчики и ли ТЫЖПРОГРАМИСТЫ приложений на андроид. Нужна ваша помощь. Сам рукожоп и у меня ничего не получилось( ПРОШУ помощи в изменении некоторых параметров APK декомпиляции и т.д. или объяснить как все это сделать.

хоть советом

Не топите в минусах оч надо. 2 дня сижу ничего не получается (((

комменты для минусов имеются.
[моё] APK Android Помощь Декомпилирование Реверс-инжиниринг Тыжпрограммист Текст
16
21
DELETED
10 лет назад

Реверс-инженеринг⁠⁠

40-летнему юбилею корпорации Microsoft посвящается (не мое)
Реверс-инженеринг 40-летнему юбилею корпорации Microsoft посвящается   (не мое)
Windows Reactos Microsoft Реверс-инжиниринг
2
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии