Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
15 / 13 / 4
Регистрация: 23.08.2017
Сообщений: 187
1

Реверс инжиниринг, и тут что-то пошло не так

16.10.2017, 22:49. Показов 2630. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем приветик
Вот решила посмотреть в один модуль на питоне, и сразу наступила на какие-то невидимые грабли.
Суть задачи такая: открыть file.pyc и сохранить в file.py

Моя действия
Пробовала разные инструменты: unpyclib, uncompyle6, pycdc(вываливаетя в core dump), pycdas

Какие еще есть доступные методы открыть закрытое, и как определить с чем имею дело ?
Пробовала скомпилировать простой hello-world и обратно, всё замечательно.
Сам модуль на питоне 2.7

PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#python -m unpyclib.application -Dq file.pyc
..
>>> Unexpected exception:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/unpyclib/application.py", line 206, in start
    optimizeJumps=True)
  File "/Library/Python/2.7/site-packages/unpyclib/disasm.py", line 200, in __init__
    self.optimizeJumps()
  File "/Library/Python/2.7/site-packages/unpyclib/disasm.py", line 263, in optimizeJumps
    (addr, negate) = getOptimizationAddr(cmd)
  File "/Library/Python/2.7/site-packages/unpyclib/disasm.py", line 243, in getOptimizationAddr
    target = self.commands.cmdHash[targetAddr]
KeyError: 27191
 
 
 
 
#uncompyle6 file.pyc
 
# uncompyle6 version 2.13.2
# Python bytecode 2.7 (62211)
# Decompiled from: Python 2.7.10 (default, Feb  7 2017, 00:08:15)
# [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)]
# Embedded file name: hru-hru
Instruction context:
 
   2       0  JUMP_ABSOLUTE       120  'to 120'
->            3  SETUP_WITH          364  'to 370'
              6  STOP_CODE
              7  JUMP_ABSOLUTE       168  'to 168'
             10  SETUP_WITH        22357  'to 22370'
             13  LOAD_CONST            2  ''
             16  LOAD_CONST            2  ''
             19  POP_TOP
             20  RETURN_VALUE
 
 
# file file.pyc
# --- This code section failed: ---
 
   2       0  JUMP_ABSOLUTE       120  'to 120'
           3  SETUP_WITH          364  'to 370'
           6  STOP_CODE
           7  JUMP_ABSOLUTE       168  'to 168'
          10  SETUP_WITH        22357  'to 22370'
          13  LOAD_CONST            2  ''
          16  LOAD_CONST            2  ''
          19  POP_TOP
          20  RETURN_VALUE
          -1  RETURN_LAST
 
Parse error at or near SETUP_WITH instruction at offset 3
 
 
#pycdas file.pyc
 
file.pyc (Python 2.7)
[Code]
    File Name: hru-hru
    Object Name: <pjorion_protected>
    Arg Count: 0
    Locals: 0
    Stack Size: 213
    Flags: 0x00000040 (CO_NOFREE)
 
 
.....и тут очень много всего понятное дело....
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.10.2017, 22:49
Ответы с готовыми решениями:

Реверс-инжиниринг
привет мужики=))) с НГ вас:friends: вот возник такой вопрос мне тут в деревне делать нечего ...

Реверс-инжиниринг
Доброго времени суток, уважаемые винградовцы. решил хакнуть одну игру на андроиде, а точней понять...

Реверс-инжиниринг шины CAN
Приветствую У меня есть лог файл, состоящий из строк вида: где: RX - индикатор принятого...

Реверс инжиниринг разума
Здравствуйте. Я недавно начал обратную разработку разума. Как я понимаю, пока ещё нет рабочей...

Реверс-инжиниринг модифицрованной CRC
Здравствуйте. Есть некая величина А (слово) также есть константа X и некая переменная D -...

7
Эксперт Python
5418 / 3842 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1
16.10.2017, 23:07 2
А декомпилируете все каким питоном? Там же байткод в разных версиях не совпадает.
0
15 / 13 / 4
Регистрация: 23.08.2017
Сообщений: 187
16.10.2017, 23:10  [ТС] 3
Python 2.7.10
Вот это меня смущает при дизассемблировании
>>> Object Name: <pjorion_protected>
Почитала про pjorion, в нем есть какая-то защита кода. Но в теории же это не C++ где вот совсем можно усложнить задачу.
0
Эксперт Python
5418 / 3842 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1
16.10.2017, 23:17 4
А то что ваш .pyc модуль именно на питоне 2.7 уверены?
Впрочем, uncompyle6 судя по документации, должен почти любой байткод читать.
Может стоит авторам декомпилятора отписаться?
На форуме таким тем раз-два и обчелся - мало кому это нужно...
0
15 / 13 / 4
Регистрация: 23.08.2017
Сообщений: 187
16.10.2017, 23:22  [ТС] 5
.pyc на 2.7 точно, он даже запускается если ввести python file.pyc
Авторам декомпилятора ... даже и не знаю
0
Эксперт Python
5418 / 3842 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1
16.10.2017, 23:23 6
На гитхабе uncompyle6 есть раздел Known Bugs/Restrictions. Возможно, ваш .pyc модуль попадает как раз в 2% проблемных модулей.
0
15 / 13 / 4
Регистрация: 23.08.2017
Сообщений: 187
16.10.2017, 23:30  [ТС] 7
Он защищен, проблема именно в этом а не в декомпиляторе. Пробую сейчас с bytecode_simplifier, вроде что-то происходит интересное. Если получиться я отпишу а пока вопрос актуален. Спасибо.
0
15 / 13 / 4
Регистрация: 23.08.2017
Сообщений: 187
18.10.2017, 02:41  [ТС] 8
Победила

PowerShell
1
2
INFO:__main__:Writing deobfuscated code object to disk
INFO:__main__:Success
0
18.10.2017, 02:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2017, 02:41
Помогаю со студенческими работами здесь

Реверс-инжиниринг аудио-файлов
у меня есть набор аудио-файлов(в этом я уверен) с загадочным расширением &quot;.his&quot;, скорее всего этот...

Реверс инжиниринг apk файла
Здравствуйте, недавно начал заниматься реверс инжинирингом apk файлов в целях их модификации....

Реверс-инжиниринг сессионного токена
Кто сможет прояснить, объяснить, что может быть зашито в этом токене (для примера приведены...

Что-то пошло не так?
Такая ситуация есть из файла функций вызываю файл. Файл функций лежит в Test/app/func/func.php....

что-то пошло не так
здравствуйте, что-то браузеры лагают,опера вовсе не запускается, а гугл лагает во время...

Что-то пошло не так(
Подскажите пожалуйста! На странице регистрации, появилась надпись &quot;На указанный в форме e-mail...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru