Реверсинг. Задай вопрос - получи ответ

Discussion in 'Реверсинг' started by 0x0c0de, 2 Sep 2007.

  1. Balvan

    Balvan Member

    Joined:
    11 Mar 2009
    Messages:
    66
    Likes Received:
    5
    Reputations:
    0
    Raw Size - это размер данной секции в файле на диске, а Virtual Size это размер в памяти.
     
  2. ntldr

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

    Joined:
    4 Dec 2007
    Messages:
    367
    Likes Received:
    140
    Reputations:
    23
    Как можно расширить секцию, где может выполняться код?
    Пробовал - добавлять новую секцию, и ставил на ней флаг выполнения и чтения, но олька всеравно говорит что типа вне секции кода, хрен вам. Что я не так делаю?
     
  3. Balvan

    Balvan Member

    Joined:
    11 Mar 2009
    Messages:
    66
    Likes Received:
    5
    Reputations:
    0
    Когда изменяешь raw и virtual size не забывай исправить Image Size(на длинну дополнительного кода)
     
    #483 Balvan, 11 Jul 2009
    Last edited: 11 Jul 2009
  4. h3rmit

    h3rmit New Member

    Joined:
    9 Jun 2009
    Messages:
    13
    Likes Received:
    2
    Reputations:
    0
    2ntldr

    да выполняться код может везде, где проставлены соответствующие аттрибуты. Olly просто обращает внимание на тот факт, что точка входа проги находится не в пределах BaseOfCode <= EP <= BaseOfCode + SizeOfCode. Но это ниначто впринципе не влияет ))).

    Расширить - это смотря какую секцию по счёту. Если последнюю - то элементарно - исправляешь VirtualSize (выравнивать не нужно), SizeOfRawData (выровнить на filealignment), SizeOfImage (выровнять на sectionalignment) ну и точку входа по желанию. Ну и всё вроде. Если не последняя, то нужно сдвигать и остальные секции, править релоки, таблицу директорий и тд.

    Ну да и следи чтобы 1) VirtualSize => SizeOfRawData 2) PointerToRawData + SizeOfRawData не вылетало за границу файла.

    Ну и в общем, если файл запускается, те нет банального - это приложение не является блаблабла, то всё ты делаешь правильно. А вообще иди на wasm.ru в раздел вирусология, ну и статьи по PE формату почитай.
     
    #484 h3rmit, 11 Jul 2009
    Last edited: 11 Jul 2009
  5. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    2ядровенды, надо еще обратить внимание на number of rva & sizes. т.к. ты канпилишь в сях, можешь взять сорцы йадокриптера 1.3 портированные с асма на ц и посмотреть, как там добавляется секция, выставляются все нужные атрибуты и подсчитываются необходимые значения
     
    1 person likes this.
  6. h3rmit

    h3rmit New Member

    Joined:
    9 Jun 2009
    Messages:
    13
    Likes Received:
    2
    Reputations:
    0
    2s0l_ir0n
    а зачем? Если для того чтобы перейти к таблице секций есть же более лучший вариант через IMAGE_FILE_HEADER.SizeOfOptionalHeader. А в остальном для добавления-расширения секции это значение не нужно 0___o
     
  7. Balvan

    Balvan Member

    Joined:
    11 Mar 2009
    Messages:
    66
    Likes Received:
    5
    Reputations:
    0
    Расскажите пожалуйста как найти функцию проверки\чтения файла в программе на VB?))
    там как то всё не по человечьи =\ к тому же не видно какие окна имеются в приложении.
    Какие особенности трепанации софта на Visual Basic???
     
  8. ntldr

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

    Joined:
    4 Dec 2007
    Messages:
    367
    Likes Received:
    140
    Reputations:
    23
    ок, это получилось, а вообще - как можно в ольге определить аттрибуты безопасности какого-либо байта, типа чтения, записи и выполнения?

    и еще
    вопрос про фрагментацию - один сенд на клиенте всегда равен одному рекву на сервере?
    Если НЕТ, то подскажите какой-нибудь несложный алгоритм шифрования по ключу, чтобы если пакет неожиданно разбился на 2 пакета, или 2 пакета слились в 1, все нормально расшифровалось - то есть шифровался по одному символу.
     
  9. -=Nicon=-

    -=Nicon=- Banned

    Joined:
    26 Sep 2008
    Messages:
    18
    Likes Received:
    3
    Reputations:
    0
    Вот почитай надеюсь тебе эта статья поможет разобраться с аттрибутами безопасности.

    _http://wasm.ru/article.php?article=1021004
     
  10. h3rmit

    h3rmit New Member

    Joined:
    9 Jun 2009
    Messages:
    13
    Likes Received:
    2
    Reputations:
    0
    2ntldr
    атрибуты безопасности не ставятся на отдельные байты, минимальное с чем работать можно - страница - 4Кб, посмотреть можно в окне Памяти (alt-m). но изменения там вроде не показываюцца (или я чего то туплю). А да страницы с одинаковыми аттриьутами там объединяются в единый регион -_-

    PS если туплю сорри, тк пьян ^________^
     
    #490 h3rmit, 14 Jul 2009
    Last edited: 14 Jul 2009
  11. neprovad

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

    Joined:
    19 Oct 2007
    Messages:
    899
    Likes Received:
    274
    Reputations:
    59
    VB Decompiler Pro или Lite поможет в работе
    http://cracklab.ru/download.php?action=get&n=NzE1
     
    1 person likes this.
  12. ntldr

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

    Joined:
    4 Dec 2007
    Messages:
    367
    Likes Received:
    140
    Reputations:
    23
    Возможно ли не внедряя код в процесс определить виртуальные адреса каких-либо модулей, может даже и функций?
     
  13. zeppe1in

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

    Joined:
    12 Jul 2006
    Messages:
    343
    Likes Received:
    66
    Reputations:
    18
    возможно. ProcessViewer это делает.
    подглядел), тебе нужно копать в сторону
    OpenProcess
    PSAPI.EnumProcessModules
    PSAPI.GetModuleBaseNameA
    а вобще посмотри процесвивер определяет адреса и размер загруженных модулей, а функцию например можно потом искать по сигнатуре.
    --
    GetProcAddressEx ещо есть)
     
    #493 zeppe1in, 16 Jul 2009
    Last edited: 16 Jul 2009
  14. DeepXhadow

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

    Joined:
    19 Apr 2008
    Messages:
    57
    Likes Received:
    11
    Reputations:
    5
    Не подскажите линк на статью о подмене ентри поинт'а...с примером.Гугль дает кучи ссылок, но просто одна теория..
     
  15. neprovad

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

    Joined:
    19 Oct 2007
    Messages:
    899
    Likes Received:
    274
    Reputations:
    59
    а что вы имеете ввиду под термином подмена?
    Просто изменить EP мало, надо же и минимально рабочий код добавить чтоб в итоге перешло на оригинальную точку входа. И еще, надо от теории переходить к практике. Советую ollydbg в силу легкости внесения изменений в код.
     
  16. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    Как вариант, можно почитать статьи про Inline Patching на tuts4you.com и cracklab.ru
     
  17. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    Как в ольке (ollydbg) посмотреть содержимое определенного регистра?

    SoftIce не предлогать (сам новичек... токо изучаю крякерство(асм знаю))
     
  18. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Так справа же

    [​IMG]
     
    _________________________
  19. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    Подробнее...

    У меня цифры после eax,ecx такие же как и у вас...(почти* вот прям точь в точь но...) Значит что-то не договорил мне кажится :rolleyes:
     
    #499 wolmer, 1 Aug 2009
    Last edited: 1 Aug 2009
    1 person likes this.
  20. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Подробнее по поводу? Ты либо вопрос неточно задал, либо я просто не понимаю что ты хочешь узнать.
     
    _________________________