George
аа, вспомнил про выравнивание это просто забивка чтоб "четко" было т.е. фиксированная длина
ну хз, на счёт "просто", трюки с выравниванием в своё время вешали не один антивирь )
Ruslan
выравнивание это (пример) если у тебя данные помещаются в 10 кб то секция у тебя будет 16кб например 17кб - 32кб так?
Max
не факт, что по степеням двойки выравнивать будешь, а вообще да
Ruslan
да не факт
Ruslan
как разраб решит
Ruslan
непойму зчем мне hiew обычный хекс, только в консоли
Ruslan
непойму зчем мне hiew обычный хекс, только в консоли
Не, всётаки интересный хекс пару удобных фич подметил
Ruslan
особенно поиск понравится пишешь текст а потом внизу можно нулей вставить будто это utf16
Ruslan
и рефы ищет для быстрого анализа хорош и оверлей покажет
George
непойму зчем мне hiew обычный хекс, только в консоли
затем, что пиздец как быстро можно перемещаться по файлу без необходимости ждать завершения анализа
George
ну и прямое редактирование
Ruslan
что мне дает директория сертификатов? почему вы ее упомянули?
George
потому что сертификаты тоже в оверлее находятся
George
и они не мапятся в память
George
поэтому у тебя может быть два типа оверлея
George
поэтому у тебя может быть два типа оверлея
1. Оверлей, на который есть указатель в директории данных (сертификаты) 2. Оверлей, на который нет явных указателей (архив, упакованные данные, контрольные суммы кастомной защиты etc)
Ruslan
1. Оверлей, на который есть указатель в директории данных (сертификаты) 2. Оверлей, на который нет явных указателей (архив, упакованные данные, контрольные суммы кастомной защиты etc)
понял ну допустим я получил все эти значения (они по сути получаются автоматически) как посоветуете найти место где указано смещение на данные внутри оверлея? я чего и спрашивал за тулзу, которая бы перебрала все возможные значения - складывая и вычитая все известные относительно интересующего смещения к примеру у меня почти под конец оверлея написано Privet, оно находится на 1000м байте к примеру и я хочу узнать где может быть адрес на начало этого "Привета"
George
т.е. никто не указывает смещение оверлея в коде, его ищут программно
s54820
т.е. никто не указывает смещение оверлея в коде, его ищут программно
Но, в общем-то, никто не мешает сделать unsigned long offset = 0xbaadf00d, а потом после линковки найти эту сигнатурку и впатчить вместо неё размер .exe. И потом уже клеить оверлеи как угодно.
Ruslan
т.е. никто не указывает смещение оверлея в коде, его ищут программно
тоесть так делают только в локальных файлах? ну хранят структуры смещения на структуры, длины структур итд
George
тоесть так делают только в локальных файлах? ну хранят структуры смещения на структуры, длины структур итд
указатели на данные хранят только в случае с данными, загружаемыми в память
Ruslan
указатели на данные хранят только в случае с данными, загружаемыми в память
раз ida не загрузил обычной загрузкой то и при запуске не грузится сразу?
George
ида вообще не показатель
George
проверяй в отладчике
Ruslan
хорошо, предположим что всё целиком грузится в память то тогда получается что НИГДЕ становится ГДЕТО?) потомучто > указатели на данные хранят только в случае с данными, загружаемыми в память
George
хорошо, предположим что всё целиком грузится в память то тогда получается что НИГДЕ становится ГДЕТО?) потомучто > указатели на данные хранят только в случае с данными, загружаемыми в память
ещё раз по терминологии: - оверлей не грузится в память системой и не предоставлен по умолчанию процессу - если данные загружены системой в память, то это не оверлей
Ruslan
ещё раз по терминологии: - оверлей не грузится в память системой и не предоставлен по умолчанию процессу - если данные загружены системой в память, то это не оверлей
получается любой оверлей не грузится (ну мб сертификат разве что, хз) а какие данные имеющие указатели грузятся в память? что это за данные такие?
George
получается любой оверлей не грузится (ну мб сертификат разве что, хз) а какие данные имеющие указатели грузятся в память? что это за данные такие?
НИКАКОЙ оверлей не грузится для доступа в памяти процесса если грузится — это по определению не оврелей
Ruslan
т.е. никто не указывает смещение оверлея в коде, его ищут программно
еще раз уточню на всякий слуйчай - мне не смещение на начало оверлея надо (это я уже понял, можно высчитать темже методом что тулзы анализа PE файла) а смещение на данные внутри оверлея
George
ну тогда это локальные относительные смещения
George
от начала оверлея
George
типа описания структуры
Ruslan
от начала оверлея
(значения относительных смещений) которые могут быть в загружаемой части? (в коде) или это тоже антипаттерн?
George
относительные смещения могут применяться где угодно
Ruslan
хорошо, спасибо буду разбираться
George
/report /spam
Alex
привет. у меня есть ПО на С++ собранное gcc Linux. он общается по сети с Серверос лицензирования. на псевдокоде типа такого: if (is_licence_correct()) start_program(); else exit(); то есть если сервер лицензирования не дал добро - программу не запускаем, чтоб не дать клиентам бесплатно пользоваться ПО. насколько просто это все дело дизассемблировать и исправить условный переход на безусловный? профессиональный реверс инженер это сделает условно за 10 минут, 1 день, 1 неделю, 1 месяц, 1 год? стоит ли беспокоиться о подобном? спасибо
George
1 минута
Eugene
а если прогнать код через обфсцукатор, сколько времени займет взлом примерно?
Не знаю. Смотря что за обфускатор. Это как спросить "если зашифровать код". Смотря как зашифровать :) Будет посложнее. Лично я с таким кодом не работал, не могу сказать. Но это тоже ломается при желании.
Eugene
Спаммеры детектед.
George
Спаммеры детектед.
А какой ник у админа, чтобы его сразу затегать?
­
админ?
Нет. Бог.
George
Нет. Бог.
Тоже вариант )
George
Спам
­
Спам
Игорь.
Où va le monde
Как вам книга криса касперски : искуство дизасемблирования?
Alex
я не читал, он она 2008 года. там 32 разряда и старый АБИ
Alex
ПО наверняка нового вышло немало
Anonymous
кто может подсказать есть какието готовые приложения которые сделаны чтобы из среверсили?
Anonymous
спасибо
George
Crackmes https://crackmes.one/
George
CrackMe - Tuts 4 You https://forum.tuts4you.com/files/category/40-crackme/
Vadim Yegorov
Специально сделаны чтоб их даже не реверсили
Vadim Yegorov
А давно pro.asm превратился в чат начинающих реверсеров?
Anonymous
Здравствуйте, в поисках специалиста по машинному обучению. Нужно написать нейросеть.
Vadim Yegorov
Не обязательно дорого если найти джуниора выпускника мфти
Nikita
Можно ли в 64-битном ассемблере использовать команды SSE, SSE2 и др.?
Eugene
Можно.
Eugene
Причём, SSE и SSE2 в х64 поддерживаются всегда.
disba1ancer
Причём, SSE и SSE2 в х64 поддерживаются всегда.
это как? сразу по входу в лонгмод?
Nikita
Спасибо! Для меня это очень важно. Накоплено много кода подобного рода для наших 32-битных программ на С++. Сейчас хотим переделать их на 64.
Eugene
это как? сразу по входу в лонгмод?
Имеется в виду, что если процессор поддерживает лонг, то и ссе1/2 тоже.
rσσт@ανα∂αмιασ
А где контроль тупости?
Vadim Yegorov
#book Reverse Engineering для начинающих - Денис Юричев (beginners.re)
Кто-нибудь скиньте LITE версию пожалуйста, я ее случайно удалил