3 / 3 / 0
Регистрация: 18.01.2017
Сообщений: 63
|
||||||
1 | ||||||
Почему при чтении exe файла средствами python выводит ошибку?18.11.2017, 15:51. Показов 3308. Ответов 8
Метки нет (Все метки)
Вот сам код:
Но вот когда открываю f.exe(моя программа, которую написал на ассемблере(при нажатии пробела делает эмуляцию щелчка еще одного пробела.)Не суть!). Вот она отображается корректно, ну, без ошибок, а программа к примеру minecraft.exe пишет: UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 6865: character maps to <undefined> Побывал ставить кодировки utf-8 и другие. -------------------------------------------------------------------------------------------------------------------------------------------------------- Вкратце: Одна программа читается нормально, другая нет. Для тех кто спросит зачем: "У меня много идей. Одна из них это сделать свой архиватор, да-глупо, но мне интересно"
0
|
18.11.2017, 15:51 | |
Ответы с готовыми решениями:
8
При создании exe файла из кода на python, файл вылетает, и ничего не выводит При создании exe файла из кода на python, файл вылетает, после расчётов и не выводит ответ При чтении файла программа выводит бессмыслицу fread выводит грязь при при чтении из файла Не выводит русские слова при чтении и лемматизации из csv-файла |
18.11.2017, 16:04 | 2 | |||||
Сообщение было отмечено DwapDaBase как решение
Решение
По тому что вы открываете файл как текстовый, а не бинарный.
А конкретно - ошибка возникает по тому что python пытается перекодировать содержимое(бинарное) в cp1251 полагая что там текст. Добавлено через 1 минуту Читайте так
1
|
3 / 3 / 0
Регистрация: 18.01.2017
Сообщений: 63
|
|
18.11.2017, 16:15 [ТС] | 3 |
Так мне текст и нужен. Иначе заморочки будут. К примеру текст(который видно на скриншоте, это моя програмка(f.exe)) его мне нужно зашифровать rsa, потом расшифровать и записать в новый exe под название f_new(к примеру). А делать шифрование с байт кодом не удобно(или у меня руки кривые). по моему это странно, что какие то exe открываются, а какие то нет
0
|
18.11.2017, 17:05 | 4 |
Сообщение было отмечено DwapDaBase как решение
Решение
Нельзя открывать бинарные файлы как текстовые - как минимум это глупо.
В твоей проге на асме символов раз-два и обчелся - поэтому и нет ошибок декодирования: все символы попадают в какой-то диапазон типа ASCII. Как только ты попробуешь открыть файл как минимум более 1 kb (не суть сколько - просто в нем будет многа многа разных букафф) - получишь ошибку декодирования: потому что у бинарных файлов не существует текстовых кодировок. Учи матчасть.
1
|
3 / 3 / 0
Регистрация: 18.01.2017
Сообщений: 63
|
|
18.11.2017, 17:10 [ТС] | 5 |
Ок, спасибо) Уже пытаюсь в бинарном виде редактировать
0
|
18.11.2017, 18:37 | 6 |
Нет там текста, есть только байты )))
Парсте нужное, потом руками перекодируйте "байты в текст нужной кодировке" ... Сам же питон в текстовом режиме пытается перевести весь файл и "ломается". Добавлено через 2 минуты Кстати для python есть вроде специальная библиотека для работы с PE файлами.
0
|
3 / 3 / 0
Регистрация: 18.01.2017
Сообщений: 63
|
|
18.11.2017, 18:47 [ТС] | 7 |
Ага, pefile называется, но я не нашел документации на русском. А так сказать английский на "техническом" уровне в 8 классе не преподают)
0
|
23.11.2017, 15:13 | 8 |
Все что касается программирования - "все сам" как правило, не нужно рассчитывать на школу или институт.
Но я вроде видел где-то блог по этой либе, кроме того стоит почитать про саму структуру PE -файла прежде чем изучать библиотеку.
0
|
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
|
23.11.2017, 15:26 | 9 |
Приготовься к тому, что тебя не будут толком учить ни чему ни где (школа, институт и т д). Исключением будут ведущие вузы: МГУ, Бауманка, Иннополис и т д, да и учась там многое придется учить самому.
0
|
23.11.2017, 15:26 | |
23.11.2017, 15:26 | |
Помогаю со студенческими работами здесь
9
Выдает ошибку при чтении и записи файла Почему пропускается строка при чтении XML файла? Почему программа зацикливается при чтении конца файла? Как обработать ошибку, возникающую при чтении из файла с запрещённым доступом Почему возращается пустая строка при чтении ini-файла? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |