Найти - Пользователи
Полная версия: Hex и hesh файла, требуется помощь
Начало » Python для новичков » Hex и hesh файла, требуется помощь
1 2
Timkarala
Всем привет!
Предисловие: Карантин, много свободного времени - решил воплотить свою давнюю мечту и начать изучать программирование. Как перспективный язык был выбрал питон.

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

Мой уровень знания языка - умею искать куски кода в сети.

Интересует не столько само решение, сколько команды и пояснения к ним.

Буду рад, если найдутся желающие прояснить для меня эти моменты.
FishHook
Timkarala
сколько команды и пояснения к ним.
Поясните, что вы имеете в виду, какие команды?
Timkarala
FishHook
Я имею в виду функции и их дополнительные значения, которые может потребовать поставленная задача.
Например, как заставить программу прочитать значения hex с 512 байта по определенный момент? Допустим, можно ли это сделать с помощью file.read() и если да, то как?
PEHDOM
Timkarala
Мой уровень знания языка - умею искать куски кода в сети.
Вы для начал хоть какойнить “самоучитель для начинающих” почитайте, я уж не говрю про учебник типа Лутца. Там вы найдете ответы на такие простые вопросы типа “как заставить программу прочитать значения hex с 512 байта по определенный момент?”
Timkarala
PEHDOM
Да, думаю все таки надо заняться. Посмотрел один видеокурс, но, как я понял, таким образом ничего дельного не добиться, только как хороший наглядный пример.
Результата же хочется побыстрее, иначе мотивация пропадет, а там и более интересные дела найдутся. Поэтому хочется примера, как решить поставленную задачу, куда копать.

Что же, займусь изысканиями, спасибо
FishHook
Timkarala
Результата же хочется побыстрее, иначе мотивация пропадет
А вы думаете, хоть кому то есть дело до вашей мотивации, кроме вас? Вы сейчас обращаетесь к людям, который пол жизни потратили на свое обучение. Ой, знаете, у меня мотивации нет! Ну нет, и что? Кому-то хуже стало от этого? Кто вы такой, почему надо о вас и о вашей мотивации переживать?
py.user.next
Timkarala
Для начальной задачи было выбрано создание скрипта, позволяющего считывать байты с определенного момента по определенный момент в файле, вычисление hash суммы(CRC32) этого фрагмента и запись его в конец файла. (обход защиты одной программы). В перспективе создание графического приложения с помощью tkinter.
То, что ты будешь фантазировать себе на таком начальном этапе, и то, что получится достичь в результате обучения и практики, - это совершенно разные вещи. Ну и, соответственно, учиться им нужно по-разному. Я вот, например, когда начинал учиться программированию в 2008 году (более ранние периоды своего программирования не рассматриваю, хотя там было что-то), хотел писать оконные программы для Windows. А сейчас мне эта Windows вообще нафиг не упала, мне она как система не интересна. Такое дерьмовое программирование, в котором нарушено всё что только можно, и идиотские решения по архитектуре компонентов системы, как там, ещё надо поискать.
Недавний случай - https://lenta.ru/news/2020/06/10/printers/
Если подключить принтер через USB, а затем выключить компьютер и освободить разъем от провода, то при следующем включении системы Windows ОС перестанет определять оборудование. Пострадавшие пользователи заявили, что неизвестная ошибка приводит к удалению принтеров из настроек после включения компьютера.
Ну и, соответственно, писать программы для виндовс - это трата времени не на программы сами, а на борьбу с этой тупой системой с её тупым программным окружением. Чтобы там писать, надо изучать все тупорылости системы. Зачем мне это? Лучше пустить всё время на изучение лучших технологий и методов создания программ.

Так что вот так оно преобразовалось.

Так что мотивация, если ты за неё держишься, тебя не спасёт. Она будет меняться по мере роста твоей компетентности. Чем больше ты будешь узнавать, тем больше ты будешь видеть всякой параши, которую ты раньше считал верхом гениальности.
py.user.next
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'
>>>

https://docs.python.org/3/library/binascii.html#binascii.crc32
  
>>> import binascii
>>> 
>>> binascii.crc32(b'\xff\xff\xff')
4294967040
>>>
>>> binascii.crc32(bytes([255, 255, 255]))
4294967040
>>>
Timkarala
FishHook
Я поясняю свои причины обращения сюда, это не причины для вас помогать мне) Если кому-то интересно помогать, буду рад. А на нет и суда нет) Кто я такой? Тимофей, приятно познакомиться, не надо обо мне переживать
Timkarala
py.user.next
Спасибо большое, буду разбираться!
По мотивации интересная история)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB