From 47dbc76322eb47e86f191ee7ffcfdfa32823a996 Mon Sep 17 00:00:00 2001 From: 0ssigeno Date: Mon, 30 Mar 2020 13:14:09 +0200 Subject: [PATCH] Updated path as requested. Removed params from __init__ --- MANIFEST.in | 3 ++- examples/windows_trace.py | 2 +- qiling/core.py | 12 ++++++++---- qiling/os/windows/configuration.cfg | 14 ++++++++++++++ qiling/os/windows/x86.py | 6 ++---- 5 files changed, 27 insertions(+), 10 deletions(-) create mode 100644 qiling/os/windows/configuration.cfg diff --git a/MANIFEST.in b/MANIFEST.in index 012baa58..e8887b77 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1 +1,2 @@ -recursive-include qiling/gdbserver/xml * \ No newline at end of file +recursive-include qiling/gdbserver/xml * +include qiling/os/windows/configuration.cfg \ No newline at end of file diff --git a/examples/windows_trace.py b/examples/windows_trace.py index 308f1fd4..64b88807 100644 --- a/examples/windows_trace.py +++ b/examples/windows_trace.py @@ -113,7 +113,7 @@ if __name__ == "__main__": parser.add_argument("-d", "--dump", help="Directory to dump memory regions to", default="dump") parser.add_argument("-a", "--automatize_input", help="Automatize writes on standard input", default=False) parser.add_argument("-c ", "--config", help="Path of configuration file", - default="rootfs/x86_windows/configuration.cfg") + default="qiling/os/windows/configuration.cfg") parser.add_argument('input', nargs='*') args = parser.parse_args() for path in args.input: diff --git a/qiling/core.py b/qiling/core.py index 4f2ceabd..bce15737 100644 --- a/qiling/core.py +++ b/qiling/core.py @@ -97,8 +97,6 @@ class Qiling: stack_address=0, stack_size=0, interp_base=0, - automatize_input=False, - config=None ): self.output = output @@ -125,8 +123,8 @@ class Qiling: self.global_thread_id = 0 self.gdb = None self.gdbsession = None - self.automatize_input = automatize_input - self.config = config + self.automatize_input = False + self.config = os.path.dirname(os.path.abspath(__file__)) + "/os/windows/configuration.cfg" if self.ostype and type(self.ostype) == str: self.ostype = self.ostype.lower() @@ -746,3 +744,9 @@ class Qiling: except: self.nprint("gdb> Error: Not able to initialize GDBServer\n") raise + + def automatize_input_value(self, automatize): + self.automatize_input = automatize + + def config_file(self, path): + self.config = path diff --git a/qiling/os/windows/configuration.cfg b/qiling/os/windows/configuration.cfg new file mode 100644 index 00000000..6e7252bf --- /dev/null +++ b/qiling/os/windows/configuration.cfg @@ -0,0 +1,14 @@ +[SYSTEM] +# Major Minor ProductType +os = 1001 +language = 1093 +VER_SERVICEPACKMAJOR = 0 + + +[USER] +user = Qiling +language = 1093 +[PATHS] +windir = "C:\\Windows" +appdata = "C:\\Users\\Qiling\\AppData" +temp = "C:\\Windows\\Temp" \ No newline at end of file diff --git a/qiling/os/windows/x86.py b/qiling/os/windows/x86.py index 48c5c9de..d23341e9 100644 --- a/qiling/os/windows/x86.py +++ b/qiling/os/windows/x86.py @@ -163,14 +163,12 @@ def loader_shellcode(ql): def init_configuration(ql): config = configparser.ConfigParser() - if ql.config is None: - ql.config = os.path.join(ql.rootfs, "configuration.cfg") config.read(ql.config) ql.dprint(2, "[+] Added configuration file") for section in config.sections(): - ql.dprint(2, "[-] Section: %s" % section) + ql.dprint(2, "[+] Section: %s" % section) for key in config[section]: - ql.dprint(2, key) + ql.dprint(2, "[-] %s %s" % (key, config[section][key]) ) return config