Для 1) Ваш файл достаточно мал для загрузки в память?Тогда это так же просто, как
offset = open(file, 'rb').read().find(
bytes.fromhex("48 8B 45 A8 48 8D 1C 02 48 8B 45 C8")
)
# offset will be -1 if not found
Если нет, вам нужно будет прочитать его кусками.
Для 2), выполните
with open(file, 'rb') as stream:
stream.seek(0x6b0c67)
data = stream.read(12)
БоюсьЯ не понимаю вопроса в 3) ...