На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Перед отправкой сообщения внимательно прочтите правила раздела!!!
1. Запрещается обсуждать написание вирусов, троянов и других вредоносных программ!
2. Помните, что у нас есть FAQ раздела Assembler и Полезные ссылки. Посмотрите, возможно, там уже имеется решение вашего вопроса.

3. Настоятельно рекомендуем обратить особое внимание на правила форума, которые нарушаются чаще всего:
  3.1. Заголовок темы должен кратко отражать её суть. Темы с заголовками типа "Срочно помогите!" или "Ассемблер" будут отправляться в Корзину для мусора.
  3.2. Исходники программ обязательно выделяйте тегами [code]...[/code] (одиночные инструкции можно не выделять).
  3.3. Нежелательно поднимать старые темы (не обновлявшиеся более года) без веской на то причины.

Не забывайте также про главные Правила форума!

Добро пожаловать и приятного вам общения!!! ;)
 
Модераторы: Jin X, Qraizer
  
> Crinkler - не работает слинкованный код :((
    Кто-нибудь знает такого зверя, как crinkler?
    Пишу элементарный код (hello world), линкую crinkler'ом, запускаю – тишина. Смотрю диспетчер задач – висит, грузит 1 ядро по полной.
    Что я делаю не так?

    Прикрепляю примеры (на fasm, nasm, masm, uasm с bat-никами для компиляции через link и crinkler, результаты в папке out).
    p.s. Пробовал на 2-х компах с Win10 x64, а также в VMware с Win7 x86, WinXP. Не работает ни один из примеров (кроме слинкованных обычным link'ом, разумеется).

    Прикреплённый файлПрикреплённый файлcrinkler_test.zip (1,75 Мбайт, скачиваний: 91)

    Добавлено
    x64dbg вызывает исключение ещё до entry point, а Оля при запуске анимации бесконечно крутиться в разных циклах (распаковывает? хеширует?)

    Вообще, странная штука. Если я меняю в entry point (определяемом hiew) первую инструкцию на int3, ud2 или cli, прога либо слетает (в Win10, причём втихую), либо просто молча висит в процессах (Win7). Только XP ругается (сбрасывает прогу с сообщением об исключении). При зависании (Win7) проц уже не грузится и объём занятой памяти вместо 100 Мб всего 100 Кб.

    Добавлено
    Установка опций /hashtries:1 /hashsize:1 (или /hashtries:0), отключение антивиря и запуск от админа не помогают...
    Вернее, так: при установке опции /hashsize:1 (/hashtries на это не влияет) примерно через 10 происходит следующее (тут я только вожу мышкой, ничего не нажимаю).
    https://cloud.mail.ru/public/Jd4Q/xtE76eyak
      При запуске на XP (VMware) с ключом /hashsize:1 через несколько секунд получаем исключение, см. скрины.
      Прикреплённый файлПрикреплённый файлcrinkler_crash_screen1.png (15,17 Кбайт, скачиваний: 547)
      Прикреплённый файлПрикреплённый файлcrinkler_crash_screen2.png (13,48 Кбайт, скачиваний: 547)

      Добавлено
      Понятно... 10-ка почему-то при встрече с ud2 вообще не выдаёт исключений. И в Process Explorer'е происходит то же самое, что и на видео...
      Короче, тупо слетает прога через 10 секунд при задании ключа /hashsize:1 и всё...

      Добавлено
      И 7-ка (установленная на VMware) тоже молчит при встрече с ud2 (не уничтожаю процесс). Так что, с entry point и PE-форматом всё ок, прога нормально загружается, нормально запускается...
        Поведение здорово смахивает на ситуацию с исчерпанием стека.

        Добавлено
        P.S. Если с этим сталкивается ядро, когда только создаёт процесс, пробует прогрузить DLLки и только лишь подготавливается к передаче управления в entry point, то вполне объяснимо и отсутствие диагностики, и игнор трапов на старте, до которых дело просто не доходит.

        Добавлено
        P.P.S. Попробуй DEP отключить.
          Да не... я ж говорю, что в entry point управление передаётся, см. выше. Иначе не слетала бы прога при замене в EP первых байт на int3/ud2. А в x64dbg недоработка просто какая-то...
          DEP отключил для процесса – не помогло. Но я и не рассчитывал.

          Попробуй запустить вот эти интры. У тебя какие запускаются? И какой камень? У меня ни одна не пашет. На 7-ке VMware "humppatunneli" показывает полосу загрузки, затем только мигающий кубик, "sugarcube" – чёрный экран, затем слетает, а "sound my windows" глючит (см. скрин). На XP VMware не пашет ничего (вылетает с сообщением об исключении).
          На ноуте (там тоже 10 x64) работает "humppatunneli" (но при выходе выдаёт исключение), "sugarcube" показывает только начальную картинку, "sound my windows" жутко тормозит (ну это может из-за слабой видеокарты - интегрированной). "Shoot The Code" не пашет (хотя автор пишет, что на Intel может не работать). Хотя и там, и там Core i5. DEP включен везде, включая 7-ку и XP в VMware.
          А вот мои "test"ы не пашут ни там, ни тут, на в VMware...

          Вот я запустил свой test через Olly (с /hashsize:1), он остановился на попытке записи (stosb) по адресу 0053C000, при этом ESP=01C3FF84 (далековато). Короче, он пишет, пишет, а потом ба-бац и "усё, рехламент".
          Собственно, мне не очень интересно копаться в этих дербрях.
          Тут вопрос в том, что слинкованная прога должна работать (ну хотя бы где-то: на ноуте или VMware), а она не пашет. Почему? Что нужно сделать (какие ключи задать или что-то ещё), чтобы заработала?

          А 10-ка (в т.ч. на ноуте) и 7-ка (VMware) не выдают сообщений и на таком коде тоже:
          ExpandedWrap disabled
            format PE GUI 4.0
             
            include 'win32axp.inc'
             
            .code
             
            start:
                ud2
                invoke  ExitProcess, 0
             
            .end start

          Прикреплённый файлПрикреплённый файлintros.zip (18,45 Кбайт, скачиваний: 95)
          Прикреплённый файлПрикреплённый файлthe_sound_my_windows.png (312,89 Кбайт, скачиваний: 506)

          Добавлено
          Читаю сейчас про опции, короче...
            Цитата Jin X @
            Кто-нибудь знает такого зверя, как crinkler?
            Пишу элементарный код (hello world), линкую crinkler'ом, запускаю – тишина. Смотрю диспетчер задач – висит, грузит 1 ядро по полной.
            Что я делаю не так?

            Посмотри на дикую разницу в размерах исполняемых модулей.
            Как будто не слинковалось с библиотеками.
            Можно посоветовать протрассировать программу
            Olly - дибаггером по-шагово.
            Тогда, возможно, станет понятно, что произошло.
              Цитата ЫукпШ @
              Посмотри на дикую разницу в размерах исполняемых модулей.
              Разницу между чем и чем? test_link и test_crinkler? Так это ж не просто линкер, это ещё и упаковщик, причём жётский, для демосценеров...

              Цитата ЫукпШ @
              Olly - дибаггером по-шагово.
              Тогда, возможно, станет понятно, что произошло.
              Так, я ж писал об этом:
              Цитата Jin X @
              Вот я запустил свой test через Olly (с /hashsize:1), он остановился на попытке записи (stosb) по адресу 0053C000, при этом ESP=01C3FF84 (далековато). Короче, он пишет, пишет, а потом ба-бац и "усё, рехламент".
                Короче. Идей нет, кроме одной. У всех этих образов нахрен испохаблен заголовок модуля. В них нет вообще ничего, ни одной секции, даже кодовой. Любые циферки, как-либо количественно характеризующие образ, хранят абсолютно неадекватные значения, более-менее приличные только качественные значения, типа версии подсистемы для запуска или типа бинарного кода. Точка входа выставлена в 5Ch, т.е. в зарезервированную под null pointer область, что скорее всего немедленно вызывает трап. И была бы мессага по этому поводу, но, видать, этот трап каким-то образом перехватывается кадром SEH, уже настроенным на упакованный образ заранее подготовленным в нём обработчиком, поэтому он получает управление и начинает творить свои тёмные дела по распаковке. Всё, что я смог увидеть в нормальном отладчике – зацикливание в цикле loop, размером с три/четыре десятка байт, со значением что-то типа 0FFFEXXXXh в ECX. Думаю, без кернел-отладчика тут не обойтись. В своё время SoftIce-ом я творил чудеса, но с XP за него не брался, да и испохабился он.
                  Цитата Qraizer @
                  У всех этих образов нахрен испохаблен заголовок модуля.
                  Да, тем не менее, они запускаются (у многих, кроме меня... или кроме мною слинкованной проги, она у тебя же тоже не пашет?)
                    У меня не пашет, но у меня на работе интегрёвое видео, а дома я не пробовал.
                      Цитата Qraizer @
                      У меня не пашет
                      Не пашут ни мои тесты, ни интры?
                        Ну, интры, вроде, проходят дальше твоих примеров, но я не уверен. Надо дома попробовать, на нВидии.
                          Вот в ветке разработчика вопрос вчера задал...
                          http://www.pouet.net/prod.php?post=816387
                            Блин, забыл совсем.
                            Дома, на нВидии, все интры работают.
                              Ответ найден! Проблема была в lib'ах от MASM32.
                              Надо просто заменить путь на "C:\Program Files (x86)\Windows Kits\10\Lib\10.0.15063.0\um\x86" (или т.п.)
                              И всё заработало! Ппц...
                              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                              0 пользователей:


                              Рейтинг@Mail.ru
                              [ Script execution time: 0,0398 ]   [ 21 queries used ]   [ Generated: 28.03.24, 23:19 GMT ]