mfc如何删除lineto画的_如何在Windows上重现macOS上的取证技巧

18502e91dcc44c72aa120e83281314dd.gif

当你执行Apple iCloud提取时,虽然无所谓是在Windows还是在macOS平台。但仍然有些差异,因为macOS具有更好或本机iCloud支持。虽然逻辑提取也可以在任何平台上完成,但是,当使用Elcomsoft iOS Forensic Toolkit进行越狱设备的完整文件系统提取时,强烈建议使用macOS。但是,如果你擅长于使用Windows,那么接下来我们就会给你讲解一些关于如何在Windows上重现macOS上的取证技巧。

84343f515d4fa151cd35abd88e882c3a.png启动工具包

首先,即使你以管理员身份登录系统,也必须以管理员权限启动工具包。这个过程非常简单:只需在资源管理器中找到主程序脚本(Toolkit.cmd),右键单击它,然后选择“以管理员身份运行”。

eb00da7612c6315e812cf77c8f61cd55.png

插入工具包中提供的USB加密狗,将打开新的控制台窗口。此时,你会看到如下结果:

a960cac6592f0067e7ed3a8c984c0d4f.png

在此屏幕上按ENTER键后,工具箱会提示输入SSH端口号进行连接。如果你只使用(高级)逻辑获取,请按ENTER。如果你的设备是64位的,运行iOS 10,并安装了Meridian越狱功能,请输入2222并请按ENTER。对于所有其他iOS版本和越狱(顺便说一句,我们建议在iOS 10中使用doubleH3lix) ,然后再使用默认值22。

84343f515d4fa151cd35abd88e882c3a.png建立连接通道

要从越狱设备提取数据,我们首先建立连接。确认端口号后,应该会打开另一个窗口:

fcc619bd5a8970d479bd57638496c952.png

如果没有,就说明出了问题。此时你要检测为什么无法建立连接在本例中,工具包打印了错误消息并退出。不过仍然有一种简单的方法可以进行验证,打开命令提示符,转到工具包的win32文件夹并运行以下命令:

itunnel_mux.exe --iport N --lport 3022

其中N是端口号:Meridian的端口号为2222,其他所有越狱的端口号为22,或者如果你根本不使用越狱设备。

可能出现的一个错误是:

[ERROR] Error 0x36B1 (14001): 'Unknown error'

[FATAL] Could not load .\iTunesMobileDevice.dll: ABORTING

在本示例中,只需安装Microsoft Visual C ++ 2005 Service Pack 1就可再发行组件包MFC安全更新。

关于此连接通道窗口的另一个重要问题是:你不应该在工具箱工作时关闭它,同时,当你退出工具包时(通过按菜单中的“ X”,或关闭其主窗口,或按Ctrl-C组合键),此窗口仍然保持打开状态。那时,你应该在使用任何其他设备之前手动关闭它。

84343f515d4fa151cd35abd88e882c3a.png使用文件系统副本

我不会在这里介绍有关文件系统提取的所有详细信息,感兴趣请了解相关的博客。但是,还有一些其他特定于Windows取证的技巧是和macos不一样的。此时,你将获得完整的文件系统映像。

接下来,对于32位设备(现在仅旧版工具包支持),我们能够通过创建逐位映像来执行实际的物理提取。这样的映像(DMG)更容易处理,因为你可以将其简单地安装到系统上。本机安装在macOS上,或者使用Windows上的第三方软件。

对于64位设备,我们只能提取完整的系统副本,包括你无法通过逻辑提取获得的文件,即iTunes备份。因此,数据实际上与实际的物理获取是一样的(你可能会想到未分配的空间,但是请记住:对于iOS,从技术上讲,根本不可能从中恢复任何内容)。其中的主要区别在于:文件系统以.tar (tarball)压缩文件的形式提取。使用.tar而不是更流行的.zip有很多原因,但是现在我们将集中讨论如何处理这个压缩文件。

第一种也是最明显的方法是:只需使用取证工具或你选择的方式将其打开。在此,我们建议使用Elcomsoft Phone Viewer,它速度极快,而且会处理最关键的数据,并以非常方便和直观的方式呈现,而不是像其他软件包中那样庞大的复杂表。如果愿意,你还可以将其导出到Excel以进行进一步处理,但是也存在其他一些程序(其中大多数都支持.tar文件)。

但是,你可能需要手动分析数据,因为市场上没有适用于所有类型文件的程序(iOS设备上通常有成千上万个文件)。

首先,即使解压后也要始终保留原始的.tar文件。使用解压缩的数据时,你可能会不小心删除某些内容、更改文件属性或修改某些SQLite数据库。而仅仅打开它就会丢失一些重要的数据,因为随附的WAL(预写日志)将被合并。

至于解压缩本身,还有一个技巧你必须要知道。

首先,使用管理员权限运行.tar解压缩软件(无论是命令行tar本身还是WinRAR),就像你对工具包本身进行的操作那样。否则,symbilic链接(在iOS上广泛使用)将无法恢复。你不会丢失任何数据,但是使用symlink,数据更易于浏览。是的,Windows(甚至Windows 7)也支持symlink。

其次,最好将其解压缩到使用APFS格式化的磁盘上——这是大多数设备上使用的本机Apple文件系统。不过,你必须通过Paragon软件为Windows安装类似APFS的软件。否则(如果你只有NTFS驱动器),由于在文件名中使用了一些特殊字符,一些文件将不会被提取。

最后可能是最重要的一步,Windows在默认情况下对文件或路径名有260个字符的限制,因此,.tar中的许多文件根本不会被提取。这听起来很疯狂,但确实如此。至于解决方法?启用更长的文件名,可以从Windows 10周年更新开始,这可以通过组策略或手动编辑注册表来完成。

84343f515d4fa151cd35abd88e882c3a.png总结

首先,我们还是建议使用macOS进行数据提取,因为它更快、更简单(不需要连接通道窗口之类的东西)、更可靠等优点。不过,由于某些原因,Windows仍然是主要的取证平台,这可能是因为大多数取证公司没有macOS版本的软件。

注:本文参考自blog.elcomsoft.com

7b502e19c8907e7813a8cb855418eefd.png

3a6b68bbcae717c42ab4cef71082a656.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
种子填充算法,自己写的,希望对大家有用 // 种子法View.cpp : implementation of the CMyView class // #include "stdafx.h" #include "种子法.h" #include "种子法Doc.h" #include "种子法View.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif struct point { int x; int y; }p[10]={200,100,100,200,150,100,200,300,250,100,300,200,-1}; point stack[1024000]; int top; void push(int x,int y) { if(top>1024000)exit(0); stack[top].x=x; stack[top].y=y; top++; } void pop(int &x,int &y) { if(top==0) exit(0); x=stack[top-1].x; y=stack[top-1].y; top--; } void gettop(int &x,int &y) { if(top==0) exit(0); x=stack[top-1].x; y=stack[top-1].y; } ///////////////////////////////////////////////////////////////////////////// // CMyView IMPLEMENT_DYNCREATE(CMyView, CView) BEGIN_MESSAGE_MAP(CMyView, CView) //{{AFX_MSG_MAP(CMyView) ON_WM_LBUTTONDOWN() //}}AFX_MSG_MAP // Standard printing commands ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CMyView construction/destruction CMyView::CMyView() { // TODO: add construction code here } CMyView::~CMyView() { } BOOL CMyView::PreCreateWindow(CREATESTRUCT& cs) { // TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs return CView::PreCreateWindow(cs); } ///////////////////////////////////////////////////////////////////////////// // CMyView drawing void CMyView::OnLButtonDown(UINT nFlags, CPoint point) { int x,y; CClientDC dc(this); // TODO: Add your message handler code here and/or call default origin=point; push(origin.x,origin.y); while(top!=0) { pop(x,y); if(dc.GetPixel(x-1,y)!=0)//不等于边界色 { dc.SetPixel(x-1,y,0);//染成黑色 push(x-1,y); //加入栈 } if(dc.GetPixel(x+1,y)!=0) { dc.SetPixel(x+1,y,0); push(x+1,y); } if(dc.GetPixel(x,y-1)!=0) { dc.SetPixel(x,y-1,0); push(x,y-1); } if(dc.GetPixel(x,y+1)!=0) { dc.SetPixel(x,y+1,0); push(x,y+1); } } CView::OnLButtonDown(nFlags, point); } void CMyView::OnDraw(CDC* pDC) { CClientDC dc(this); dc.TextOut(1,5,"请为每个区选种子,务必在图形内"); CMyDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); int i; for(i=0;p[i+1].x!=-1;i++) { dc.MoveTo(p[i].x,p[i].y); dc.LineTo(p[i+1].x,p[i+1].y); } dc.MoveTo(p[i].x,p[i].y); dc.LineTo(p[0].x,p[0].y); // TODO: add draw code for native data here } ///////////////////////////////////////////////////////////////////////////// // CMyView printing BOOL CMyView::OnPreparePrinting(CPrintInfo* pInfo) { // default preparation return DoPreparePrinting(pInfo); } void CMyView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) { // TODO: add extra initialization before printing } void CMyView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) { // TODO: add cleanup after printing } ///////////////////////////////////////////////////////////////////////////// // CMyView diagnostics #ifdef _DEBUG void CMyView::AssertValid() const { CView::AssertValid(); } void CMyView::Dump(CDumpContext& dc) const { CView::Dump(dc); } CMyDoc* CMyView::GetDocument() // non-debug version is inline { ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc))); return (CMyDoc*)m_pDocument; } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CMyView message handlers

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值