首页 > 解决方案 > 找不到应该在我正在运行的 docker 容器中的文件

问题描述

我正在使用逆向工程工具 angr 做一些工作,我正在尝试在容器中运行它。我当前的目录如下所示:

ask@Garsy:~/Notes/ethHack/wetransfer-85179d/Export$ ls
angry.py                 impossible_password_location.csv  report.md
impossible_password.bin  impossible_password_strings.txt   test.txt

然后我运行一个特定的 angr 图像,如下所示:

ask@Garsy:~/Notes/ethHack/wetransfer-85179d/Export$ sudo docker run -it --rm -v $pwd:/local angr/angr

我认为使用$pwd:/local应该可以让我访问容器内之前显示的文件(遵循 [this][1] 指南 [5:40])。

我运行容器,并尝试编写一些 python:

(angr) angr@38b067fffc2d:~$ ipython3
Python 3.8.5 (default, Jan 27 2021, 15:41:15) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.22.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import angr

In [2]: angr.Project("/impossible_password.bin")
---------------------------------------------------------------------------
Exception                                 Traceback (most recent call last)
<ipython-input-2-3f794a899665> in <module>
----> 1 angr.Project("/impossible_password.bin")

~/angr-dev/angr/angr/project.py in __init__(self, thing, default_analysis_mode, ignore_functions, use_sim_procedures, exclude_sim_procedures_func, exclude_sim_procedures_list, arch, simos, engine, load_options, translation_cache, support_selfmodifying_code, store_function, load_function, analyses_preset, concrete_target, **kwargs)
    124             self.loader = cle.Loader(thing, **load_options)
    125         elif not isinstance(thing, str) or not os.path.exists(thing) or not os.path.isfile(thing):
--> 126             raise Exception("Not a valid binary file: %s" % repr(thing))
    127         else:
    128             # use angr's loader, provided by cle

Exception: Not a valid binary file: '/impossible_password.bin'

在哪里找不到文件。也一样local/impossible_password.bin"。启动容器时,如何使当前目录的文件可用?[1]:https ://www.youtube.com/watch?v=9dQFM5O4KFk

标签: dockerangr

解决方案


推荐阅读