0

也许有人可以帮助我使用 x-ways x-tensions API (Python) 创建一个容器。我在网上找不到任何帮助。我是使用 Python(面向对象)编写脚本的新手。我只能创建简单的函数以供重用。

HANDLE XWF_CreateContainer(
   LPWSTR lpFileName,
   DWORD nFlags,
   LPVOID pReserved
);

我已经试过了

def XWF_CreateContainer('D:\\test.ctr'):
    return

但什么也没有发生。

编辑:

import OutputRedirector
import XWF

# The first function that is called when a Python X-Tension is called
def XT_Init(nVersion, nFlags, hMainWnd, lpReserved):
   OutputRedirector.install()
   print('Hello World')
   return 

# Called just before execution of the Python script concludes
def XT_Done(lpReserved):
   print('Goodbye World')
   return 

def XT_About(hParentWnd, lpReserved):
   print('What I am about? A friendly greeter program!')
   OutputRedirector.install()
   #XWF.CreateContainer('D:\\test.ctr')
   return

#def XWF_CreateContainer(lpFileName, nFlags, pReserved):
   #print('testing CreateContainer')
   #help(nFlags)
   #return

def XWF_CreateContainer('D:\\test.ctr', nFlags, pReserved):
   print('testing CreateContainer')
   help(nFlags)
   return

def XT_Prepare(hVolume, hEvidence, nOpType, lpReserved):
   return

def XT_Finalize(hVolume, hEvidence, nOpType, lpReserved):
   return

def XT_ProcessSearchHit(iSize, nItemID, nRelOfs, nAbsOfs, lpOptionalHitPtr, lpSearchTermID, nLength, nCodePage, nFlags):
   return

def XT_ProcessItem(nItem, reserved):
   return

def XT_ProcessItemEx(nItem, hItem, reserved):
   return

我修改了“Greeter.py”示例文件。

尝试了不同的方法:

XWF.CreateContainer -> AttributeError : 'module' 对象没有属性 'CreateContainer' def XWF_CreateContainer('D:\test.ctr'... -> 无法执行 C:\x-ways Forensics v17.5 Beta 7\Greeter .py:导入问候语

我在具有管理员权限的 64 位 Windows 7 Professional 下使用 32 位 x-ways Forensics v17.4 SR-6/v17.5 Beta 7。

def XT_About(hParentWnd, lpReserved):
   print('What I am about? A friendly greeter program!')
   XWF_CreateContainer('D:\\test.ctr')
   return

def XWF_CreateContainer(lpFileName):
   print('testing CreateContainer')
   return

给我“ testing CreateContainer ”作为输出,但文件 D:\test.ctr 没有创建。

4

1 回答 1

0

更新:在您更新的代码中,错误表明这不是一个有效的函数。这可能是几个不起作用的方法之一。

X-Ways API 在他们的网站上有很好的记录。你绝对应该先通读一遍。此外,您需要了解如何在面向对象的 Python 中编写代码,或者先停下来学习。

接下来,您需要下载与示例脚本捆绑在一起的 Python API DLL。诚然,并非所有示例脚本都运行良好,因此它们并非都是好的教学模型(您会发现我在自己的脚本中利用了未记录的函数)。启发式方法将使这一点变得清晰(反复试验),这就是我学到的。请注意,大多数脚本都导入 OutputRedirector,这意味着您需要将该文件与脚本放在同一目录中(他们编写此脚本是为了简化控制台输出到 X-Ways 中的消息窗口)。

然后你应该阅读这个捆绑包中包含的 README 文件,它解释了很多关于 Python API 的内容(我不会解释所有的基础知识,因为它已经做得很好了)。

一旦您将正确的 DLL 添加到软件中的 X-Tensions 列表中(如 README 文件中所述)并包含所有必需的功能,我建议您从一个简单的测试脚本开始,以确保它正常工作。包含在 DLL 中的 Greeter.py 脚本是一个很好的测试脚本。使用 Skeleton.py 作为新脚本的模板。您必须在该基本脚本中包含所有函数。

除此之外,如果没有看到您尝试过的完整代码、知道您使用的 X-Ways 版本(确保它是 32 位)、您拥有的 Windows 版本、您已经采取/尝试过的步骤、什么您收到的确切输出等。如果您阅读了 X-Ways 提供的所有文档并按照他们的说明进行操作,然后使用他们预先编写的脚本进行测试,您应该不会遇到什么麻烦。但是,我怀疑您没有 RTFM ;)

于 2014-01-22T03:31:58.993 回答