最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用pyinstaller逆向.pyc文件

 更新時間:2019年12月20日 16:11:08   作者:buzhifou01  
這篇文章主要介紹了使用pyinstaller逆向.pyc文件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

搭建python環(huán)境

1.百度搜索python3.7下載,找到官網(wǎng)下載安裝包,運行安裝包并配置環(huán)境變量。

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

2.這里一定要安裝python3.7版本的,我之前安裝python3.5,不能正常使用pyinstalller庫。

在這里插入圖片描述

3.能顯示一下界面說明安裝成功

在這里插入圖片描述

安裝pyintaller

1.進入scripts腳本目錄,執(zhí)行pip install pyinstaller,不過我這里已經(jīng)下好了。

在這里插入圖片描述

2.使用archive_viewer.py工具,提取出CM.pyc文件,接著open PYZ-00.pyz壓縮包,提取出壓縮包中的兩個.pyc文件。

![在這里插入圖片描述](https://img-blog.csdnimg.cn/20191219162816507.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNTI2MTQ0,size_16,color_FFFFFF,t_70

在這里插入圖片描述

在這里插入圖片描述

3.編輯三個.pyc文件,就是PyInstaller在打包.pyc時,會把.pyc的magic和時間戳去掉,所以需要手工修復,在文件的頭部插入03 F3 0D 0A 74 a7cf 5c。

在這里插入圖片描述

4.用pip install uncompyle6命令語句, 下載uncompyle6 工具,接著反匯編

在這里插入圖片描述

CM.py代碼如下:

# uncompyle6 version 3.6.0
# Python bytecode 2.7 (62211)
# Decompiled from: Python 3.7.4 (tags/v3.7.4:e09359112e, Jul 8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)]
# Embedded file name: b'D:\\\xd7\xca\xc1\xcf\xce\xc4\xbc\xfe\\a\xd1\xd0\xbe\xbf\xb7\xbd\xcf\xf2\xb2\xce\xbf\xbc\xd7\xca\xc1\xcf\\3-\xbc\xc6\xcb\xe3\xbb\xfa\xc8\xa1\xd6\xa4(\xd6\xd8\xb5\xe3)\\\xbf\xf2\xbc\xdc\\volatility\xce\xc4\xbc\xfe\\volatility-master\\vol.py'
# Compiled at: 2018-12-07 00:22:54
"""
@author:    AAron Walters
@license:   GNU General Public License 2.0
@contact:   awalters@4tphi.net
@organization: Volatility Foundation
"""
import sys
if sys.version_info < (2, 6, 0):
  sys.stderr.write('Volatility requires python version 2.6, please upgrade your python installation.')
  sys.exit(1)
try:
  import psyco
except ImportError:
  pass

if False:
  import yara
import textwrap, volatility.conf as conf
config = conf.ConfObject()
import volatility.constants as constants, volatility.registry as registry, volatility.exceptions as exceptions, volatility.obj as obj, volatility.debug as debug, volatility.addrspace as addrspace, volatility.commands as commands, volatility.scan as scan
config.add_option('INFO', default=None, action='store_true', cache_invalidator=False, help='Print information about all registered objects')

def list_plugins():
  result = '\n\tSupported Plugin Commands:\n\n'
  cmds = registry.get_plugin_classes(commands.Command, lower=True)
  profs = registry.get_plugin_classes(obj.Profile)
  if config.PROFILE == None:
    config.update('PROFILE', 'WinXPSP2x86')
  assert not config.PROFILE not in profs, 'Invalid profile ' + config.PROFILE + ' selected'
  profile = profs[config.PROFILE]()
  wrongprofile = ''
  for cmdname in sorted(cmds):
    command = cmds[cmdname]
    helpline = command.help() or ''
    for line in helpline.splitlines():
      if line:
        helpline = line
        break

    if command.is_valid_profile(profile):
      result += ('\t\t{0:15}\t{1}\n').format(cmdname, helpline)
    else:
      wrongprofile += ('\t\t{0:15}\t{1}\n').format(cmdname, helpline)

  if wrongprofile and config.VERBOSE:
    result += '\n\tPlugins requiring a different profile:\n\n'
    result += wrongprofile
  return result


def command_help(command):
  outputs = []
  for item in dir(command):
    if item.startswith('render_'):
      outputs.append(item.split('render_', 1)[(-1)])

  outputopts = '\nModule Output Options: ' + ('{0}\n').format(('{0}').format(('\n').join([(', ').join(o for o in sorted(outputs))])))
  result = textwrap.dedent(('\n  ---------------------------------\n  Module {0}\n  ---------------------------------\n').format(command.__class__.__name__))
  return outputopts + result + command.help() + '\n\n'


def print_info():
  """ Returns the results """
  categories = {addrspace.BaseAddressSpace: 'Address Spaces', commands.Command: 'Plugins', 
    obj.Profile: 'Profiles', 
    scan.ScannerCheck: 'Scanner Checks'}
  for c, n in sorted(categories.items()):
    lower = c == commands.Command
    plugins = registry.get_plugin_classes(c, lower=lower)
    print '\n'
    print ('{0}').format(n)
    print '-' * len(n)
    result = []
    max_length = 0
    for clsname, cls in sorted(plugins.items()):
      try:
        doc = cls.__doc__.strip().splitlines()[0]
      except AttributeError:
        doc = 'No docs'

      result.append((clsname, doc))
      max_length = max(len(clsname), max_length)

    for name, doc in result:
      print ('{0:{2}} - {1:15}').format(name, doc, max_length)


def main():
  sys.stderr.write(('Volatility Foundation Volatility Framework {0}\n').format(constants.VERSION))
  sys.stderr.flush()
  debug.setup()
  registry.PluginImporter()
  registry.register_global_options(config, addrspace.BaseAddressSpace)
  registry.register_global_options(config, commands.Command)
  if config.INFO:
    print_info()
    sys.exit(0)
  config.parse_options(False)
  debug.setup(config.DEBUG)
  module = None
  cmds = registry.get_plugin_classes(commands.Command, lower=True)
  for m in config.args:
    if m in cmds.keys():
      module = m
      break

  if not module:
    config.parse_options()
    debug.error('You must specify something to do (try -h)')
  try:
    if module in cmds.keys():
      command = cmds[module](config)
      config.set_help_hook(obj.Curry(command_help, command))
      config.parse_options()
      if not config.LOCATION:
        debug.error('Please specify a location (-l) or filename (-f)')
      command.execute()
  except exceptions.VolatilityException as e:
    print e

  return


if __name__ == '__main__':
  config.set_usage(usage='Volatility - A memory forensics analysis platform.')
  config.add_help_hook(list_plugins)
  try:
    main()
  except Exception as ex:
    if config.DEBUG:
      debug.post_mortem()
    else:
      raise
  except KeyboardInterrupt:
    print 'Interrupted'
# okay decompiling CM.pyc

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python接口自動化淺析Token應(yīng)用原理

    Python接口自動化淺析Token應(yīng)用原理

    本文主要介紹token基本概念、運行原理及在自動化中接口如何攜帶token進行訪問,附含源碼,內(nèi)容非常詳細易理解,有需要的朋友可以參考下
    2021-08-08
  • CentOS 7 安裝python3.7.1的方法及注意事項

    CentOS 7 安裝python3.7.1的方法及注意事項

    這篇文章主要介紹了CentOS 7 安裝python3.7.1的方法,文中給大家提到了注意事項,需要的朋友可以參考下
    2018-11-11
  • Python urlopen()函數(shù) 示例分享

    Python urlopen()函數(shù) 示例分享

    urlopen(url, data=None, proxies=None) 即創(chuàng)建一個表示遠程url的類文件對象,然后像本地文件一樣操作這個類文件對象來獲取遠程數(shù)據(jù)。參數(shù)url表示遠程數(shù)據(jù)的路徑,一般是網(wǎng)址;參數(shù)data表示以post方式提交到url的數(shù)據(jù);參數(shù)proxies用于設(shè)置代理。
    2014-06-06
  • Python模擬伯努利試驗和二項分布代碼實例

    Python模擬伯努利試驗和二項分布代碼實例

    這篇文章主要介紹了Python模擬伯努利試驗和二項分布代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • Python中的pickle模塊解析

    Python中的pickle模塊解析

    這篇文章主要介紹了Python中的pickle模塊解析,pickle 模塊和 json 模塊很像,都有序列化的功能,不過 pickle 模塊更加局限一些只能對 python 使用,它可以對一個 python 對象結(jié)構(gòu)的二進制序列化和反序列化,需要的朋友可以參考下
    2023-09-09
  • django自帶的server 讓外網(wǎng)主機訪問方法

    django自帶的server 讓外網(wǎng)主機訪問方法

    今天小編就為大家分享一篇django自帶的server 讓外網(wǎng)主機訪問方法。具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 在matplotlib中改變figure的布局和大小實例

    在matplotlib中改變figure的布局和大小實例

    這篇文章主要介紹了在matplotlib中改變figure的布局和大小實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • pandas將list數(shù)據(jù)拆分成行或列的實現(xiàn)

    pandas將list數(shù)據(jù)拆分成行或列的實現(xiàn)

    這篇文章主要介紹了pandas將list數(shù)據(jù)拆分成行或列的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • Python打包方法Pyinstaller的使用

    Python打包方法Pyinstaller的使用

    在我們完成一個Python項目或一個程序時,希望將Python的py文件打包成在Windows系統(tǒng)下直接可以運行的exe程序。這篇文章主要介紹了Python打包方法Pyinstaller的使用,感興趣的小伙伴們可以參考一下
    2018-10-10
  • Python實現(xiàn)Window路徑格式轉(zhuǎn)換為Linux路徑格式的代碼

    Python實現(xiàn)Window路徑格式轉(zhuǎn)換為Linux路徑格式的代碼

    這篇文章主要介紹了Python實現(xiàn)Window路徑格式轉(zhuǎn)換為Linux路徑格式的方法,文中通過代碼示例講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-07-07

最新評論

阿拉善右旗| 连城县| 永城市| 扎囊县| 台东市| 霍邱县| 闻喜县| 玛纳斯县| 通化县| 宁晋县| 临夏市| 封丘县| 凤城市| 三穗县| 青阳县| 兰州市| 龙岩市| 渭源县| 抚顺县| 连州市| 建平县| 高要市| 元氏县| 泰州市| 沙洋县| 英吉沙县| 邳州市| 岳阳市| 子洲县| 邵武市| 雅江县| 伽师县| 平凉市| 肃北| 镇平县| 巴楚县| 山丹县| 合水县| 澄江县| 平凉市| 广宁县|