小编Mic*_*ick的帖子

计算MD5哈希的CPU密集程度是否比SHA系列功能少?

在"标准"笔记本电脑x86硬件上计算MD5散列的CPU密集程度是否比SHA-1或SHA-2少?我对一般信息感兴趣,不是特定于某个芯片.

更新: 在我的情况下,我有兴趣计算文件的哈希值.如果文件大小很重要,我们假设它是300K.

hash md5 cryptography sha1 sha2

110
推荐指数
4
解决办法
10万
查看次数

我为什么要关心Delphi中的RTTI?

我听说过很多关于Delphi 2010新的/改进的RTTI功能,但我必须承认我的无知......我不明白.我知道每个版本的Delphi都支持RTTI ......我知道RTTI(运行时类型信息)允许我在应用程序运行时访问类型信息.

但究竟是什么意思呢?Delphi 2010的RTTI支持与.NET中的反射相同吗?

有人可以解释为什么RTTI有用吗?假装我是你的尖头发老板,帮助我理解为什么RTTI很酷.我如何在实际应用程序中使用它?

delphi reflection rtti delphi-2010

42
推荐指数
3
解决办法
8254
查看次数

使用UPX压缩Windows可执行文件有什么缺点吗?

我之前使用过UPX来减少我的Windows可执行文件的大小,但我必须承认我对这可能产生的任何负面影响都很天真.所有这些包装/拆包的缺点是什么?

是否存在任何人建议NOT UPX-ing可执行文件的情况(例如,在编写DLL,Windows服务或定位Vista或Win7时)?我在Delphi中编写了大部分代码,但我也使用UPX来压缩C/C++可执行文件.

另外,我没有尝试使用UPX来保护我的exe不被反汇编程序,只是为了减少可执行文件的大小并防止粗略的篡改.

c++ compression delphi winapi upx

37
推荐指数
5
解决办法
2万
查看次数

使用Delphi安装哪些组件和IDE加载项?

在干净安装Delphi之后,您确定要安装哪些组件和IDE加载项?什么是你的Delphi"装备"?这是我在干净安装后安装的内容:

  1. Delphi 2007/Delphi 2010
  2. JCL/JVCL - JEDI代码库和JEDI可视代码库(600多个组件)
  3. JWA/JWSCL - JEDI API库和安全代码库
  4. GExperts - GExperts是一套免费的工具,旨在通过向IDE添加多个功能来提高Delphi和C++ Builder程序员的工作效率.(现在包括以前的实验代码格式化程序.)
  5. CnWizards - 提供IDE增强功能以​​提高开发效率
  6. Virtual TreeView - Virtual Treeview是一个从头开始构建的树视图控件.经过5年多的发展,它成为当今最灵活,最先进的树木控制之一.
  7. MustangPeak组件(EasyList视图,虚拟ShellTools等) - EasyListview是一个不依赖于Microsoft Listview控件但具有Microsoft最新版本的所有功能的控件.还包括'Explorer.exe'之类的shell组件.
  8. Synapse轻量级网络组件 - 包含简单的低级非可视对象,可轻松编程而不会出现问题.(不需要多线程同步,不需要Windows消息处理,...)非常适合命令行实用程序,可视化项目,NT服务
  9. EurekaLog - EurekaLog是Delphi和C++ Builder开发人员的完整错误解决工具,它使您的应用程序能够直接在最终用户PC上捕获每个异常和内存泄漏,生成调用堆栈的详细日志(带文件,类,方法和行号),可选择通过电子邮件或Web错误跟踪器向您发送每个日志条目的副本.
  10. DelphiSpeedUp - DelphiSpeedUp是Delphi和C++ Builder的IDE插件.它提高了IDE的启动速度,并提高了整个IDE的总体速度.
  11. DDevExtensions - DDevExtensions通过添加一些新的生产力功能扩展了Delphi/C++ Builder IDE.
  12. IDE修订包 - IDE修订包安装是一个DLL-Expert,可在运行时修复以下RAD Studio 2007错误.所有更改都在内存中完成.磁盘上没有文件被修改.
  13. TPerlRegex - Delphi的正则表达式库

其他Delphi开发人员怎么样?

delphi delphi-2009 delphi-2010

36
推荐指数
3
解决办法
9747
查看次数

检测反射DLL注入

在过去几年中,恶意软件(以及Metasploit的计量器有效载荷等一些笔测试工具)已经开始使用反射DLL注入(PDF)将DLL加载到进程的内存中.好处是文件永远不会写入磁盘并且难以检测.我见过的很多例子都是基于Joachim Bauch的工作.

然而,在DEF CON 20中,Andrew King证明他能够使用反射DLL注入来检测DLL的注入.他的演讲被称为" 检测反射注射 ".不幸的是,他没有发布源代码(他当然没有义务这样做).

更新:显然我错过了,但几年前安德鲁做了这项工作的开源:https://github.com/aking1012/dc20

此外,一个名为" Antimeter " 的工具可以在使用反射dll注入加载时检测meterpreter引擎.再一次,闭源.

据我所知,Andrew King的工具和Antimeter都是用Python编写的,并使用pydbg/pydasm来枚举运行可执行文件的内存.

有没有人有他们愿意分享的一些通用源代码(在Python,C,Delphi或其他方面),演示如何检测反射DLL注入?有一些内存取证工具可以分析内存转储并找到它,但我希望在正在运行的系统上执行一个应用程序(比如antimeter),并找到反射注入DLL的进程.

如果您有兴趣了解反射DLL注入的工作原理,可以使用Delphi编写的一些开源代码来说明如何执行此操作.

更新:我测试过,我可以反射性地注入没有管理员权限的DLL(以及作为普通用户),但当然作为用户我只能注入运行在相同完整性级别(以及我的会话中)的进程......但是仍然涵盖Office套件,Internet Explorer等应用程序.

c python windows delphi winapi

22
推荐指数
1
解决办法
4910
查看次数

在主线程和子线程之间使用TThread的"同步"或使用窗口消息进行IPC更好吗?

我有一个用Delphi 2007编写的相当简单的多线程VCL gui应用程序.我在多个子线程(最多16个并发)中进行一些处理,需要更新主窗体上的网格控件(只需将字符串发布到网格中).没有任何子线程彼此交谈.

我的初始设计涉及调用TThread的"Synchronize"来更新当前运行的线程中的网格控件表单.但是,据我所知,调用Synchronize实际上就好像它是调用时的主线程一样.一次运行多达16个线程(并且大多数子线程的处理时间从<1秒到10秒),Window Messages是一个更好的设计吗?

我已经让它工作在这一点,子线程发布一个Windows消息(由几个字符串的记录组成),主线程有一个监听器,只是在收到消息时更新网格.

在这种情况下对IPC的最佳方法有何看法?窗口消息或'同步'?

如果我使用窗口消息,您是否建议将代码包装在我在TCriticalSection(进入和离开)块中发布到网格的位置?或者我不需要担心线程安全,因为我在主线程中写入网格(虽然在窗口消息处理程序的函数内)?

delphi multithreading ipc

21
推荐指数
3
解决办法
1万
查看次数

我可以从Process Explorer可以使用的Delphi应用程序中发出调试符号吗?

我正在调查使用Delphi 2010编写的应用程序的性能问题.Delphi是否会发出Process Explorer在查看当前正在运行的线程时可以使用的符号,以便我可以看到函数名称?

我已经阻止了我的可执行文件的名称,但是你可以看到它只给了我函数的内存地址,如果可能的话我想要解析函数名(就像我对ole32.dll和ntdll一样). dll,因为我正在使用MS符号服务器).

我知道这可以用于VC++应用程序和WinDbg ......可以用Delphi应用程序和Process Explorer完成吗?

在此输入图像描述

delphi debugging winapi

18
推荐指数
1
解决办法
1142
查看次数

如何针对单个基本文件"区分"多个文件?

我有一个配置文件,我认为是我的"基础"配置.我想将最多10个其他配置文件与该单个基本文件进行比较.我正在寻找一个报告,其中每个文件与基本文件进行比较.

我一直在看diff和sdiff,但他们没有完全提供我想要的东西.

我已经考虑过单独针对每个文件区分基础,但是我的问题会变成合并到报告中.理想情况下,如果所有10个配置文件中都缺少相同的行(与基本配置相比),我希望以易于可视化的方式报告.例如,这里基本上是我希望能够做到的(这个例子有1个基本文件和3个配置文件,每个文件分别与基本配置进行比较):

这是下面图片的链接 alt text http://img141.imageshack.us/img141/3264/config2.png

请注意,在几个配置文件中缺少某些行(当与基础单独进行比较时).我希望能够把它们放在同一条线上(如上所述).

请注意,上面的屏幕截图只是一个模型,而不是一个实际的应用程序.

我已经看过使用一些Delphi控件来编写我自己的(我有Delphi 2007),但是如果有一个程序已经这样做了,我更喜欢它.

我看过的Delphi控件是TDiff,rmcontrols中包含TrmDiff*组件.

delphi diff

17
推荐指数
1
解决办法
1万
查看次数

如何让TAnimate的Common AVI在Vista和Win7上运行?

我有一个Delphi 2007应用程序,它具有一个带有FindFile Common AVI的TAnimate控件.当应用程序在Windows XP上运行时,它可以正常工作,但在Windows 7上没有任何内容.我听说它现在需要自己的线程,但我不确定.

有谁知道如何让TAnimate的Common AVI控件在Windows 7(或Vista)上运行?

delphi delphi-2007

17
推荐指数
1
解决办法
6391
查看次数

我可以用Delphi 2010编写Windows驱动程序吗?

我一直听说Delphi可以做任何C++可以做的事情......除了编写Windows驱动程序.这是正确的,如果是这样,那为什么呢?

我最近在线阅读了一篇博客文章,可能表明使用Delphi编写驱动程序可能解决方案,但它已经3年了,我不知道这些信息有多准确.

因此,使用最新版本的Delphi(2010),编写Windows驱动程序在技术上是否可行?

c++ delphi kernel driver delphi-2010

17
推荐指数
2
解决办法
3491
查看次数