внедрение своего кода в программу

Discussion in 'Реверсинг' started by vl@dimir, 1 Feb 2011.

  1. vl@dimir

    vl@dimir New Member

    Joined:
    6 Jun 2010
    Messages:
    19
    Likes Received:
    0
    Reputations:
    0
    добрый вечер ! небольшая просьба помочь ну или объяснить как : спосибо зарание ! дапустим есть прога которая работает с числами (ведет учет и умножает дробные) нужно туда вставить свой код (функцию) который выпольняет конкретные действия . какими средствами можна его туда запихнуть ?
     
  2. spider-intruder

    spider-intruder Elder - Старейшина

    Joined:
    9 Dec 2005
    Messages:
    700
    Likes Received:
    339
    Reputations:
    37
    На чем написанна программа?!
    Нет ли смысла переписать ее с нуля?!
    Надо править существующий функционал или добавлять новый?
    Если существующий возможно просто сделать сплайсинг существующей функции. Короче детали в студию.
     
  3. vl@dimir

    vl@dimir New Member

    Joined:
    6 Jun 2010
    Messages:
    19
    Likes Received:
    0
    Reputations:
    0
    на чем написана скореее всего на C и што мне ее надо дизасемблером править ? это трудно для меня ... так как я не профи в архитектуре "pe" файла а переписывать нет смысла ведь не я автор проги, просто вы мне опишете какие есть варианты а я сам разберусь .
     
  4. neprovad

    neprovad Elder - Старейшина

    Joined:
    19 Oct 2007
    Messages:
    899
    Likes Received:
    274
    Reputations:
    59
    - если кода мало можно вручную дописать создав дополнительную секцию в файле
    (мало это значит тупо умножить, разделить, простейшие операции)
    - если все серьезно то надо понять алгоритм работы, какие переменные как используются используются (стек, регистры и т.п.) и сделать свою dll на любом подходящем языке и внедрить её (поправим таблицу импорта или внедрив через модификацию кода
    Code:
    push "name.dll"; call LoadLibrary...
    Такую тему нахрапом не возьмешь, действовать надо вдумчиво
     
  5. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    исходя из постов ТС не знает ни РЕ формат, ни азов ассемблера.
    Объяснить что-либо не получится. Но раз человек просит варианты:
    1) Инжект своего кода в новую секцию или так называемые "кэйвы", затем вызов при обработке пользовательского ввода и соответственно вывод на экран
    2) использовать систему предложенную neprovad и написать длл, затем статически прописать ее в импорт жертвы и делать в нужном месте вызов(ну или динамически, особой разницы нет)
    3) Написать вообще отдельную программу, которая при помощи банального ReadProcessMemory будет получать данные из программы жертвы и выполнять с ними необходимые операции

    а вообще, ТС, учи структуру РЕ и хотя бы базовый курс ассемблера. Без этих двух вещей у тебя ничего не получится
     
    #5 s0l_ir0n, 3 Feb 2011
    Last edited: 3 Feb 2011
  6. j-prof

    j-prof Banned

    Joined:
    29 Aug 2010
    Messages:
    321
    Likes Received:
    11
    Reputations:
    -4
    кинь тру статью по PE для новичков
     
  7. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/pecoff_v8.docx
     
  8. j-prof

    j-prof Banned

    Joined:
    29 Aug 2010
    Messages:
    321
    Likes Received:
    11
    Reputations:
    -4
    на русском нет?

    лан сам тогда найду понаял где копать
     
  9. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    Если коротко то:
    hack-expo.void.ru/groups/reversing/articles/infoforbeginner/pefmt120.htm

    (если проблема с кодировкой - глядите кеш гугла)
     
  10. 0rs

    0rs Member

    Joined:
    30 Dec 2008
    Messages:
    70
    Likes Received:
    23
    Reputations:
    3
    По второму способу кое-что тут написано https://forum.antichat.ru/thread108034-qip.html
     
  11. vl@dimir

    vl@dimir New Member

    Joined:
    6 Jun 2010
    Messages:
    19
    Likes Received:
    0
    Reputations:
    0
    Ребят проблеммы с инетом несмог вовремя ответить вам, благодарю всех !
    s0l_ir0n мне понравились твои варианты и особенно ,,Учи структуру РЕ и хотя бы базовый курс ассемблера. Без этих двух вещей у тебя ничего не получится ,,
    Верно накодить dll или ещё что нибуть можно, а вот внедрить в pe-файл что либо, дела совсем не из простых ;)
    для меня проще будет создание dll предложенную ,,neprovad,, таблицу импорта или внедрив через модификацию кода, и здесь грабли мне нужно видеть весь код
    как мне его преобразовать в удобочитаемый вид ? переменные, функции и т.п.
     
  12. neprovad

    neprovad Elder - Старейшина

    Joined:
    19 Oct 2007
    Messages:
    899
    Likes Received:
    274
    Reputations:
    59
    Вся интрига в том что отвечающие понимают что вы самостоятельно не сделаете задуманного в приемлемые сроки. К чему это я? Вместо рассуждений о "делах совсем не из простых" начните читать литературу по теме.
    "весь код
    как мне его преобразовать в удобочитаемый вид"
    Тут немного поможет hex-rays в составе ida pro. Но в руках дилетанта ни один инструмент пользы особой не принесет, одним словом - RTFM
     
    2 people like this.