? Update "PE" ?

Тема в разделе "WASM.BEGINNERS", создана пользователем TViT, 17 июн 2005.

  1. zzzyab

    zzzyab New Member

    Публикаций:
    0
    Регистрация:
    13 май 2004
    Сообщения:
    115
    Вот так я вычисляю расстояние до старой точки входа:

    РВА точки входа (старой) - РВА конца кода - 5 (размер инструкции jmp) потом этот jmp (0xe9 и 4 байта расстояния) добавляеться в конец. Можно попробовать комбинацию push VA-OEP ret, тоже должно работать.





    Данные сначала надо располагать



    Я в масме распалагаю данные где хочу. Может у нас масмы разные, у меня масм (ml.exe вер. 6.15) вообще стандартный масм свободно доступен в инете. Все остальное изврать,например должно быть "младшие байты спереди" в fasme соотв. старщие бaйты - это изврат.
     
  2. TViT

    TViT New Member

    Публикаций:
    0
    Регистрация:
    21 июн 2004
    Сообщения:
    25
    zzzyab



    1] Я не понимаю что ты вычисляешь у меня в примере все ведь работает и на старую выполнение переходит и с новой начинает выполняться прога. Зачем ети точки вычислять все там в примере вычисляется.

    2] Да Масм у мя старый вроде 5.12 или енто линкер точно уже непомню, потом скачал масм ml.exe-6.15, но там что-то линкер ваще старый и как я понял для DOS короче ваще неработает тока '.obj' делается.

    3] Если есть ссылочка скачать масм какой там лучше, то кинь я закачаю потому что у меня неполучилось по твоему секции определять.

    4] Если не в лом добавь в пример, тот что я кидал свои махинации, там всего то в секции данных где старая точка сохраняется надо добавить, потому что все остальное работает.Только у меня там просто переход-прыжок на старую точку, а ты добавь например пару инструкций какых нить! Я тада все пойму как ты предлогаешь!

    ;----------------------------

    Странно почему больше никто ничего не подсказывает? Мне б еще узнать как упаковщики работають чтоб тожа вставить упаковку простейшую и потом распаковку и запуск. Потому что Касперский орет что новый тип вирус Type_Win32 как же тогда упаковщик сделать если он будет так орать.
     
  3. zzzyab

    zzzyab New Member

    Публикаций:
    0
    Регистрация:
    13 май 2004
    Сообщения:
    115
    У тебя непрямой переход, а у меня прямой - вот и вся разница.



    ml.exe ( +ml.err) это и есть масм. Чтоб сoздать win32 exe нужно испльзовать 32-битный линкер, любой, но его нет в стандартном комплекте масма.



    (Я использую link.exe от DDK98.)



    Твой пример у меня не компилится облом возится с ним, переделай его так чтоб там не было invoke и прочих подобных наворотов.
     
  4. TViT

    TViT New Member

    Публикаций:
    0
    Регистрация:
    21 июн 2004
    Сообщения:
    25
    Вот все сделал!
     
  5. TViT

    TViT New Member

    Публикаций:
    0
    Регистрация:
    21 июн 2004
    Сообщения:
    25
    Блин чета пример при правке не меняется!



    вот две пкрвые забыл помеять теперь все!



    [​IMG] _1656956737__New!.Asm
     
  6. zzzyab

    zzzyab New Member

    Публикаций:
    0
    Регистрация:
    13 май 2004
    Сообщения:
    115
    Там ошибки

    вот исправленый участок:
    Код (Text):
    1.  
    2. ;---------|_Align_|---------------------------
    3. Algn:
    4.             mov edx,[esi+010h]
    5.             mov ecx,edx
    6.             add edx,AddInSecSize
    7.             mov eax,[edi+03Ch]
    8.             dec eax
    9.             add edx,eax
    10.             not eax
    11.             and edx,eax
    12.             mov [esi+010h],edx
    13.             mov [esi+08h],edx
    14.             mov eax,edi
    15.             add eax,50h
    16.             sub edx,ecx
    17.             add eax,[edi+03Ch]
    18.             add [eax],edx
    19. _WriteFile: xor esi,esi
    20.  






    Ты реалный вируc хочеш сделать ? Идея сделать компютерных тараканов к-рые жрут окна. Отрываеш папку windows к-рую давно не открывал а там куча тариков и все загажено - истерика.
     
  7. TViT

    TViT New Member

    Публикаций:
    0
    Регистрация:
    21 июн 2004
    Сообщения:
    25
    zzzyab



    Да может и ошибка, я там не проверял особо, как в примере было тока чуть своего вставил и все птом просто смотрел в отладчике как все происходит. Потом все равно все буду проверять!

    Я сначала хотел просто прынцип понять как вообще это делается,теперь понял примерно, тока ты еще по своему если сделаешь посмотрю как у тя, а теперь хочется мож упаковщик простейший. Тока касперский пока орет во всю что новый тип вирус Type_Win32. Может это излечится после упаковки! :))
     
  8. zzzyab

    zzzyab New Member

    Публикаций:
    0
    Регистрация:
    13 май 2004
    Сообщения:
    115
    Попробуй http://www.zlib.net/ - бесплатный, ИМО самый продвинутый, есть даже для асма
     
  9. TViT

    TViT New Member

    Публикаций:
    0
    Регистрация:
    21 июн 2004
    Сообщения:
    25
    zzzyab



    Ты пример то переделал по своему???

    Там всего то прыжок переделать!
     
  10. zzzyab

    zzzyab New Member

    Публикаций:
    0
    Регистрация:
    13 май 2004
    Сообщения:
    115
    переделка jmp:

    взять entry point RVA (cтарого);

    отнять от него RVA конца всего image (нового);

    отнять от полученого 5;

    ввести полученое значение (4 байта ) в код инструкции jmp (0xe9).
     
  11. TViT

    TViT New Member

    Публикаций:
    0
    Регистрация:
    21 июн 2004
    Сообщения:
    25
    zzzyab



    Ты просил пример изменить я изменил, а теперь ты мне тоже самое повторяешь что и раньше говорил! Это мне все и так понятно у меня не получается записывать енти 4 байта или вообще просто данные в секцию кода!!!

    Я тя и спрашивал мож прям пример переделать всегото вместо моего прыжка добавь просто так еще код на асме например:

    mov eax,ebx

    sub eax,eax

    ; и т.д.

    db 0E9h

    ;и тут уже прыжок и енти свои 4 байта для jmp (0E9h)!



    Яж сказал у мя неполучается на масме он ерет незя записывать в секцию кода, а кодовая секция нужна чтоб кодить поиск и использование через kernel32.dll АПИ функций! А потом уже прыжок! А в секции данных можно писать, но масм орет что незя располагать код, ругается на метки!!!
     
  12. zzzyab

    zzzyab New Member

    Публикаций:
    0
    Регистрация:
    13 май 2004
    Сообщения:
    115
    Все получаеться смотри выше. Ты масм заменил на новый ?