Форум сайта python.su
Всем привет!
Предисловие: Карантин, много свободного времени - решил воплотить свою давнюю мечту и начать изучать программирование. Как перспективный язык был выбрал питон.
Для начальной задачи было выбрано создание скрипта, позволяющего считывать байты с определенного момента по определенный момент в файле, вычисление hash суммы(CRC32) этого фрагмента и запись его в конец файла. (обход защиты одной программы). В перспективе создание графического приложения с помощью tkinter.
Мой уровень знания языка - умею искать куски кода в сети.
Интересует не столько само решение, сколько команды и пояснения к ним.
Буду рад, если найдутся желающие прояснить для меня эти моменты.
Отредактировано Timkarala (Июнь 18, 2020 18:05:06)
Офлайн
TimkaralaПоясните, что вы имеете в виду, какие команды?
сколько команды и пояснения к ним.
Офлайн
FishHookЯ имею в виду функции и их дополнительные значения, которые может потребовать поставленная задача.
Офлайн
TimkaralaВы для начал хоть какойнить “самоучитель для начинающих” почитайте, я уж не говрю про учебник типа Лутца. Там вы найдете ответы на такие простые вопросы типа “как заставить программу прочитать значения hex с 512 байта по определенный момент?”
Мой уровень знания языка - умею искать куски кода в сети.
[code python][/code]
Отредактировано PEHDOM (Июнь 18, 2020 20:36:15)
Офлайн
PEHDOMДа, думаю все таки надо заняться. Посмотрел один видеокурс, но, как я понял, таким образом ничего дельного не добиться, только как хороший наглядный пример.
Офлайн
TimkaralaА вы думаете, хоть кому то есть дело до вашей мотивации, кроме вас? Вы сейчас обращаетесь к людям, который пол жизни потратили на свое обучение. Ой, знаете, у меня мотивации нет! Ну нет, и что? Кому-то хуже стало от этого? Кто вы такой, почему надо о вас и о вашей мотивации переживать?
Результата же хочется побыстрее, иначе мотивация пропадет
Офлайн
TimkaralaТо, что ты будешь фантазировать себе на таком начальном этапе, и то, что получится достичь в результате обучения и практики, - это совершенно разные вещи. Ну и, соответственно, учиться им нужно по-разному. Я вот, например, когда начинал учиться программированию в 2008 году (более ранние периоды своего программирования не рассматриваю, хотя там было что-то), хотел писать оконные программы для Windows. А сейчас мне эта Windows вообще нафиг не упала, мне она как система не интересна. Такое дерьмовое программирование, в котором нарушено всё что только можно, и идиотские решения по архитектуре компонентов системы, как там, ещё надо поискать.
Для начальной задачи было выбрано создание скрипта, позволяющего считывать байты с определенного момента по определенный момент в файле, вычисление hash суммы(CRC32) этого фрагмента и запись его в конец файла. (обход защиты одной программы). В перспективе создание графического приложения с помощью tkinter.
Если подключить принтер через USB, а затем выключить компьютер и освободить разъем от провода, то при следующем включении системы Windows ОС перестанет определять оборудование. Пострадавшие пользователи заявили, что неизвестная ошибка приводит к удалению принтеров из настроек после включения компьютера.Ну и, соответственно, писать программы для виндовс - это трата времени не на программы сами, а на борьбу с этой тупой системой с её тупым программным окружением. Чтобы там писать, надо изучать все тупорылости системы. Зачем мне это? Лучше пустить всё время на изучение лучших технологий и методов создания программ.
Отредактировано py.user.next (Июнь 18, 2020 23:53:35)
Офлайн
Timkarala
Для начальной задачи было выбрано создание скрипта, позволяющего считывать байты с определенного момента по определенный момент в файле, вычисление hash суммы(CRC32) этого фрагмента и запись его в конец файла.
TimkaralaНу, ты делаешь так
Например, как заставить программу прочитать значения hex с 512 байта по определенный момент? Допустим, можно ли это сделать с помощью file.read() и если да, то как?
fin.read(511) byte = fin.read(1)
[guest@localhost ~]$ head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
[guest@localhost ~]$
>>> with open('/etc/passwd', 'rb') as fin: ... _ = fin.read(4) ... byte = fin.read(1) ... >>> byte b':' >>>
>>> byte b':' >>> byte[0] 58 >>> byte = byte[0] >>> byte 58 >>> hex(byte) '0x3a' >>>
>>> import binascii >>> >>> binascii.crc32(b'\xff\xff\xff') 4294967040 >>> >>> binascii.crc32(bytes([255, 255, 255])) 4294967040 >>>
Отредактировано py.user.next (Июнь 19, 2020 00:05:51)
Офлайн
FishHookЯ поясняю свои причины обращения сюда, это не причины для вас помогать мне) Если кому-то интересно помогать, буду рад. А на нет и суда нет) Кто я такой? Тимофей, приятно познакомиться, не надо обо мне переживать
Офлайн
py.user.nextСпасибо большое, буду разбираться!
Офлайн