Blog. Just Blog

Runtime error R6002 floating point not loaded

Версия для печати Добавить в Избранное Отправить на E-Mail | Категория: Темная сторона Силы | Автор: ManHunter
После распаковки приложений, написанных на Microsoft Visual C++ и накрытых некоторыми протекторами (Armadillo, PECompact и другие) они могут падать при запуске или выполнении каких-либо действий с ошибкой Runtime error R6002 floating point not loaded. Причина ее возникновения следующая: программа была скомпилирована с Microsoft.VC80.CRT и при запуске в ней проверяются атрибуты секций.

Первый способ устранения ошибки R6002 заключается в выставлении атрибутов секций в распакованном файле в точности, как было в оригинальном. Сделать это можно с использованием бесплатной утилиты CFF Explorer VII. Второй вариант, более надежный и гарантированно рабочий - пропатчивание в исполняемом файле функции __fptrap, которая и отвечает за появление этого сообщения об ошибке. Дизассемблером IDA в файле она определяется примерно так:
  1. __fptrap  proc near
  2.           push    2             ; <--- заменить на RET
  3.           call    __amsg_exit
  4.           pop     ecx
  5.           retn
  6. __fptrap  endp
Ее надо пропатчить, заменив первую команду на немедленный возврат из функции RET. Сигнатура поиска 6A 02 E8 ?? ?? ?? ?? 59 C3. К сожалению, сигнатура достаточно короткая и в большом коде может быть найдено несколько совпадений, поэтому при анализе файла очень желательно пользоваться дизассемблером.

Скриншот программы VCFixer
Скриншот программы VCFixer

Для удобства поиска сигнатуры я написал небольшую утилиту VCFixer. Если найдена только одна сигнатура, то она будет сразу же пропатчена. Если сигнатур найдено несколько, то в логе будет показан список их абсолютных смещений в файле, в этом случае патчить надо последнее вхождение (это определено опытным путем, хотя тоже не стопроцентный факт). Точное место для патча на основе этих данных все равно лучше выяснить, как я и говорил ранее, при помощи дизассемблера.

VCFixer 2.0VCFixer 2.0

VCFixer.2.0-PCL.zip (38,533 bytes)

UPD: Этот способ самый быстрый, но в некоторых случаях может не привести к желаемым результатам. Более правильный способ устранения ошибки R6002 описал Hellspawn с форума EXEL@B. Вот его метод.

Загружаем исследуемую программу в отладчик, ставим точку останова на обращение к памяти (Memory breakpoint) на заголовок файла, запускаем программу на выполнение. Отладчик несколько раз остановится, нужно продолжать трассировку до момента, пока не будет примерно такой код:
  1. 005FDB40    PUSH EBP
  2. 005FDB41    MOV EBP,ESP
  3. 005FDB43    MOV EAX,DWORD PTR SS:[EBP+8]
  4. 005FDB46    MOV ECX,5A4D
  5. 005FDB4B    CMP WORD PTR DS:[EAX],CX
  6. 005FDB4E    JE SHORT dump_SCY.005FDB54
  7. 005FDB50    XOR EAX,EAX
  8. 005FDB52    POP EBP
  9. 005FDB53    RETN
  10. 005FDB54    MOV ECX,DWORD PTR DS:[EAX+3C]
  11. 005FDB57    ADD ECX,EAX
  12. 005FDB59    XOR EAX,EAX
  13. 005FDB5B    CMP DWORD PTR DS:[ECX],4550
  14. 005FDB61    JNZ SHORT dump_SCY.005FDB6F
  15. 005FDB63    MOV EDX,10B
  16. 005FDB68    CMP WORD PTR DS:[ECX+18],DX
  17. 005FDB6C    SETE AL
  18. 005FDB6F    POP EBP
  19. 005FDB70    RETN
Возвращаемся к месту вызова функции по RET. Должен быть примерно такой код:
  1. 005FDAD3    PUSH EAX
  2. 005FDAD4    PUSH dump_SCY.00400000
  3. ; Загрузить параметры секции из заголовка файла
  4. 005FDAD9    CALL dump_SCY.005FDA30
  5. 005FDADE    ADD ESP,8
  6. 005FDAE1    TEST EAX,EAX
  7. 005FDAE3    JE SHORT dump_SCY.005FDB1F
  8. ; Получить атрибуты секции
  9. 005FDAE5    MOV EAX,DWORD PTR DS:[EAX+24] ; EAX = C0000040
  10. ; Выделить старший бит 
  11. 005FDAE8    SHR EAX,1F ; EAX = 00000001
  12. 005FDAEB    NOT EAX    ; EAX = FFFFFFFE
  13. 005FDAED    AND EAX,1
  14. ; Если EAX = 0, то произошла ошибка R6002
  15. ; Если EAX = 1, то все нормально
Чтобы функция всегда возвращала правильное значение, нужно пропатчить файл, заменив трехбайтную команду AND EAX,1 по адресу 005FDAED на две последовательные команды XOR EAX,EAX и INC EAX. В этом случае будет устранена именно причина появления ошибки Runtime error R6002 floating point not loaded. Естественно, что здесь приведен только код из тестовой программы, адреса для патча в вашей программе будут другие.

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

Поделиться ссылкой ВКонтакте
Просмотров: 106469 | Комментариев: 133

Внимание! Статья опубликована больше года назад, информация могла устареть!

Комментарии

Отзывы посетителей сайта о статье
ManHunter (19.11.2014 в 13:52):
Новая версия VCFixer 2.0. Добавлена возможность патча по методу Hellspawn.
ManHunter (28.10.2014 в 13:18):
Добавил в статью еще один, более правильный, вариант устранения ошибки R6002 по методу Hellspawn.
ManHunter (30.07.2010 в 13:43):
Бгггг.. Задроты негодуют!! Идите пишите АВТОРАМ своих говноигр, пусть ОНИ исправляют СВОИ ошибки, а мне тут жаловаться незачем, ваши проблемы меня вообще никак не интересуют.

Для тупых повторяю: ваши проблемы с играми, патчем или результатами работы патча меня НЕ ИНТЕРЕСУЮТ, сообщать мне о них НЕ НАДО.
AptmkA (30.07.2010 в 13:41):
кайфолом с вов пропатчил и она не запускается!БЛО!!!!!!!!((((((че делать!!!!

ппц вов не пашет после пропатчивания!че делать((((((аааааааааааааааааа
ManHunter (28.07.2010 в 21:10):
Иди в спортзал качайся.
Sasha98 (28.07.2010 в 21:01):
Помогите пжлст что делать, у меня игра wow при запуске выскакивала такая ошибка Runtime error R6002 floating point not loaded. А когда я пропатчил WoW.exe файл захожу в игру поевляется окно чёрноё и сразу ч\з 2-3сек выкидывает(. Помогите пжлст что теперь делать?
Keks (28.07.2010 в 17:15):
Чувак ты  супер пупер =))) в инете читал типо антивирус поможет сменил 3 антивируса  , ХРЕН !!! а тут за 10 сек все готово =)) спс чувак
Сергей (27.07.2010 в 07:58):
Спасибо огромное!
Никита (26.07.2010 в 20:28):
ММ драсте автору, вот я скачал эту прогу все зделал теперь ошибка не выскакивает просто окно открываеться и сразу закрыватьеся может подскажет мне кто что делать...
Виктор (19.07.2010 в 03:32):
Спасибо огромное , ты гений!
†B2zz† (16.07.2010 в 13:58):
Спасибо тебе чувак, прога реально чумавая))) ты меня избавил от этой ошибки навсегда, реально спс биг)))
Серега (27.06.2010 в 12:31):
Спасибо, то что доктор прописал прямо)
Андрей (24.06.2010 в 17:13):
СПАСИБО! мне тоже помогло - игруху пропатчило как надо)
Евгений (22.06.2010 в 05:58):
Огромное спасибо вам
Рита (22.06.2010 в 05:53):
Ну, блин, классная прога. Спасибо аффтору. А то этот Медиа Плейер уже заколебал этой хернёй. Всё снова работает.
ManHunter (18.06.2010 в 15:47):
Сказано же криворуким не качать. Иди пиши автору своей говнопрограммы, чтобы исправлял свои ошибки, а на патчи нечего гнать. В бан.
Уг (18.06.2010 в 15:44):
бред а не программа, после использывания ошибка пропадает но программа не запускается)
ManHunter (31.05.2010 в 12:39):
Поправочка: КРИВОРУКИМ не качать.
Михаил (31.05.2010 в 12:38):
ПОЛСЛЕ ЭТОЙ ПРОГРАММЫ У МЕНЯ НЕ ЗАПУСКАЕТСЯ ИГРЫ!!! Mirrors edge, gta 4!!! ОШИБКА!!! ГЕЙМЕРАМ НЕ КАЧАТЬ!!!
Сергей (22.05.2010 в 06:59):
Спасибо огромное за прогу. Понятно работает и спасает таких ламеров как я =)
ManHunter (17.05.2010 в 10:44):
Паникеров в бан. Кто-то еще хочет вирус в архиве найти?
Inkognito (17.05.2010 в 10:41):
А в архиве то WORM/Agent.3560 worm
cemka14 (12.05.2010 в 15:54):
Мужик, ну ты реально спас, прога супер, чтобы я делал без тебя.
Merrymind (07.05.2010 в 18:50):
Доброго времени суток помогите мне у меня выскочила эта ошибка когда я пытаюсь закрыть Ventrilo скажите пожалуйста как установить эту прогу
pronin (20.04.2010 в 20:53):
Огромное человеческое спасибо
Серж (11.04.2010 в 10:50):
Ты гений, спасибо, а то у меня тут уже депрессия из за этой ерунды начиналась.
Porsche (03.04.2010 в 18:33):
Чувак твоя прога просто офигенная благодрая ей я пропатчил прогу и прошил тел)
Антоха (03.04.2010 в 17:35):
Дима, подскажи как пользоваться
Антоха (03.04.2010 в 14:28):
Пахан, Артур, Артем, подскажите плиз у мя неполучаетсо я нюб немного в этом или руки из задницы растут что делать подскажите
Дима (02.04.2010 в 13:18):
VCFixer 1.1 програма просто супер спасибо!!!!!
skraber (28.03.2010 в 18:27):
Или я тупой или у мя руки из жопы растут ни хрена не получается
Саня (26.03.2010 в 00:15):
Спс большое начало работать
alex (25.03.2010 в 16:50):
а я так и не понял какой файл нужно патчить
Вася (24.03.2010 в 14:33):
можете написать какой файл надо патчить
petr (20.03.2010 в 20:12):
Вау, чувак, ты мой бог :) Теперь понимаю зачем нужны программисты
Тем более талантливые
нарек (19.03.2010 в 18:11):
спасибо вы мне очень помогли, программа начал работать
marykon (16.03.2010 в 17:56):
А я не могу скачать, у меня выдает, что архив поврежден, а с другого компа вообще прерывает антивирус, пишет об опасности.
толян!! (14.03.2010 в 14:32):
а я 3 раза ыинду переустонавливал  и игру с этой ошибкой раз 20 а эта програмка помогла спс большое!!!
BuraFil (12.03.2010 в 02:47):
Реально работает! Спасибо, а то Старик Второй не патчился из-за этой фигни ...
Просто нубец (10.03.2010 в 07:51):
у меня эту ошибку выдаёт CCleaner. Патч, как ни странно, не помог. =\
Серега (09.03.2010 в 08:33):
Я в шоке!:) Я не ожидал что эта минимальная штуковина способна избавить меня от такой ужасной заразы, которую я не смог удалить вместе с диском С. Я очень благодарен автору, ведь уже собирался полностью форматировать комп с 300 Гб очень нужной инфы.
Эльдар (26.02.2010 в 23:03):
Ухты я думал всё придется сносить винду! а тут пац заработала! спс тебе
Кендл (20.02.2010 в 00:16):
СПС огромное за прогу, у мене 1 дельце. У меня эта ошибка во всех местах находиться. Ваша прога токо её удаляет точно? Ато она в любом текстовом документе чтото находит не то...
Uncher (15.02.2010 в 13:36):
Спасибо, Media Player Classic снова работает. Хотя, как оказалось совсем недавно - во всем виноват вирус Win32.Parite.2)))
horrendous (01.02.2010 в 12:53):
Спасибо Большое, всё работает :)
Gringo (30.01.2010 в 18:44):
Большое спасибо, все работает! Теперь я счастлив!
Suk@4()FF (23.01.2010 в 16:12):
ты мастер!!! премного благодарен!!!

програмистом надо родится =) БОЛЬШОЕ СПС!!!!
ManHunter (18.01.2010 в 14:11):
Поясню. Например, есть какой-нибудь выпотрошенный говнософт, оформленный в релиз и выложенный в сеть. И что проще: сразу самому убрать этот косяк в файле или писать в .nfo инструкцию для юзеров, куда им надо пойти, что скачать и как это потом ставить? Можешь устранить проблему на своей локальной машине - умничка, я только искренне порадуюсь, что есть такие продвинутые девушки. А у меня свои методы работы.
Ленка (18.01.2010 в 14:04):
Все же повторю свой вопрос: А к чему все это? Не проще просто обновить библиотеку С++ на сайте микрософт?
valentin12 (18.01.2010 в 10:24):
Просто супер, большое спасибо!
Алексей (12.01.2010 в 11:40):
Огромное спасибо за помощь и за вашу работу!
KeJla (11.01.2010 в 14:23):
ВАААА ты БоХ:))сенк диспечер отфиксил)))
LightSoul (10.01.2010 в 17:18):
прочёл и не нашёл ни чего похожего((подскажи плиз что может послужить причиной этой проблеме...
Luxeon (09.01.2010 в 18:36):
Чел, я тебя лично встречю и рацелую в задницу!!!!))))) всё шикарно, всё работает и всё зачипысь! Отличная работа, аплодисменты
ManHunter (09.01.2010 в 12:42):
Камменты читать не пробовал? Обычно помогает.
LightSoul (09.01.2010 в 12:28):
А почему прога не открывается??я её скачиваю он после пишит архив поврежден!
Юрий Саныч (09.01.2010 в 06:51):
У кого проблема с пропатчиванием, запустите утилиту от имени администратора
Маркивка (08.01.2010 в 19:22):
Чувак респект тебе, а то жить невозможно было.. ты просто гений... спасибо огромное...
Ленка (06.01.2010 в 00:34):
А к чему все это? Не проще просто обновить библиотеку С++ на сайте микрософт?
ваня)_ (04.01.2010 в 20:17):
ооо спасибо огромное)
ManHunter (03.01.2010 в 23:16):
Недовольные могут засунуть свое недовольство себе в жопу. Все ваши остроумные комментарии все равно я сразу же удаляю, так что не тратьте зря свои эмоции и мое время.
Денис (03.01.2010 в 19:29):
Ребята, спасибо огромное!!!!! прога помогла!!!!
Stepan (22.12.2009 в 14:41):
Спасибо помогло:)
ManHunter (14.12.2009 в 10:30):
И чо непонятного? Программа не может открыть твой файл. А причину ищи у себя сам, я телепатией, да еще и бесплатно, посторонние проблемы решать не умею.
Zery (13.12.2009 в 18:16):
у меня чёто не выходит помоги ! выдаёт ошибку
Open file...
--> ERROR
Done
и всё!
SNERK (10.12.2009 в 15:04):
ManHunter, Да действительно все работает респект.
SNERK (10.12.2009 в 15:02):
ManHunter, Огромное спасибо скачал запутил сначала ошибку выдала запустил второй раз вроде прошло.
ManHunter (10.12.2009 в 13:50):
Качай браузером.
SNERK (10.12.2009 в 13:49):
Не скачивается!
Серый (05.12.2009 в 16:55):
спасибо тебе большое!!!!!!!!ты спас меня
ManHunter (02.12.2009 в 20:53):
Для любителей постить на своих форумах прямые ссылки на закачку: в обход этого сайта по ним никто ничего не скачает, даже не пытайтесь.
Благодарный =) (01.12.2009 в 20:43):
спасибо
ManHunter (30.11.2009 в 20:17):
Пишешь на обратную связь, получаешь номер счета, платишь 20$, потом я решаю твою проблему. Именно в такой последовательности. Кому не нравится такой расклад - тот учится делать сам.
laper (30.11.2009 в 20:09):
pls help 4e delat6 ne 4e ne ponimay kamu platit6 4tob pomogli?
MedVed (26.11.2009 в 10:36):
Спасибо большое!!!Всё работает!Уррраааа!!!!!!!!!!!
MrShooter (13.11.2009 в 22:03):
спасибо вам огромное!!!Жму вам руку!!!!
Даниил (12.11.2009 в 21:27):
Большое спасибо))
Желтый (02.11.2009 в 14:19):
Спасибо большое.
Ты гений!
postal (01.11.2009 в 13:22):
ОГРОМНОЕ СПАСИБО ЗА ТАКУЮ ПРОГРАММУ
Сергей (28.10.2009 в 23:28):
Мне это не помогло. При использовании на Movavi Video Converter 8,0 посля пропатчивания при нажатии на настройки выдает ошибку и прога закрывается. Переустанавливал несколько раз, с очисткой реестра тот же результат.
Владимир (17.10.2009 в 11:08):
АААААА ОГРОМНЕЙШЕЕ СПАСИБОООО!!!!
dimonz (16.10.2009 в 19:14):
спс!!!!!!!
El (09.10.2009 в 13:38):
Спасибо огромное!!!
Кирилл (02.10.2009 в 19:47):
спс за такую простую программу!очень помогло!:)
Эдуард (01.10.2009 в 10:00):
Восстановил варик ))) спс )
ANTONIO (30.09.2009 в 20:03):
Thank you very much!
Микроб (15.09.2009 в 16:27):
Спасибо тебе огромное,очень помог
Andrei_E (13.09.2009 в 08:14):
Биг сенкс, все работает ;)
FreeName (10.09.2009 в 16:16):
Спасибо все работает! Побольше бы таких добрых и УМНЫХ людей!!!
Добрый самаритятин (10.09.2009 в 13:39):
спасибо! Жить стало легче!!!
kalapuz (09.09.2009 в 20:56):
спасибо всё работает
Миша (06.09.2009 в 13:49):
Вроде помогло!
СПАСИБО!
1 способ самый лучший!
Хоть ясам и нуб но чет там похирачив  восстановил игру)
СПАСИБО БОЛЬШОЕ!
Сергей (05.09.2009 в 11:47):
Огромное Спасибо!!! Только вы мне и помогли!!!
BAJIEPA (02.09.2009 в 00:33):
Вроде работает! Спасибо
fallfromgrace (01.09.2009 в 01:48):
большое человеческое спасибО!!!
Shoomlo (28.08.2009 в 19:07):
Большое спасибо за программу, ато я каждый раз ставил стронг на один сеанс, а потом эта ошибка. Ты КЕНТ!
Okkypant (28.08.2009 в 11:07):
Громаднейшее спасибо!!!
Save (22.08.2009 в 15:38):
Огромное спасибо автору!
Alex (19.08.2009 в 11:02):
Спасибо!!!!!
DooM133 (19.08.2009 в 10:35):
ой спасибо тебе!!!!
softek (16.08.2009 в 01:53):
Большая благодарность автору от лица многих пользователей моего сайта и от меня лично, утилита лечит эту проблему здорово!
Дмитрий (10.08.2009 в 09:02):
Огрмное спасибо))очень помогла только блин не знал что можно исправить зачем-то виндовс переустоновил еще раз спс...
Благодарный (05.08.2009 в 03:52):
Огромное спасибо!
Рэм (20.07.2009 в 09:48):
спасибо большое ! все отлично! так держать!
GOfffka (17.07.2009 в 09:14):
Спасибо огромное) уже не раз применяю и работает
oflaund (16.07.2009 в 00:46):
Действительно помогло. Просто пропатчил ехе фаил и всё заработало.
Огромное спасибо!!!
Виталий (14.07.2009 в 02:46):
Огромноееееееееееее Спс!!!!!
Bananas (08.07.2009 в 05:30):
Огромное спасибо =) очень помогли.
Олег (06.07.2009 в 11:22):
Огромное спасибо!!!
zhenek (28.06.2009 в 14:37):
Спасибо! Прога реально очень помогла!
Cryevel (27.06.2009 в 01:51):
Вааааа Спасибо Огромное все отлично Работает)))
Лена (25.06.2009 в 21:05):
Спасибо....очень помог))
Den (23.06.2009 в 17:29):
Прикольная прога! Нормуль, РАботает!!
revant (14.06.2009 в 18:16):
спасибо твоя программа мне очень помогла
Timoxaxa (17.05.2009 в 21:04):
А если после патча файла он не открывается что тогда сделать нужно?
Елена (11.05.2009 в 21:06):
Спасибо!!!
_rEd (07.05.2009 в 23:41):
клёва,помогла) спс
Станислав (29.04.2009 в 16:02):
У меня эта ошибка вылетает при открытии жестких дисков - что надо патчить?
Сергей (25.04.2009 в 12:51):
Спасибо! Но все же не пойму природу ошибки! Все работало, а в один прекрасный момент при запуске проги стала вылетать эта ошибка? Прога Media Player Classic
p3aRL (24.04.2009 в 13:48):
Спасибо огромнейшее!! эта штука настолько облегчила мне жизнь)))
Сергей (03.04.2009 в 12:16):
Коротко, ясно, результативно. Как же здорово что есть такие умы! Спасибо за совет и программу, а то в инете кроме как "проверь на вирус систему" ничего не находил ранее. СПАСИБО!
ManHunter (19.03.2009 в 12:52):
Не понимаешь что написано выше - читай что написано ниже. Сперва идешь в кассу, а потом решается твоя проблема.
Sizirk (19.03.2009 в 12:47):
может кто поподробнее описать выше указанные процессы?
антивирус не устанавливаеться, диспетчер задач отключен(как бы администратором)ошибка выдаеться при включении DC++при повторной переустановке заходит 1 раз , затем прогу выключаю когда захожу заного опять ошибка  R6002 - floating point not loaded !!!
Форматирование не помогло, переустанавливал разные XPшные виндоусы
что делать не знаю!
Просьба если кто то может помочь пишите на [del] или асю [del]
извините что там написано сверху не понимаю, не программист я, за ранее спасибо!
ManHunter (06.03.2009 в 21:05):
Если не умеете сами, то платите деньги тем кто умеет, и они решают вашу проблему. Халявное решение я тут выложил, остальные вопросы через кассу.
Макс (06.03.2009 в 20:56):
Фильм открываю и там эта ошибка выходит, что делать?
Женя (06.03.2009 в 10:51):
Ребят я вообще ниче не понял :)  я в этих делах не очень :) просто пара прог выкидывает эту ошибку а че патчить и как я вот ну не смог осознать :) хелппп
Gurevich (28.02.2009 в 23:16):
Спасибо, помогло.
Nubi (12.02.2009 в 14:30):
Вот это да!!! ну никак не ожидал, что будет работать... вот уже как пол года мучался с это проблемой... Агромнейшее спасибо!!!
Артем (02.02.2009 в 23:34):
Спасибо, реально работает!!!
ManHunter (23.01.2009 в 03:25):
Попалась уже вторая программа, в которой нужная сигнатура идет не последней в списке. Так что дизассемблер - это наше все :)
Пахан (22.01.2009 в 22:23):
класс cool прога
Артур (22.01.2009 в 14:41):
Благодарю утилита VCFixer.1.1-PCL.zip супер . Успехов.
LOST KIND (13.01.2009 в 14:45):
Привет Димыч, с Рождеством тебя :) Здоровая, любви желаю, "Да прибудет с тобой Сила, юный Скайвокер!" ;) ... Дим, а почему б тебе скриптов хороших не выложить по возможности? ... :)

Добавить комментарий

Заполните форму для добавления комментария
Комментарии отключены администратором сайта
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.25 сек. / MySQL: 2 (0.0073 сек.) / Память: 4.5 Mb
Наверх