首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Delphi中同时打开两个HTMLHelp文件会导致两个帮助窗口都挂起

在Delphi中同时打开两个HTMLHelp文件会导致两个帮助窗口都挂起,这是因为HTMLHelp组件只允许同时打开一个帮助文件。如果要同时打开两个帮助文件,可以使用其他的帮助组件,例如使用Microsoft的HTML Help Workshop中提供的HTML Help Viewer组件,或者使用第三方的帮助组件,例如HelpNDoc或者WinHelp。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

十二.熊猫烧香病毒IDA和OD逆向分析(上)病毒初始化

总结,Sub_403C98主要包括两个函数,其对应功能如下: sub_403D08:分配内存空间 sub_402650:字符串拷贝功能 同时,我们可以IDA对sub_403C98进行重命名操作,命名为...sub_403C98函数有两个参数,由于采用的是Delphi编译器,因此反汇编,第一个参数保存在eax,第二个参数保存在edx。...继续按下F8单步走,0x00405408处出现了个地址,我们在数据窗口中跟随数值。 发现这个结果是“2A”,该值正式刚才异或出来的EDX结果。 接着我们尝试在下列两个位置增加断点。...接着看到两条赋值语句,将值赋给EDX和EAX,由于这个程序是使用Delphi编写,所以call之前会将参数放到寄存器,我们首先看看EDX的内容。...什么时候你把攻击对手按在地上摩擦,你就赢了,也慢慢形成了自己的安全经验和技巧。加油吧,少年希望这个路线对你有所帮助,共勉。

2.1K40

Delphi入门教程

3.对象(Object):面向对象的程序设计,对象是类的实例。...因此,Delphi对象就是组件的实例(运行期的组件) 4.属性(Property):对象的静态属性,表示状态信息 5.方法(Method):对象的动态属性,表示对象能够执行的功能。...6.事件(Event):Windows系统,事件就是消息。...前半部分的选项是关于基本文本、控件编辑功能的,后半部分的选项大都是关于组件对象在窗口中排列规则的。 3.【Search】菜单 主要完成指定文件中进行文本搜索、替换等功能 4....Form/Unit】:切换窗体窗口和单元文件窗口 【Units】:用于打开项目中所用到的单元文件 【Forms】:用于打开项目中所用到的窗体 【Toolbars】:调整主窗口下的工具栏 5.

6.9K20

熊猫烧香(上)初始分析

分析信息如下: 该程序并没有加壳,采用Delphi Borland Delphi 6.0-7.0编写 区别:Delphi函数调用时参数的传递不完全用栈,主要用寄存器。...理解这一点可以帮助识别栈上的变量。...总结,Sub_403C98主要包括两个函数,其对应功能如下: sub_403D08:分配内存空间 sub_402650:字符串拷贝功能 同时,我们可以IDA对sub_403C98进行重命名操作,命名为...sub_403C98函数有两个参数,由于采用的是Delphi编译器,因此反汇编,第一个参数保存在eax,第二个参数保存在edx。...首先看到两条赋值语句,将值赋给EDX和EAX,由于这个程序是使用Delphi编写,所以call之前会将参数放到寄存器,我们首先看看EDX的内容。

13810

恶意代码分析实战六:熊猫烧香病毒样本分析

行为分析 进程树监控 这里我们还是用Process Monitor来监控病毒行为,打开Process Monitor,筛选条件中将“样本.exe”加入到筛选器的“Process Name”,然后运行病毒...文件监控 将CreateFile添加到筛选器的“Operation”,可以看到文件操作的行为: 可以标红处位置看见,“样本.exe”C:\Windows\system32\drivers目录创建了文件...spoclsv.exe网络监控分析 Process Monitor工具栏只选择Show NetWork Activity,见如下图: 图中,192.168.200.x是我虚拟机的内网网段,可见恶意程序不断的尝试连接我内网的其他计算机...sub_403C98(AllocStrCpy) Part1: 我们图1可以看到有两个sub_403C98的函数,因为之前说过上面代码都是Delphi自动生成的,所以这里就不分析,我们最开始的地方应当是标红这位置开始分析...它可以将符号表(Map)文件导出,便于我们OD载入符号表进行调试。 显示出了Delphi的符号,便于分析和调试。

3.3K20

网络安全自学篇(六)| OllyDbg动态分析工具基础用法及Crakeme逆向破解

OllyDbg打开如下图所示,包括反汇编窗口、寄存器窗口、信息窗口、数据窗口、堆栈窗口。 ?...、字符等 数据窗口:显示内存或文件的内容,右键菜单可切换显示方式 堆栈窗口:显示当前线程的堆栈 下图是打开EXE后显示的界面。...反馈结果为“Borland Delphi 4.0 - 5.0”,无壳Delphi编写的文件。 ? 第二步:运行CrakeMe V3.0文件,并点击“Register now”,提示错误信息。...第八步:双机上面的两个地址(00440F79、00440F93),去到对应的位置。 ? ? 反汇编窗口中向上滚动窗口,可以看到核心代码: ?...程序会在断点处停止,同时提示刚才输入的内容。 ? 输出内容如下所示,其中内存地址02091CE0输入了刚才的“Test”。 ?

2.4K11

使用ApDiag工具进行WinCC脚本诊断

但是,不恰当地组态和使用脚本功能显著降低系统性能,也可能导致系统崩溃。...选择相应菜单项后,均将输出诊断信息到“GSC 诊断窗口”,详细内容请参见帮助文档。...图 9 “填充变量”对话框 请注意,写入诊断值产生额外的基本负载,因此该功能只应短时启动。 2.6设置诊断信息输出到窗口文件或被删除 功能描述:设置诊断信息输出到窗口文件或被删除。...使用方法: “Output”菜单,使用菜单命令“输出到画面”(Output On Screen) 将打开一个诊断窗口,迄今所收集的跟踪条目将输出到如图10所示的窗口中。...此时使用“FirstAction”方法,同样可以找到导致挂起的脚本函数“MessageBox”。 可见,综合利用 ApDiag 的以上方法,对快速诊断脚本的阻塞或挂起问题很有帮助

2.7K20

Linux终端命令神器--Screen命令详解。助力Linux使用和管理

同样暂时离开的时候,也可以执行分离命令detach,保证里面的程序正常运行的情况下让Screen挂起(切换到后台)。这一点和图形界面下的VNC很相似。...多窗口Screen环境下,所有的会话独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。...它同时提供了窗口访问权限的机制,可以对窗口进行密码保护。 这三个功能,其实互相交织,组成screen功能繁多的命令集。...但是,有时候,我们创建虚拟终端,并没有使用Ctril+a再按d退出并挂起虚拟终端,反而因为长时间没操作,或者本地网络掉包等问题,非正常退出虚拟终端,导致出现SSH连接服务器,并没有虚拟终端内,却出现Attached...一般旧版本screen会有这个问题,两个解决方法: 方法一:修改配置文件 创建文件,并加入设置: # 新建或修改文件 vim ~/.screenrc 加入以下设置: # 设置编码 defutf8 on

58.4K268

doxygen教程_genedoc教程

6.Expert->Input  将输入编码方式改为GBK方式,确保输出不会由于UTF-8方式导致乱码。  最后也是经常遇到的问题就是DoxyGen生成的CHM文件的左边树目录的中文变成了乱码。...7.Expert->HTML  勾选生成HTMLHELP项,输入生成CHM名称,HHC_LOCATION填入HTMLHELP WORKSHOP安装目录hhc.exe的路径,将chm编码方式改为GBK...到上一步Doxygen已经完全配置好,可以Run中点击运行了,但为了保存以上配置信息,可以将配置好的文件存一个.cfg文件,之后再运行Doxygen时只需要将该文件用Doxygen打开,改变第(1)步的输入...每个代码项中都可以有两类描述:一种就是brief描述,另一种就是detailed。两种都是可选的,但不能同时没有。简述(brief)就是一行内简述地描述。...Doxygen,主要通过以下方法将注释块标识成详细(detailed)描述:  JavaDoc风格,C风格注释块开始使用两个星号’*’: /** * ...

4.4K30

7-Zip 16 DLL 劫持

Microsoft Windows 环境变量扩展问题导致远程 DLL 劫持 攻击向量:7-ZIP v.16 7-ZIP v.16 和可能使用 HTML 帮助系统的其他软件容易出现远程 DLL 劫持问题,...因为当程序调用“HtmlHelp()”来加载 HTML 帮助系统时,操作系统无法扩展“%systemroot%”环境变量以及对 hhctrl.ocx 的不安全搜索 因此,如果程序的当前工作目录设置为攻击者控制的位置...\%systemroot%\system32”并将名为“hhctrl.ocx”的 DLL 放在“system32”文件。...将有效的 ZIP / 7Z 存档放在“7z”文件,并将 UNC 路径/链接发送到目标。...目标通过 Windows 资源管理器(文件资源管理器)访问远程共享并打开存档(使用 7-ZIP)然后继续单击“帮助”然后单击“内容 (F1)”或按“F1”键以触发漏洞 并运行任意代码。

38420

四.OllyDbg动态分析工具基础用法及Crakeme逆向破解

OllyDbg打开如下图所示,包括反汇编窗口、寄存器窗口、信息窗口、数据窗口、堆栈窗口。...、字符等 数据窗口:显示内存或文件的内容,右键菜单可切换显示方式 堆栈窗口:显示当前线程的堆栈 下图是打开EXE后显示的界面。...反馈结果为“Borland Delphi 4.0 - 5.0”,无壳Delphi编写的文件。 第二步:运行CrakeMe V3.0文件,并点击“Register now”,提示错误信息。...第三步:启动OllyDbg软件,选择菜单“文件”,打开CrackMe3文件。 此时文件会停留在如下位置,双击注释位置能添加自定义注释。...程序会在断点处停止,同时提示刚才输入的内容。 输出内容如下所示,其中内存地址02091CE0输入了刚才的“Test”。

1.1K10

四.OllyDbg动态分析工具基础用法及Crakeme逆向破解

OllyDbg打开如下图所示,包括反汇编窗口、寄存器窗口、信息窗口、数据窗口、堆栈窗口。...、字符等 数据窗口:显示内存或文件的内容,右键菜单可切换显示方式 堆栈窗口:显示当前线程的堆栈 下图是打开EXE后显示的界面。...反馈结果为“Borland Delphi 4.0 - 5.0”,无壳Delphi编写的文件。 第二步:运行CrakeMe V3.0文件,并点击“Register now”,提示错误信息。...第三步:启动OllyDbg软件,选择菜单“文件”,打开CrackMe3文件。 此时文件会停留在如下位置,双击注释位置能添加自定义注释。...程序会在断点处停止,同时提示刚才输入的内容。 输出内容如下所示,其中内存地址02091CE0输入了刚才的“Test”。

1K30

一个玩游戏的失足青年,转行做游戏开发到教育的挣扎过程

Delphi估计大家不太了解,如果说C#之父,TypeScript之父,我相信你更有感觉!...上网需要身份证,我当时做了一个外挂程序,事先在程序录入一些身份号,双击一个身份证号,在网吧管理软件上自动弹出上机解锁的窗口,将身份证自动填写上去。...到大四开始,我就没有天天去上课了,在家里自学研究Delphi开发,同时做毕业设计,记得当年在毕业答辩的时候,上面有同学答辩,我在下面临时改Bug。...我当时用C++Builder为公司开发一些小的网吧应用程序或工具,在这位牛人的帮助下,让我的编程技术、思维上都有很大的提高。 ?...是当时心里想着,家里还开着网吧,辞职不干了,我还可以回去,到一个地方学不到新东西,就会觉得没意思,但这也导致我频繁跳槽,职业生涯一直都不顺利,缺乏自信的同时又很倔犟,也是一种脆弱。

86910

如何解决DLL的入口函数创建或结束线程时卡死

DLL_PROCESS_ATTACH事件的处理代码,如需要完整的处理其他事件, 如 DLL_PROCESS_DETACH,DLL_THREAD_ATTACH, DLL_THREAD_DETACH,可在工程文件做如下处理...; begin case Reason of DLL_PROCESS_ATTACH: StartMyThreadsAndWaitBegin(); // 创建并等待线程开始,这样导致卡死...DLL_PROCESS_DETACH: StopMyThreadsAndWaitEnd(); // 停止并等待线程结束(或直接结束进程),这样导致卡死 DLL_THREAD_ATTACH...1) DLL_PROCESS_ATTACH 事件 创建线程 出现卡死的问题 通常情况下在这事件仅仅是创建并唤醒线程,是不会卡死的,但如果同时有等待线程正式执行的代码,则会卡死,因为该事件...另外有一个特殊的现象,就是DLL_PROCESS_DETACH事件,线程处于挂起状态,这是因为系统分配线程执行时间片的过程由于PE Loader有资源处于锁定而导致线程无法进行下一个时间片,最终表现为线程函数处于假死状态

3.7K10

学习笔记: Delphi之线程类TThread

但是实际的开发过程还是发现了许多的问题,比如挂起与终止的概念都没有弄明白,导致浪费许多的时间。...TThread-简单的开始 Delphi的VCL中封装了一个TThread类用于多线程的开发,这样比较符合面向对象的思想,同时又可以提高开发效率,一般的情况下开发都是通过派生这个类来实现多线程。...线程挂起 线程还支持挂起的功能,即让CPU将线程中断,保留现场,不再分配时间片,这样线程就像死了一般,直到再次唤醒线程再恢复现场继续执行。...线程终止 Delphi的TThread类实现,可以通过一个Terminate方法来让线程终止。但事实上Terminated只是一个标识而已,在线程启动时这个标识为False。...通过这个方法完成了一个核心的功能,可以看到代码调用了Execute方法。

2.2K80

linux后台运行的几种方式(小结)

如果当前目录的 nohup.out 文件不可写,输出重定向到$HOME/nohup.out文件。 如果没有文件能创建或打开以用于追加,那么 command 参数指定的命令不可调用。...同样暂时离开的时候,也可以执行分离命令detach,保证里面的程序正常运行的情况下让Screen挂起(切换到后台) b、多窗口 Screen环境下,所有的会话独立的运行,并拥有各自的编号、输入...它同时提供了窗口访问权限的机制, 可以对窗口进行密码保护。...-e #重定向输出标准错误到指定的文件,替代/dev/null -o #重定向输出标准到指定的文件,替代/dev/null -E name=value #增加环境变量给给后台程序。...-l lockfile #单实例启动时将会检查这个文件。 -u user #定制程序以谁的身份运行的。 以上就是本文的全部内容,希望对大家的学习有所帮助

3.2K31

远程控制木马原理_安卓远程控制木马

这是一款VC++编写的木马,同时是世界上第一款结束杀毒软件进程(金山毒霸)的木马。这是木马发展史上的一个里程碑。之后许多木马/病毒增加了这一功能。不过,它也不是开放源代码的。...网络远程控制/管理 =========================================================================功能说明: 本软件的最大特点是服务器端与客户端之间有两个...1.可以偷窥到对方的桌面内容,按设置的时间进行刷新. 2.可以用鼠标控制对方的电脑,包括所有的鼠标操作. 3.可以使用键盘控制对方的电脑,几乎可用所有的按键. 4.客户端可以建立多个窗口...,对多台电脑进行监视控制. 5.可以运行一条命令,例如打开一个记事本. 6.可以锁定/解锁对方的电脑. 7.可以让对方电脑(强行)注销/重启/关机. 8.可以传送/删除/移动对方的电脑上的文件...可以设定获取桌面图像的位数. 4.可以用鼠标控制对方的电脑,包括所有的鼠标操作. 5.可以使用键盘控制对方的电脑,几乎可以处理所有的按键. 6.客户端可以建立多个偷窥窗口

1.7K20

Linux 内核架构分析

内核实际上同时运行多个进程,并负责中介对硬件资源的访问,以便在维护进程间安全性的同时,每个进程具有公平的访问权限。...内存管理器使用虚拟文件系统来支持交换;这是内存管理器依赖进程调度程序的唯一原因。当某个进程访问当前已换出的内存时,内存管理器文件系统发出请求,从持久性存储获取内存,并挂起该进程。...索引节点数据结构存储文件块号到物理设备地址的映射。如果两个进程打开了相同的文件,则可以多个进程之间共享I节点数据结构。共享是通过两个任务数据块指向相同的i节点来完成的。...此外,所有其他内核子系统依赖进程调度程序来挂起和恢复进程,同时等待硬件请求完成。这些依赖关系通过函数调用和对共享任务列表数据结构的访问来表示。...所有内核子系统读取和写入代表当前任务的数据结构,从而导致整个系统的双向数据流。 除了内核层的数据和控制流之外,O / S服务层还为用户进程提供了一个接口,用于注册计时器通知。

2.7K30
领券