|  | eXeL@B —› Вопросы новичков —› Подскажите по распаковке | 
| Посл.ответ | Сообщение | 
|  | Создано: 04 февраля 2013 13:56 · Личное сообщение · #1 Сдампил программу в Олли, с помощью Импрека восстановил ресурсы, они были без "инвалида". Программа запускается, при нажатии кнопки открывается вспомогательное окно. Но при нажатии в этом окне кнопки тест, с подключенным диагностическим кабелем, вылетает ошибка : Code: 
 Подскажите пожалуйста, в каком направлении вести поиск ошибки?  2080_04.02.2013_EXELAB.rU.tgz - Runtime Error past depack.JPG  | 
|  | Создано: 04 февраля 2013 13:58 · Личное сообщение · #2 | 
|  | Создано: 04 февраля 2013 14:29 · Личное сообщение · #3 | 
|  | Создано: 04 февраля 2013 14:54 · Личное сообщение · #4 DimitarSerg Даже не знаю, помогло или нет, но теперь выскакивает другая ошибка. Code: 
 mysterio Выложить-то не проблема, но как проверять будете? Эта ошибка появляется только при подключенном кабеле. Выложу чуть позже.  0bd6_04.02.2013_EXELAB.rU.tgz - 2_VisualStudJustTimDebug.JPG  | 
|  | Создано: 05 февраля 2013 09:52 · Личное сообщение · #5 | 
|  | Создано: 05 февраля 2013 10:34 · Личное сообщение · #6 | 
|  | Создано: 05 февраля 2013 11:49 · Личное сообщение · #7 | 
|  | Создано: 05 февраля 2013 13:17 · Поправил: Kuzya69 · Личное сообщение · #8 Парни, спасибо. Разобрался сам. Не без вашей помощи. Стал копать в зоне этого патча, что во втором сообщении указали. И заметил, что та фукция вызывается только в распакованной программе, а в запакованной нет. Вот и нашел этот злосчастный условный джамп. Это была защита от распаковки видимо. Но теперь запускается и работает, но только на том ноуте на котором распаковываешь. На "чужом" ноуте завешивает намертво систему. Что это может значить, куда копать?  | 
|  | Создано: 05 февраля 2013 14:29 · Личное сообщение · #9 | 
|  | Создано: 05 февраля 2013 15:11 · Поправил: Kuzya69 · Личное сообщение · #10 Johnny Mnemonic Там внутри 4 реализации ВМ и 75 вызовов. 46 вызовов я уже декомпильнул из известных. Не могу еще с 5-ю вызовами справится, но это вопрос времени и знаний. А вот остальные вызовы вообще не учавствуют в программе, вернее они может и учавствуют, но на другом кабеле. Я не думаю, что тут ВМ виновата, ведь прогу распаковывают, для перевода, и без снятия ВМ вообще. Может какие косяки с ресурсами, хотя Импрек вообще все без проблем сделал. Ах да, забыл. http://zalil.ru/34232961 Там 3.2 метра, если интересно поглядите. Внутри и оригинальный и сдампленный и нужный для работы программы бин-файл.  | 
|  | Создано: 05 февраля 2013 16:24 · Личное сообщение · #11 | 
|  | Создано: 05 февраля 2013 17:10 · Личное сообщение · #12 Archer Тоесть с ресурсами не заморачиваться? Просто уж как-то легко они восстановились, на младших версиях как минимум одна, но была инвалидная функция. А вообще примерный метод поиска защиты от анпака не подскажите? Кроме как трейсить километровые коды. Может на какие апи-функции обратить особое внимание?  | 
|  | Создано: 05 февраля 2013 17:18 · Личное сообщение · #13 Kuzya69 Ресурсы - это иконки, курсоры, картинки и т.д. Импорт (импортируемые функции) - это функции, код которых расположен за пределами исполняемого файла и импортируется ехе-шником. Т.е. для вызова передаётся управление на адреса, лежащие за пределами ехе. А то уже не смешно. ----- Stuck to the plan, always think that we would stand up, never ran.  | 
|  | Создано: 05 февраля 2013 17:30 · Личное сообщение · #14 | 
|  | Создано: 06 февраля 2013 10:56 · Личное сообщение · #15 | 
|  | Создано: 06 февраля 2013 12:24 · Личное сообщение · #16 | 
|  | Создано: 06 февраля 2013 12:39 · Личное сообщение · #17 | 
|  | Создано: 06 февраля 2013 12:51 · Личное сообщение · #18 | 
|  | Создано: 06 февраля 2013 14:53 · Поправил: Kuzya69 · Личное сообщение · #19 | 
|  | Создано: 06 февраля 2013 16:45 · Личное сообщение · #20 | 
|  | Создано: 06 февраля 2013 18:26 · Поправил: Kuzya69 · Личное сообщение · #21 daFix Я так понимаю, что все отвечают на первый вопрос. Но он уже решен. Наверно надо новую тему создавать. Или атрибуты секции тоже могут влиять на переносимость программы с одного компа на другой? Все, разобрался со второй проблемой. Спасибо, добрые люди помогли. Оказалось, действительно косяки с импортом. А у меня, в настройках импрека не стояла галка "создать новую секцию". Вот импрек и пытался восстановить старые таблицы. А они по размеру даже были меньше новой секции.  | 
|  | Создано: 16 февраля 2013 14:44 · Личное сообщение · #22 R6002 floating point support not loaded - после распаковки // для гугла Тема довольно актуальная, столкнулся с этой ошибкой после снятия армы, решил провести небольшой реверс и вот что вышло. Метод указанный Manhunter не совсем корректен и вот почему: - мы патчим уже результат проверки, но никак не причину - на данный момент, я знаю софт, в котором патч fptrap > RET убивает поддержку вещественных чисел. - патчить нужно или атрибуты секций (что не всегда реально, если это секция data) либо искать причину. загружаем софт, ставим мемори бряк на заголовок файла, прерываемся трейсим и ставим, повторяем до тех пор пока не окажемся здесь: Code: 
 поднимаемся к месту вызова по RET: Code: 
 после CALL dump_SCY.005FDA30 в EAX указатель на секцию .rdata (в моем случае) дальше берём аттрибуты секции и проверяем: в битовом представлении C0000040 = 11000000000000000000000001000000 в битовом представлении 40000040 = 01000000000000000000000001000000 собственно понятно, что делать? процедура должно возвращать в EAX 1, патч: Code: 
 вот так правильнее и красивее   ----- [nice coder and reverser]  | Сообщение посчитали полезным: alexpol, daFix | 
|  | Создано: 16 февраля 2013 15:40 · Личное сообщение · #23 ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.  | Сообщение посчитали полезным: alexpol | 
|  | Создано: 16 февраля 2013 16:15 · Личное сообщение · #24 | 
|  | Создано: 16 февраля 2013 16:40 · Личное сообщение · #25 | 
|  | Создано: 16 февраля 2013 16:45 · Личное сообщение · #26 | 
|  | Создано: 16 февраля 2013 17:00 · Личное сообщение · #27 | 
|  | Создано: 16 февраля 2013 17:31 · Поправил: alexpol · Личное сообщение · #28 | 
|  | Создано: 16 февраля 2013 19:30 · Личное сообщение · #29 ClockMan Именно так, как по ссылке, эта программа и защищалась. Переписывала адреса коссвенных обращений к другим функциям, если атрибуты верны. Если-же атрибуты неверны, то адреса все вели на выдачу этого сообщения. И патчить пришлось именно результат проверки секций. Но все равно совет, патчить "fptrap > RET", помог попасть в эту проверку атрибутов секции. Потому-как бряк на этом патче, в распакованной проге, срабатывал. А в оригинальной не срабатывал. Дальше было дело за трассером, отследить место развилки.  | 
|  | eXeL@B —› Вопросы новичков —› Подскажите по распаковке | 






 












 Для печати
 Для печати