nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 18 Mar 2024 22:11



Reply to topic  [ 33 posts ]  Go to page Previous  1, 2, 3  Next
Machine Check Error 
Author Message
Doomed

Joined: 16 Dec 2014 11:58
Posts: 370
Location: Киев
Reply with quote
Lavr wrote:
А вот
Code:
0000D487: E83C02                       call      00000D6C6
0000D48A: F7D0                         not       ax
0000D48C: F7D2                         not       dx
0000D48E: B93700                       mov       cx,00037 ;
0000D491: 90                           nop
0000D492: 90                           nop
0000D493: A3A60C                       mov       [00CA6],ax

вызывает Machine Check Error!!!

Вызывается оно скорее всего где-то дальше, где софтина думает, что ее запустили на каком-то... 8088, т.е. на ХТ, и пихает в какой-нибудь древний PPI-порт (как пример) соотв. значение. А этот порт замаплен на управление кешем, например, или еще куда.

Но это только предположения.


10 Apr 2017 23:19
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
И второй вопрос - так получается, что новые ноуты и спикер не поддерживают?
Все программы, работающие с таймером и на спикер - молчат как рыба...

Джентльмены, просьба нижайшая - вот какая: у кого есть десктоп (ну или ноут) на котором заведомо
работает РС-спикер и установлена Windows 7 (32), попробуйте, пожалуйста, будет ли звук на спикер
от системного таймера.
Attachment:
TimerTST.zip [204.21 KiB]
Downloaded 250 times

В архиве - библиотека доступа к портам: INPOUT32.DLL, и сама программа TimerTST.exe.
Attachment:
TiTest.png
TiTest.png [ 7.53 KiB | Viewed 4541 times ]

Программа через библиотеку доступа к портам классическим образом работает с таймером, выдающим
звук на РС-спикер.
Написал я это где-то в районе актуальности этого топика, и статистика следующая: на компьютерах
с CORE DUA 2ГГц под Windows ХР она однозначно работает - звук есть.
А вот на обоих моих новых ноутбуках под Windows 7 (32) - звука нет, но циферки, отражающие
запись в порт и чтение вроде как моргают правильно...

Отсюда вытекали два вывода:
1. Библиотека INPOUT32.DLL не работает под Windows 7 (32), но я вчера прошарил интернет, и везде утверждают, что работает!
2. В современных ноутбуках выход таймера больше не подсоединяют ни к спикеру, ни ко входу звуковой карты.

Это вообще наиболее вероятно - читал я статью, что разработчики Венды в принципе категорически
против таймера - он последнее неинтеллектуальное устройство компьютера, плохо совместимое с современной
идеологией Windows.
Но совсем наплевать на таймер со спикером якобы запрещает какой-то закон США об инвалидах.
Инвалиды по зрению вроде как должны иметь возможность слышать пикание процедуры POST.

Рассказал всё - так как читал, но давайте проверим?

_________________
iLavr


10 Feb 2021 05:55
Profile
Writer

Joined: 17 Feb 2019 00:16
Posts: 14
Reply with quote
Windows 7 32 bit звук только при запуске от администратора.
Windows 10 64 bit звука нет ни в каком случае, хотя цифры меняются.


10 Feb 2021 09:31
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
parsec wrote:
Windows 7 32 bit звук только при запуске от администратора.
Windows 10 64 bit звука нет ни в каком случае, хотя цифры меняются.

Спасибо большое! Так и должно было быть:"при запуске от имени администратора".
Надо было написать, видимо... Ну и поскольку это я сам писал, и я же компилировал,
то у файла TimerTST.exe нет цифровой подписи - ну нет у меня её! :roll:

Под Windows 10 64 bit - я даже и не надеялся, там INPOUT32.DLL не должна работать...
Но еще раз - спасибо - за помощь и дополнительную статистику! :kruto:

Тут еще есть момент интересный: у меня есть точная копия этой программы, скомпилированная
под DOS. Я пробовал загружаться с флешки под FreeDOS с поддержкой NTFS и запускал эту
программу работы с таймером - была полная тишина... Но, возможно, программа-таки работала! :wink:

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

_________________
iLavr


10 Feb 2021 12:32
Profile
Writer

Joined: 17 Feb 2019 00:16
Posts: 14
Reply with quote
Lavr wrote:
Так и должно было быть:"при запуске от имени администратора".
Надо было написать, видимо... Ну и поскольку это я сам писал, и я же компилировал,
то у файла TimerTST.exe нет цифровой подписи - ну нет у меня её! :roll:

Там, может, и не в подписи дело. Я просто манифест добавляю. И в VS, и в gcc работает. Делал по примеру из SDK.
Собирал драйвер из DDK для таких целей, но под 64 бит без подписи пичалька, хотя работает. Самоподписанный драйвер и с включенной тестовой подписью проблем не вызывал.
Есть библиотека для 64 бит. Вот здесь https://www.highrez.co.uk/downloads/inpout32/ есть драйвер с подписью, в свойствах пишет что подпись действительна.


Attachments:
manifest.zip [544 Bytes]
Downloaded 248 times
11 Feb 2021 10:13
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
parsec wrote:
Lavr wrote:
у файла TimerTST.exe нет цифровой подписи - ну нет у меня её! :roll:
Там, может, и не в подписи дело.

С подписью - следующий у меня казус случился. Windows 7 у нас на работе нет, но есть Windows 10.
Вот под Windows 10 я эту программу TimerTST.exe и собирался проверить на работе - спикер в системнике
был, мы его живьём видели.

Но там, под Windows 10, у нас везде установлена такая программа - COMODO.
Так этот COMODO считает, что любая .exe-программа без подписи - априори вредоносная.
И удаляет он её сразу в какой-то свой отстойник - так и с моим TimerTST.exe случилось... :wink:

_________________
iLavr


11 Feb 2021 16:03
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
2. В современных ноутбуках выход таймера больше не подсоединяют ни к спикеру, ни ко входу звуковой карты.

Но, тем не менее, физически таймер со своими портами всё ещё есть!
Attachment:
Таймер.PNG
Таймер.PNG [ 36.35 KiB | Viewed 3728 times ]

Проверил на новом ноутбуке...

_________________
iLavr


17 Apr 2021 19:46
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
2. В современных ноутбуках выход таймера больше не подсоединяют ни к спикеру, ни ко входу звуковой карты.
В общем как-то пытаюсь я найти решение этой интересной проблемы, которая, выражаясь словами Фаины Раневской
звучит как:"Таймер есть, а звука нет..."
В старом ноутбуке у меня спикер присутствовал внутри явно, и во время работы DOS им можно было пикать
невозбранно. Хотя он как-то хитро подключался и к звуковой карте, поэтому под Вендой звук спикера шел
из встроенных динамиков ноута. В общем, всё было по уму и удобно...

Народ в интернете зачастую утверждает, что в современных ноутбуках спикера-пищалки как факта нет
но сигнал этот (от аналога 8254) подается на звуковую карту.
Я тоже давно читал где-то, что можно коммутировать этот сигнал микшером звуковухи, но в микшере
у меня этого сигнала тоже нет:
Attachment:
микс.PNG
микс.PNG [ 36.72 KiB | Viewed 3670 times ]

Собственно - а чего я пристал к этому спикеру? Да потому как на современном ноутбуке из портов,
к которым можно обратиться программно, остались, пожалуй, таймер и порт 61 - от которых можно
ожидать реакции, ну и можно почитать микросхему часов реального времени...
Больше портов нет - звуковая карта как порты недоступна, внешние порты - ЮСБ... :-?

И попалась мне вдруг вновь статья, которую я, видимо, когда-то давно читал:
Что там у нас с драйвером Beep в Windows 7? Автор: Ларри Остерман

В ней подробно развёрнут вот этот тезис:
Lavr wrote:
...совсем наплевать на таймер со спикером якобы запрещает какой-то закон США об инвалидах.
Quote:
...производители PC стали искать способы снизить их стоимость. Они посмотрели на 8254 и спросили: "Почему мы не можем его убрать?".
Получилось так, что они не могли это сделать. И ответ на то, почему они не могли это сделать, пришёл с совершенно неожиданной стороны. ADA - Americans with Disabilities Act - закон о (американских) инвалидах.

Но эта статья голову заморочила окончательно, тем, что звук таймера, который 07H, в старших Вендах, начиная
с ХР как бы отвязан от таймера железного "программной оболочкой", и звук, который 07H,
генерирует системный драйвер Beep.Sys.

А вот дальше - то ли перевод плохой, то ли суть мутная:
Quote:
В Windows 7 мы полностью разрешили ту проблему – мы переместили всю функциональность драйвера Beep.Sys в агент системных звуков пользовательского режима – теперь, когда вы вызываете Beep, то вместо манипулирования чипом 8254, вызов просто перенаправляется этому агенту, который и играет звук на звуковой карте.

Я посмотрел в системной папке своей Windows 7 - Beep.Sys у меня по-прежнему есть... :wink:
В общем, после прочтения статьи тумана стало еще больше:"Таймер есть, а звука так и нет..." :lol:

Собственно, в чем зогатка-то: существует FreeDOS, которую предпродажно ставят на новые ноутбуки,
чтобы отвязать от Венды и удешевить... так вот эта FreeDOS вряд ли знает про какой-то Beep.Sys но как-то
должна же она уметь работать со спикером или звуковой картой без портов?

_________________
iLavr


23 Apr 2021 20:24
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Решил я протестировать, делает ли что-то этот самый Beep.Sys или агент системных звуков...
Сделал я текстовый файл 1.TXT типа:
Code:
1234567
а потом коды "6" и "7" заменил на 07H, 07H.

Вызвал CMD и дал в нем команду type 1.txt:
Attachment:
beep.PNG
beep.PNG [ 33.6 KiB | Viewed 3668 times ]

и консоль Венды очень уныло сыграла: Beep...Beep... :-?

Но это точно не таймер... :(

Кто хочет попробовать, но не умеет вставить 07H, 07H, файл 1.TXT в аттаче.


Attachments:
1.txt [9 Bytes]
Downloaded 208 times

_________________
iLavr
23 Apr 2021 21:07
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
В новом ноуте при загрузке в DOS под НЕ UEFI BIOS запуск некоторых старых программ вызывает:
Machine Check Error - да-да... :lol: вот такой - как в режиме видео 13.

Нечистая сила толкнула меня под локоть проверить эту траблу на следующем своём ноутбуке Samsung... :-?
Эффект был сокрушительно тот же: Machine Check Error - и ребут. :(
Vic3Dexe wrote:
Machine Check Exception - это исключение проца (такое же как #GP или #PF). И возникает оно безотносительно выполнения кода, так что отладчиком это ловить бесполезно. Это какие-то ошибки железа (контроллера памяти или кэша например), не более. Подозреваю, что биос этого ноута просто забывает его отключить, рассчитывая на то, что будет загружена винда, которая с ними разберется (или тоже выключит).

Выключается путем снятия бита 6 в регистре CR4.
Если надо - напишу код, но он тривиален.
Проверьте, если не тот случай - будем искать дальше.

Подробнее об MCE см. Intel Software Developer Manual, раздел 15.

В прошлый раз я не проверил этот совет, потому как Machine Check Error всё же отличается от Machine Check Exception,
хотя может быть в теории это одно и то же.
Сама фраза "Machine Check Error" присутствует в самом обычном НЕ UEFI BIOS:
Attachment:
BiosErr.png
BiosErr.png [ 22.88 KiB | Viewed 297 times ]

Но в этот раз я всё же решил проверить совет:
Vic3Dexe wrote:
Выключается путем снятия бита 6 в регистре CR4.
Если надо - напишу код, но он тривиален.
Тривиальный код я написал вот такой:
Code:
   MOV     EAX,CR4  ; Прочитаем CR4
;  бит 6: бит МСЕ - разрешает исключение #МС
   NOP
   NOP

   AND     AX,0BFh  ; 10111111b - гасим бит 6

   MOV     CR4,EAX  ; Запишем CR4
   NOP
   NOP

   MOV     EAX,CR4  ; Прочитаем CR4 для проверки
   NOP
   NOP
NOP
NOP - это чтобы не проскочить в отладчике... :lol:

Бит 6 в регистре CR4, действительно, оказывался взведён (если что, АХ = 0640Н), и удачно сбрасывался.
Но вся эта манипуляция привела лишь к тому, что фразы Machine Check Error не стало,
а ноутбук ребутится совершенно молча... :ebiggrin:

На разных форумах, где что-то подобное обсуждается, пишут, что Machine Check Exception
возникает обычно после тройной ошибки.
Но как имитировать тройную ошибку я совершенно не представляю. :-?

Обычное деление на ноль отслеживается системой штатно: Division by Zero! Обратитесь к вендору...

На одном форуме вот такой фокус советовали:
Code:
   SUB     ESP,6                 ; выделить в стеке 6 байт для указателя на IDT
   MOV     WORD PTR [ESP],0      ; предел = 0
   MOV     DWORD PTR [ESP+2],0   ; физический адрес начала IDT = 0
   LIDT    FWORD PTR [ESP]       ; загрузить 32 бита базы и 16 битов предела в регистр
   MOV     AX,-1                 ; FFFF
   MOV     SS,AX                 ; that should kill him!
   JMP     $                     ; бесконечный цикл

Этот трюк приводит к молчаливому ребуту ноутбука безо всяких фраз... :roll:

В общем уже чисто интересно стало, за что в BIOS отвечает фраза: Machine Check Error :wink:

P.S. Последнее, что я всё же попробовал на данном поприще это - сменить версию DOS.
Все прописанные выше трюки исполнялись под DOS 8.0 от Windows ME.
Я сделал загрузочную флешку с Free DOS 1.3, эффект тот же: Machine Check Error...

_________________
iLavr


08 Mar 2024 12:26
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
Но как имитировать тройную ошибку я совершенно не представляю. :-?
...
В общем уже чисто интересно стало, за что в BIOS отвечает фраза: Machine Check Error :wink:

И загрузил я поисковики фразой:"How to cause Intel processor exception" :o
И на одном сайте интересный вариант-таки нашелся: :wink:
Quote:
The 0F05H opcode will cause exception 13 in protected mode if executed when CPL is not 0. If 0F05H is executed in real address mode, or in protected mode when CPL=O, the 80286 stops normal execution. RESET must be used to restart the CPU in this case. The 0F05H opcode may be executed at any time in real address mode.

Я быстренько 0F05H opcode скомпилировал, и под Windows 7 всё случилось по-честному:
Attachment:
Illegal.PNG
Illegal.PNG [ 61.35 KiB | Viewed 285 times ]
Кстати, отладчик видит 0F05H opcode как LOADALL.

А вот потом я перезагрузился в чистый DOS 8.0, запустил ту же самую программу, и ноутбук
Samsung с процессором Intel Atom завис просто-таки наглухо!!! :ebiggrin:
И никаких тебе Machine Check Error с ребутом! :lol:
Хотя, как объясняют, illegal opcode должен хотя бы Machine Check Exception вызвать... :wink:
Странный в общем-то подход к обработке exception 13... :-?

P.S. Оргвывод в общем-то в том, что дебаггером отследить куда ведёт Machine Check Error, похоже, что не удастся.

_________________
iLavr


08 Mar 2024 17:20
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
В новом ноуте при загрузке в DOS под НЕ UEFI BIOS запуск некоторых старых программ вызывает:
Machine Check Error - да-да... :lol: вот такой - как в режиме видео 13.
Vic3Dexe wrote:
Machine Check Exception - это исключение проца (такое же как #GP или #PF). И возникает оно безотносительно выполнения кода, так что отладчиком это ловить бесполезно. Это какие-то ошибки железа (контроллера памяти или кэша например), не более. Подозреваю, что биос этого ноута просто забывает его отключить, рассчитывая на то, что будет загружена винда, которая с ними разберется (или тоже выключит).

Собственно, причина по которой я так въедливо вцепился в это "исключение" весьма проста.
По всем источникам все процессоры старше 286, и его включая, стартуют для совместимости
в реальном режиме 8086, в котором и работает ОС DOS.
Процессорам старше 286 разрешены некоторые вольности в этом режиме, не нарушающие
совместимости, иначе бы ОС DOS не работала после начального старта, а она работает!
Так вот под ОС DOS система может обрабатывать только 8 исключений:
Quote:
INT 00H Деление на 0
INT 01H Пошаговое прерывание
INT 02H Немаскируемое прерывание
INT 03H Точка прерывания в отладке.
INT 04H Переполнение
INT 05H Печать экрана отменили с 286-го / (CPU BOUND Exception Interrupt)
INT 06H (Invalid Opcode) Неверный код операции, начиная с 286-го
INT 07H (Math Coprocessor Not Present) Математический сопроцессор отсутствует

Фразу Machine Check Error может вызвать INT 06H (Invalid Opcode),
но чисто "в лоб" не вызывает, я посмотрел код прерывания, там какие-то условия анализируют...

А вот фразу Machine Check Exception по идее должно вызывать:
Quote:
INT 08H — ошибка #DF «Двойная ошибка»
INT 0AH — ошибка #TS «Ошибочный TSS»
INT 0Bh — ошибка #NP «Сегмент недоступен»
INT 0Ch — ошибка #SS «Ошибка стека»
INT 0Dh — исключение #GP «Общая ошибка защиты»
INT 0Eh — ошибка #PE «Ошибка страничной адресации»
INT 10h — ошибка #MF «Ошибка сопроцессора»
INT 11h — ошибка #АС «Ошибка выравнивания»
INT 12h — останов #МС «Машинно-зависимая ошибка»

Но это обработчики исключений ЗАЩИЩЕННОГО РЕЖИМА! В РЕАЛЬНОМ РЕЖИМЕ ПОД ОС DOS
их просто физически не может быть! :o

В общем остаётся лишь исследовать код INT 06H (Invalid Opcode) Неверный код операции.
Под чистым DOS это делать крайне неудобно, привычки от Windows очень мешают. :wink:
Но навскидку код обработки прерывания INT 06H примерно такой:

 код обработки прерывания INT 06H
INT 06H (Invalid Opcode) wrote:
Code:
F000:3086 55            PUSH    BP
F000:3087 8BEC          MOV     BP,SP
F000:3089 50            PUSH    AX
F000:308A 53            PUSH    BX
F000:308B 1E            PUSH    DS

F000:308C C55E02        LDS     BX,[BP+02]
F000:308F 8B07          MOV     AX,[BX]

F000:3091 3CF0          CMP     AL,F0
F000:3093 74E1          JZ      3076

F000:3095 3D0F05        CMP     AX,050F
F000:3098 75E5          JNZ     307F

F000:309A FA            CLI
F000:309B FC            CLD
F000:309C 33C0          XOR     AX,AX
F000:309E 8ED8          MOV     DS,AX
F000:30A0 8BC4          MOV     AX,SP
F000:30A2 83C00E        ADD     AX,+0E
F000:30A5 24F8          AND     AL,F8
F000:30A7 B92000        MOV     CX,0020
F000:30AA 2BC1          SUB     AX,CX
F000:30AC 8BE0          MOV     SP,AX
F000:30AE 8BF8          MOV     DI,AX
F000:30B0 8BE8          MOV     BP,AX
F000:30B2 8CD0          MOV     AX,SS
F000:30B4 8EC0          MOV     ES,AX
F000:30B6 BE70E2        MOV     SI,E270
F000:30B9 2E            CS:
F000:30BA F3            REPZ
F000:30BB A4            MOVSB
F000:30BC 8BFD          MOV     DI,BP
F000:30BE 8ACC          MOV     CL,AH
F000:30C0 C0E904        SHR     CL,04
F000:30C3 C1E004        SHL     AX,04
F000:30C6 03C7          ADD     AX,DI
F000:30C8 80D100        ADC     CL,00
F000:30CB 83C702        ADD     DI,+02
F000:30CE AB            STOSW
F000:30CF 8AC1          MOV     AL,CL
F000:30D1 AA            STOSB
F000:30D2 32ED          XOR     CH,CH
F000:30D4 83C703        ADD     DI,+03
F000:30D7 BE4808        MOV     SI,0848
F000:30DA E88400        CALL    3161

F000:30DD 8BD8          MOV     BX,AX
F000:30DF 7203          JB      30E4
F000:30E1 80CD01        OR      CH,01
F000:30E4 83C70C        ADD     DI,+0C
F000:30E7 BE3608        MOV     SI,0836
F000:30EA E87400        CALL    3161

F000:30ED 7203          JB      30F2
F000:30EF 80CD02        OR      CH,02

F000:30F2 8EC0          MOV     ES,AX
F000:30F4 8EDB          MOV     DS,BX
F000:30F6 66C1C810      ROR     EAX,10
F000:30FA 50            PUSH    AX
F000:30FB 0F015600      LGDT    [BP+00]
F000:30FF 0F20C0        MOV     EAX,CR0
F000:3102 0C01          OR      AL,01
F000:3104 0F22C0        MOV     CR0,EAX
F000:3107 EA0C311000    JMP     0010:310C
F000:310C D0ED          SHR     CH,1
F000:310E 7305          JNB     3115

F000:3110 BB0800        MOV     BX,0008
F000:3113 8EDB          MOV     DS,BX

F000:3115 D0ED          SHR     CH,1
F000:3117 7305          JNB     311E

F000:3119 BB1800        MOV     BX,0018
F000:311C 8EC3          MOV     ES,BX

F000:311E 24FE          AND     AL,FE
F000:3120 0F22C0        MOV     CR0,EAX
F000:3123 EA283100F0    JMP     F000:3128

F000:3128 58            POP     AX
F000:3129 66C1C810      ROR     EAX,10
F000:312D 33C0          XOR     AX,AX
F000:3161 8B4404        MOV     AX,[SI+04]
F000:3164 AB            STOSW
F000:3165 AD            LODSW
F000:3166 AB            STOSW
F000:3167 8A0C          MOV     CL,[SI]
F000:3169 26            ES:
F000:316A 880D          MOV     [DI],CL
F000:316C A80F          TEST    AL,0F
F000:316E 750E          JNZ     317E
F000:3170 F6C1F0        TEST    CL,F0
F000:3173 7509          JNZ     317E
F000:3175 C1E804        SHR     AX,04
F000:3178 C0E104        SHL     CL,04
F000:317B 0AE1          OR      AH,CL
F000:317D F9            STC
F000:317E C3            RET

F000:317F CD0A          INT     0A
F000:3181 CF            IRET


_________________
iLavr


16 Mar 2024 09:02
Profile
Senior

Joined: 01 Jan 2022 04:34
Posts: 153
Location: USSR, Tashkent
Reply with quote
loadall был вроде только в 286
так что на атоме может и вызывать исключение


16 Mar 2024 09:05
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
imsushka wrote:
loadall был вроде только в 286
так что на атоме может и вызывать исключение

Под чистым DOS атом повесил наглухо без сообщений... :(

Основной признак - фраза: Machine Check Error
и программный ребут после неё.

DOS-овские Инты в лоб даже ребута не вызывают...
Интересно в лоб вызывается Инт 24Н - критическая ошибка:
Спрашивает: Abort? и после ответа "А" продолжает работу... :lol:

_________________
iLavr


16 Mar 2024 09:27
Profile
Senior

Joined: 01 Jan 2022 04:34
Posts: 153
Location: USSR, Tashkent
Reply with quote
ну может вешать
0F 05 xx xx в новом микрокоде не известно что может учудить
и не обязательно 0F 05. может комбинация последующих байт давать такой эффект
перенеси кусок после 0f 05 в конец проги
забей нопами байт 16, а потом джамп на перенесенный блок


16 Mar 2024 11:13
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 33 posts ]  Go to page Previous  1, 2, 3  Next

Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.