Кобанчегъ Опубликовано 2 февраля, 2013 Жалоба Поделиться Опубликовано 2 февраля, 2013 Товарищи, быть может, среди вас есть упоротые программеры, способные помочь в одном деле? У нас имеется запущенная в памяти программа, которую я в режиме реального времени посматриваю в шестнадцатеричной системе. Есть ли способ определить тип переменной, хранящей значение, без отладочных или каких-то иных процедур? Нужно именно визуально уметь отличать, скажем, long (4 байта) от short (2 байта) и char (1 байт). Отдельно интересует возможность отличать целочисленные типы от типов с плавающей точкой (float и double). Заранее огромное спасибо. Ссылка на комментарий Поделиться на другие сайты Поделиться
HiveTyrant Опубликовано 2 февраля, 2013 Жалоба Поделиться Опубликовано 2 февраля, 2013 Запусти под внешним отладчиком, будь мужиком! [ Добавлено спустя 46 секунд ] Никак нельзя отличить, только если скилл "пальцем в небо" прокачан по максимуму, если что. [ Добавлено спустя 1 минуту 15 секунд ] Хотя можно немного шаманить, изменяя какие-то параметры (зная, что изменяются только эти параметры), вычислить смещение их в памяти, а потом уже определить сколько байт отводится им [ Добавлено спустя 2 минуты 33 секунды ] БТВ, целочисленные от всяких флотов легко отличить - если изменить целые в 2-4 раза, то там просто сдвиг будет, а даблы в мясо пересчитываются, ибо не точно мантисса определяется и все такое. [ Добавлено спустя 1 минуту 26 секунд ] Короче забей или проведи ночь с Олькой! [ Добавлено спустя 12 минуты 20 секунд ] А вообще, артмани для подобных целей очень даже вещь, в детстве баловался этим, например. Главное найти в каком месте переменная, отслеживая, как она меняется в динамике, а потом уже и тип вполне определяется. БТВ, готов спорить, что у всех тип int, например. Указатели, все дела, самый популярный, на равне со всякими даблами. Ссылка на комментарий Поделиться на другие сайты Поделиться
Кобанчегъ Опубликовано 2 февраля, 2013 Автор Жалоба Поделиться Опубликовано 2 февраля, 2013 Запусти под внешним отладчиком, будь мужиком! Отладчик тут не поможет вот по какой причине. Лет десять уже занимаюсь такой фигней как взлом игр через память. И речь не о банальном цикле поиск-отсев, речь именно об исследовании структуры данных, поиска упорядоченных последовательностей и прочей лабуды, интересной лишь мне одному (долбанутый я на всю башку). Взять и случайно сообразить, что данная последовательность похожа на какую-то шмотку в игре, определить ее параметры и возможные принимаемые значения, наделить ее различными свойствами и все такое — навроде хардкорного моддинга. Даже на приведенном скриншоте присутствуют почти все указанные типы данных, и пока сообразишь, что вот тут идут подряд три char'а, а рядом уже long, а сразу за ними подряд два short'а, может пройти много времени. Вот я и подумал через 10 лет, быть может, не стоит изобретать велосипед :) [ Добавлено спустя 2 минуты 14 секунды ] Артмани — экскремент чилийский. DetectiveStory — труЪ. Ссылка на комментарий Поделиться на другие сайты Поделиться
HiveTyrant Опубликовано 2 февраля, 2013 Жалоба Поделиться Опубликовано 2 февраля, 2013 Ололо прямо. Скажи конкретно что надо, тогда можно уже думать. А просто по снапшотам памяти угадывать содержимое ле фу, например. [ Добавлено спустя 1 минуту 56 секунд ] Артмани — экскремент чилийский. DetectiveStory — труЪ. В сортах дерьма не силен. Только внешний отладчик, только хардкор. В ольке, бтв, можно и переменные замораживать, и более сложные непотребства выделывать, если что. Главное научиться работать с ней. Ссылка на комментарий Поделиться на другие сайты Поделиться
HiveTyrant Опубликовано 2 февраля, 2013 Жалоба Поделиться Опубликовано 2 февраля, 2013 БТВ, готов спорить, что там не лонг, а инт, например. Есть 64битная версия (ну или 16 битная, лол), можно легко проверить тогда ;) Ссылка на комментарий Поделиться на другие сайты Поделиться
Insane Опубликовано 2 февраля, 2013 Жалоба Поделиться Опубликовано 2 февраля, 2013 (изменено) Отладчик тут не поможет вот по какой причине. Лет десять уже занимаюсь такой фигней как взлом игр через память. И речь не о банальном цикле поиск-отсев, речь именно об исследовании структуры данных, поиска упорядоченных последовательностей и прочей лабуды, интересной лишь мне одному (долбанутый я на всю башку). Взять и случайно сообразить, что данная последовательность похожа на какую-то шмотку в игре, определить ее параметры и возможные принимаемые значения, наделить ее различными свойствами и все такое — навроде хардкорного моддинга. Я очень далекий человек от низкоуровневого программирования и ты уж извини за мой сарказм, но "ОТЭТА ТЫ ДИКИЙ". Мне кажется эта затея мягко говоря странной тк разрабы могут пропустить код через обфускатор после чего он станет лютой лапшой(ну или разрабы настолько криворукие что не нужен обфускатор =) ). Плюс все еще сильно зависит на каком языке оно написано, реализации языка, да и все компиляторы вносят оптимизации в код за кулисами. Вобщем как мне кажется поиск таких последовательностей это как ткнуть пальцем в небо и перевод времени. Но с другой стороны люди же как то ломают игрулины и софт. Одним словом я в реверс инжиниринге софта ничего не смыслю но если бы я хотел, я бы начал с поиска подходящих инструментов (какого нибудь отладчика) и тематического сообщества. Изменено 2 февраля, 2013 пользователем Insane Ссылка на комментарий Поделиться на другие сайты Поделиться
Кобанчегъ Опубликовано 2 февраля, 2013 Автор Жалоба Поделиться Опубликовано 2 февраля, 2013 (изменено) В сортах дерьма не силен. Только внешний отладчик, только хардкор. В ольке, бтв, можно и переменные замораживать, и более сложные непотребства выделывать, если что. Главное научиться работать с ней. Тащемта, для моих задач софтайс не нужен. Только если перед задротами понтоваться. К тому же DS умеет замораживать память. Я рисую в пэинте гуся, а мне предлагают его чертить в автокаде. При этом гусь лучше не станет. Оно мне надо? =) А просто по снапшотам памяти угадывать содержимое ле фу, например. Звиняйте, ваше блаародие, сирый я да убогий. Досуг себе нахожу как умею. ты уж извини за мой сарказм, но "ОТЭТА ТЫ ДИКИЙ". Ну я же никому не навязываю свои увлечения. Кто-то скрапбукингом занимается, кто-то керлингом, кто-то виноградный день я ягой фигачит под спидами, кто-то солдатиков и танчики клеит. Исследование дампа памяти игрушки — весьма сложное занятие. Разве возможно кому-то, кто никогда этим не занимался, объяснить интересность сложного процесса? Как передать эйфорию от сборки своего первого блокинг-генератора или стабилизатора напряжения, и вообще от посиделок с паяльником, перечитывая журнал «Радио»? Как передать удовлетворение от вдумчивого прочтения очередной книги Алексея Исаева? Я просто ищу точку приложения мозга. Мне нравится думать часто и помногу. Про обфускацию — полная хрень. И так от багов избавиться не могут, а тут еще их искусственно добавлять. Никто так не делает Максимум могут при сворачивании игры шифровать значения, но тут помогает заморозка. Изменено 2 февраля, 2013 пользователем Kabanus Ссылка на комментарий Поделиться на другие сайты Поделиться
Insane Опубликовано 2 февраля, 2013 Жалоба Поделиться Опубликовано 2 февраля, 2013 (изменено) Ну я же никому не навязываю свои увлечения. Кто-то скрапбукингом занимается, кто-то керлингом, кто-то виноградный день я ягой фигачит под спидами, кто-то солдатиков и танчики клеит. не, ключевая идея моего поста была не убедить тебя бросить эту затею , а Одним словом я в реверс инжиниринге софта ничего не смыслю но если бы я хотел, я бы начал с поиска подходящих инструментов (какого нибудь отладчика) и тематического сообщества. ;). Гугл в помощь. Даже на лурке была по моему статья про это с ссылками на сообщества. Изменено 2 февраля, 2013 пользователем Insane Ссылка на комментарий Поделиться на другие сайты Поделиться
Grodo Опубликовано 2 февраля, 2013 Жалоба Поделиться Опубликовано 2 февраля, 2013 (изменено) трах-тибидох-симсим откройся-мэйджек мисайл!!!! должно помочь))) Изменено 2 февраля, 2013 пользователем Grodo Ссылка на комментарий Поделиться на другие сайты Поделиться
HiveTyrant Опубликовано 3 февраля, 2013 Жалоба Поделиться Опубликовано 3 февраля, 2013 Тащемта, для моих задач софтайс не нужен. Только если перед задротами понтоваться. К тому же DS умеет замораживать память. Я рисую в пэинте гуся, а мне предлагают его чертить в автокаде. При этом гусь лучше не станет. Оно мне надо? =) Звиняйте, ваше блаародие, сирый я да убогий. Досуг себе нахожу как умею. Ты не понял сути. Прочитай для начала ПЕ модель файлов. Помойка с данными (а скорее помойко смещений на память в куче) находится всегда в одном месте. ДС умеет препарировать ПЕ? Оля же тебе даже чай в постель принесет. А айс здесь и не нужен, в ринг-1 ничего не обращается, Ольки вполне хватит. Главное чтобы программировал не экзибит с "давай засунем в указатель еще один указатель". Ну и попытайся из вспомогательных файлов препарировать индексы/пути картинок и искать их. Кром того большинство классов должны иметь сходный размер. Плюс выучи строение всяких листов и массивов стл, сомневаюсь, что разрабы гамулек от них отказывабтся. И ищи в памяти их. А дебагер нужен по одной простой причине - загрузка половины игровых данных идет после запуска игрульки - ты знаешь 80% смещений, где расположены именно данные, а уж какие это данные тоже можно догадаться. [ Добавлено спустя 59 секунд ] Ну и дизасемблер был бы неплох. А лучше с декампилятором си. Ну ты понимаешь, о какой программе я сейчас говорю. :) Ссылка на комментарий Поделиться на другие сайты Поделиться
HiveTyrant Опубликовано 3 февраля, 2013 Жалоба Поделиться Опубликовано 3 февраля, 2013 И вообще, не факт что тебе надо экзешник препарировать сам, мможно глянуть, какие функции он импортирует из длл. а там скорее всего эта инициализация и запрятана, по названию все видно же. Главное не ленись думать. А просто созерцание дампа памяти - не путь воина. Только дебагер и дизасамблер, только хардкор. [ Добавлено спустя 8 минут 17 секунд ] Я рисую в пэинте гуся, а мне предлагают его чертить в автокаде. При этом гусь лучше не станет. Оно мне надо? =) Тут как и с бековыми ростерами. Если тебе нраится "рисовать гуся в пейнте", то зачем ты пришел задавать вопрос? Все равно лучше тебя самого гуся в пейнте никто рисовать не умеет, ибо, это как поклеить обои в закрытой комнате через замочную скважину. Тебе предлагают нормально заниматьсчя реверс инжденерингом, а не гадать по снапшотам памяти. Ссылка на комментарий Поделиться на другие сайты Поделиться
Baribal Опубликовано 3 февраля, 2013 Жалоба Поделиться Опубликовано 3 февраля, 2013 Я рисую в пэинте гуся, а мне предлагают его чертить в автокаде. При этом гусь лучше не станет. Оно мне надо? =) Не скаажии... Я спесмаринов в акаде рисовал. А вообще, зачем гусь? Утку рисуй! Или Утка Кабану не товарищ?) Ссылка на комментарий Поделиться на другие сайты Поделиться
Кобанчегъ Опубликовано 3 февраля, 2013 Автор Жалоба Поделиться Опубликовано 3 февраля, 2013 Если тебе нраится "рисовать гуся в пейнте", то зачем ты пришел задавать вопрос? Ну типа хотел разобраться в обной мелочи, но раз уже пошла такая пьянка: Тебе предлагают нормально заниматься реверс инженерингом, а не гадать по снапшотам памяти. решительно требую список литературы/ресурсов для первых шагов в направлении! Мой текущий уровень подготовки — быдлокодер в отставке (занимался когда-то). Не скаажии... Я спесмаринов в акаде рисовал. А вообще, зачем гусь? Утку рисуй! Или Утка Кабану не товарищ?) Утка Кабану — очень даже товарищ, он неоценимо помог в свое время с освоением хитрого таусятского кодекса, за что ему стоит мраморный бюстик в моем храме памяти. Но рисовать Утку — моветон. Утка сам себя рисовал. Раз в неделю. Пользуясь случаем, хочу поинтересоваться у Утыча о судьбе коллекции его самопальных аватаров. Ссылка на комментарий Поделиться на другие сайты Поделиться
hip Опубликовано 3 февраля, 2013 Жалоба Поделиться Опубликовано 3 февраля, 2013 гусь кстати ОК Ссылка на комментарий Поделиться на другие сайты Поделиться
МЕД_ВЕД Опубликовано 3 февраля, 2013 Жалоба Поделиться Опубликовано 3 февраля, 2013 вот я нифига не понимаю, но мне отчего-то нравится читать эту тему, что со мной не так? Ссылка на комментарий Поделиться на другие сайты Поделиться
HiveTyrant Опубликовано 3 февраля, 2013 Жалоба Поделиться Опубликовано 3 февраля, 2013 (изменено) решительно требую список литературы/ресурсов для первых шагов в направлении! Мой текущий уровень подготовки — быдлокодер в отставке (занимался когда-то). Настольная библия реверс инженеров всея руси Сайт находится на реконструкции, что печально. Но в понедельник можно увидеть, что из этого выйдет. Апостол реверс инженеринга "Посмотреть на няшу" Крис Касперски, например. Читать статьи тут или в гугле Ну и по виросопейсательским сайтом можно походить. Занятные вещи писал икона Z0MBiE. Его труды тоже можно найти. Изменено 3 февраля, 2013 пользователем HiveTyrant Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти