За последние 24 часа нас посетили 19502 программиста и 1640 роботов. Сейчас ищут 889 программистов ...

дизассемблирование программы расчёта лазеров

Тема в разделе "Прочее", создана пользователем goshale, 28 дек 2010.

  1. goshale

    goshale Guest

    Мой отец занимается лазерной физикой.У него такая прога по лазерам.Запускается в консоли,потом рисует некоторые графиги,а также поддерживает интерфейс коммандной строки.Я к тому моменту учил ассемблер по разным.Короче у проги был один недостаток-она была на 200 запусков.Это всё хорошо и здорово,но не особо хочется платить бабки за полную версию(она триальная).Поставил эту программу,в дизассемблере (ollydebug),поставил точки останова на Writeconsole в общем нифига особо не дало,так как прога использовала для вывода на экран не такие низкоуовневые функции ,а встроенные компилятором.С каждым запуском число возможный использований программы всё уменьшалось.Разбираться с функциями вывода на экран компиляторами мне как то было стрёмно,поэтому забил на это дело и запустил regmon и мониторил реестр на попытки обращения к нему.Ничего тоже не дало,программа тоько читала при запуске оттуда,но никаких поправок туда не вносила.С реестром также был облом,пооэтому я судорожно пошел курить и здоровью вредить.Пришел обратно и сел за комп.На этот раз включил мониторинг файлов и стал наблюдать за тем,как прога пишет в файл.И нашел!Папка Temp в Windows была просто изнасилована!Туда какая то здоровенная папка была скопирована с довольно кривыми файлами и все они постоянно открывались и туда производилась записьПолный пинцет,короче.Это я не знаю,если повредить нечаянно случайно не тот файл,то тогда прога может вылетить ко всем чертям!!А файлов в этот папке было самое что н на есть много.Поэтому я нафиг удалил всю папку зща кривое название и хранение в директоии временных файлов винды чтобы не мозолила глазаО чудо,количество запусков сохранилось,а также прога при запуске писала в один единственный файл.Сделал его копию,пару запусков и заменил новый файл старым.Произошло чудо,которого я ждал,потому этот файл содержал метаданные(их там дофига),где и хранились эти самые запуски.Hiew тут особо не помог,так как найти разницу в 2х здоровенный файлах метаданных для меня было затруднительно,поэтому я быстро накалякал прогу на дельфи,которая указала смещение,где эти файлы отличаются.Круто,там 4 айта всего отличались.Замена этих байтов в новой файле привела к ому,что запуски триальной версии сохранились.Когда записал в эти 4 байта произвольное число(это не было количесто запусков а какая то херь толи зашифрованная толи еще чего)-запусков опять стало 200.
    Поэтому на дельфи быстро накалякал прогу которая из реестра получала директорию этой программы,писала в этот файл моё магическое число,и выводила сообщение-Все круто,чуваки,ассемблер знать необязательно,достаточно наблюдательности за тем как прога работает.Соответсвенно папик был доволен
     
  2. Костян

    Костян Активный пользователь

    С нами с:
    12 ноя 2009
    Сообщения:
    1.724
    Симпатии:
    1
    Адрес:
    адуктО
    многа букаф
     
  3. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    помня умение автора простые вещи описать албанским языком - даже не решусь прочесть.
     
  4. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    goshale
    хвастаешься? ;)
     
  5. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    дизасемблирование программы лузеров расчета лазеров
    Перепроверять изменения контрольной суммой они не догадались
     
  6. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    Эта папка создана чтобы быть изнасилованной, она же для временных файлов.

    ну хакер, чо...
    а вот когда у тебя будет шифрованная секция кода ты много будешь курить :)
     
  7. goshale

    goshale Guest

    Если делать руками-нужно подключать отладочную информацию которую генерирует Ida Pro по сигнатуре функций и объектов компилятора.Когда искал как в софтайс передать эту инфу-дело до того дошло что стал создавать отдельную отладочную секцию в исполняемом файле,так как симбол лоадер раблтал не совсем адекватно.Забил на это дело короче.

    antonn,шифрованная секция и вообще зашифрованный файл убирается при помощи дампа запущенной программы.Другое дело нужно восстановить таблицу импорта oep ,ну и по мелочи.Короче программа действительно лузерская ,да мой отец вроде особо и не парится.Говорит что нормально ,главное не надо платить бабки звезднополосатым и спонсировать войну в Ираке.

    На голос ассемблере делал еще при помощи артмани и софтайс в half life 2 такую фишку что при вычитании из жизни монстра/не только какого либо числа от этого числа отнималось 255.Короче взял автомат и все дохли с первого выстрела(включая меня).Подравил чтобы я не дох,прикольно получилось,но при закрузке нового отдела уровня все адреса жизни персонажа нафиг стирались и пришлось заново писать процедуру.В фаллауте втором нельзя множить при помощи артмани уникальные объекты.А нифига,запускаем софт айс и инвентарь представляет собой массив.Нужно выйти на адрес ячейчи с предметом в инвентаре и подправить кое какие единицы.С большой долей вероятности это и есть уникальный объект.

    В фолауте было сначала количество,а потом какое то 4х байтное число,которое говорило что это за предмет.Знаете книгу фаллаут 2,которая даёт 300 ко всем навыкам и 20000 опыта каждый раз при чтении.Запомнил это число,перезапустил игру,вместо порошков целебных записал эту хрень...Игра вылетела естественно...НЕ все коту масленица.А вот сапер элементарно поддается на запись отрицательного числа в секунды прохождения.Или 0,но ноль точно
     
  8. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    для этого не нужен ассемблер, есть ReadProcessMemory()
     
  9. goshale

    goshale Guest

    antonn,как в софтайс подключить отладочную инфу из ида про?
     
  10. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    goshale
    Нету у тебя сестры таланта. И нету понимания юзабилити, копирайтинга.
    Что ж ты за пррограммист LOL
     
  11. goshale

    goshale Guest

    Kreker,зато есть наглость и предод-гений,который за меня все думает.Я только говорю ему куда можно присунуть его хороший математический аппарат.Наглость -2е счастье

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

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    goshale
    Ты вернулся. Ты вернулся за нашими мозгами долбаный зомби.

    Мой тебе совет. Пиши без пробелов, знаков препинания и в верхнем регистре.
     
  13. goshale

    goshale Guest

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

    Реально никто не знает как в софтайсе настроить инфу из Ида про,а то как то стремно смотреть call 11111111, там хоть функции подписаны
     
  14. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    :DD