IDA反汇编EXE添加一个启动时的消息框 上一篇文章介绍了用OD反汇编EXE添加一个启动时的消息框,这篇文章也是实现同样的效果,这边主要的思路还是将其反汇编得到汇编代码后,然后手动修改他的逻辑首先跳转到弹框区域再跳转回来去执行原来的代码...然后我们将鼠标光标移动到01003E28也就是下一行,然后点击键盘n,为其起一个本地的名字loc_01003E28。 ? ? ?...我们选中好01004A71行后,点击edit - Patch program - Change byte。 ?...,另外在最初我们还添加了一个本地的名字loc_01003E28,我们还需要追加一个jmp loc_01003E28。...我们按Ctrl + E跳转到入口点,我们选中01003E23这一行,我们修改这个汇编代码为jmp message_box。 ? ?
OD反汇编EXE添加一个启动时的消息框 最近有一个要修改PE文件的需求,就先从EXE文件下手吧,我也是初学一个小时而已,不过之前接触过一点汇编罢了,这篇文章算是个DEMO,主要的思路是将其反汇编得到汇编代码后...,然后手动修改他的逻辑首先跳转到弹框区域再跳转回来去执行原来的代码,相关的工具有ollydbg,以及要修改的一个xp系统自带的扫雷软件,还有参考的文章,都会在文末给出。...这样弹出消息框的部分就完成了,四个push加一个call就是弹消息框的,中间的两个push第一个就是传标题第二个就是传内容的,现在我们依旧再写两行语句进行占位,这主要是为了后边启动逻辑方面用,也就是为了最初的时候我们复制的启动时定位的那两行使用...,也就是将刚才两个添加的字符串放置于此处引用。...紧接着我们修改启动的逻辑,点击右边的EIP定位到入口位置。 ? 在最初的时候我们选择了前2行位置的代码进行了复制,现在我们同样选中前2行,然后右击-编辑-用NOP填充。 ? ?
当你添加或删除工作簿或工作表时,这个树状结构会相应地变化。你也可以添加标准模块、类模块和用户窗体,此时该树状结构会相应更新。...图7 这是一个工作簿事件Workbook_Open,当你打开该工作簿时会发生,你可以在其中输入你想在工作簿打开时执行的操作的代码。如果不添加任何代码,则该工作簿打开时不会执行任何操作。...图10 MsgBox能够给用户提供一条消息,本示例中是在用户在本工作簿中新建工作表时,会弹出一条消息“HelloWorld!”。...的消息框,如下图11所示。 图11 同样,双击工作表代码模块,进入工作表代码窗口。可以看出,各对象代码模块窗口是独立的,我们可以在其中编写相应的代码。 除了事件代码外,我们通常在标准模块中编写代码。...图12 保存包含VBA代码的工作簿 在保存含有VBA代码的工作簿时,我们需要使用xlsm扩展名,如下图13所示,否则Excel会自动删除代码。
以这种方式思考——程序应该做的任何事情都可能做错。 虽然VBA会向你报告错误,但没有对于bug的处理机制。发现bug的唯一方法是测试你的程序,然后再次测试。...避免Bugs 减少程序bugs的最重要步骤是始终使用OptionExplicit语句。该语句生效时,必须显式声明程序中的每个变量。如果尝试使用未声明的变量,则VBA会显示一条错误消息。...当VBA处于中断模式时,你可以执行其他调试操作,如以下各节所述。当VBA在断点处停止时,该行以黄色突出显示。 VBA在执行包含断点的行之前停止。...换句话说,当VBA在断点处停止时,包含该断点的行尚未执行。也可以仅在包含可执行代码的行上设置断点。其中不包括Dim语句。VBA不允许你在不可执行的行上设置断点。...可以指定每当表达式的值为True时程序进入中断模式。 要设置监视表达式,选择“调试➪添加监视”以打开“添加监视”对话框,如图24-2所示。 ?
要将一个自定义函数定义为易失性函数,只需要在function过程开始时添加下面一行代码: application.voliatile true example Public Function fun()...调用range对象的delete方法可以删除指定的单元格,但与手动删除单元格不同,通过VBA代码删除单元格,excel不会显示【删除】对话框。...用InputBox函数创建一个可输入数据的对话框 Input函数共有5个参数: prompt参数用于设置在对话框中显示的提示消息 title用于设置对话框的标题 default用于设置默认的输入值 xpos...当在工程中添加一个窗体后,就可以在窗体上自由的添加ActiveX控件,只要通过编写VBA代码为这些控件指定功能,就能利用这些控件与excel互动 在工程中添加一个用户窗体 设置属性,改变窗体的外观...键顺序 只有对象被激活时,才能几首键盘输入。
Print “立即窗口输出过程的值:”&x 本地窗口可以显示中断,逐步调试时的对象信息,变量值,数组信息,Stop可以中断 宏 开发者工具,设置安全性启用宏,保存文件需要保存为启用宏的工作簿 使用相对流录制宏...,不固定位置,相对位置操作 加载宏(本地代码库) 代码保存在模块 保存文件格式为xla或xlam 开发者工具——加载项——加载(要删除需要取消加载) 快速访问工具栏——从下列位置选择命令-宏-添加为左上角倒三角小图标...Sheet1.Name = "1月" `表的名称 Sheet1.Visible = xlSheetVeryHidden '只有改变为true才可见 Sheet1.Visible = xlSheetVisible...vbMsgBoxHelpButton 16384 将Help按钮添加到消息框 VbMsgBoxSetForeground 65536 指定消息框窗口作为前景窗口,就是显示在窗口的最上层 vbMsgBoxRight...(不能用),可以通过多加一列,表示不删除,删除时更改值为删除,取得时候where值等于不删除 delete from [data$] where 姓名='张三' 使用LEFT JOIN …ON… (
2.注册表 对于与上述位置不同的加载项,Excel将在注册表中查找。当单击“浏览”按钮以查找加载项时,会在此处添加键。...如何使用VBA来安装Excel加载宏 编写一些简单的代码来启用加载项,弹出的消息框如下图5所示。...图5 下面的VBA代码触发这个消息框: Option Private Module Const GCSAPPREGKEY As String ="DemoAddInInstallingItself" Const...每次Excel启动时,都会弹出一个找不到加载项的警告消息框,如下图6所示。 图6 因此,为什么代码会显示一个如下图7所示的消息框。...最后一行关闭加载项打开的所有工作簿。为什么?因为当没有活动工作簿时你无法打开加载项对话框,显然这也会阻止Excel通过VBA将新加载项添加到列表中。
On Error语句有4种不同的使用方式: 1.On Error GoTo 0 代码停止运行在出现错误的行并显示错误消息。...2.On Error GoTo [标签] 当错误发生时,代码移至指定的行或标签处,不会显示错误消息。 3.On Error GoTo -1 清除当前错误。...4.On Error Resume Next 当错误发生时,代码移至下一行继续执行,不会显示错误消息。 On Error GoTo 0 这是VBA默认的处理错误的操作。...发生错误时,VBA将在出现错误的行上停止运行并显示错误消息。此时,需要用户干预代码才能继续。在这种情况下不会发生错误处理。 让我们看一个例子。...图5 运行上述VBA代码,代码执行到以0作为除数这一行时,发生错误,代码跳至On Error GoTo 语句指定的标签errH处。 On Error GoTo -1 这个语句用于清除当前发生的错误。
它复制筛选的行,添加新工作表,然后将这些复制的行粘贴到新工作表中。...如果没有筛选行,显示一条消息并退出程序。如果有筛选行,则复制筛选的数据,插入新工作表,然后粘贴这些数据到新插入的工作表中。...注意,这不会删除筛选,筛选图标仍然可用。 在受保护的工作表中使用自动筛选 默认情况下,当工作表受保护时,不能应用筛选。...图4 虽然这在已设置了筛选时有效,但如果尝试使用VBA代码添加自动筛选,它将不起作用。由于工作表受到保护,因此不允许运行任何宏并对自动筛选进行更改。...这在创建动态筛选时是有用的。 下面的代码保护工作表,同时允许在其中使用筛选和VBA宏。
大家好,前面示例中都涉及过输入inputbox函数,但都是最简单的形式,本节就将补充inputbox输入函数的完整版,顺带简单说下复合语句和语句断行的知识。...当编写代码输入inputbox(时程序会自动提示相关参数。 1、prompt是对话框消息出现的字符串表达式,最多显示1024个字符,如果需要分行,可以使用vba的常数vbCrlf代表回车换行符。...二、复合语句和语句断行 1、复合语句 一般情况下,要求程序中每个语句独占一行,但在VBA中,也可以把几个语句方在一行中构成符合语句,复合语句中各语句之间用冒号(:)分隔,比如上面的示例可以修改如下: 代码中...在VBA中使用空格后接着一个下划线(续行符),可以将一行代码延伸成两行以上,例如将上面的示例修改如下: 可以看到inpubox函数语句,通过续行符,可以将一个长语句分成两行,最多可以通过24个续行符分隔成...---- 本节介绍了完整inputbox输入函数,后期介绍交互设计的内容时,还会介绍application对象的inputbox方法。下节将介绍msgbox函数的完整内容,祝大家学习愉快。
标签:Word VBA 本文提供的Word VBA程序可以在Word中制作类似网站中的屏幕提示,即将鼠标悬停在特定文本上时显示包含相关信息的小框。...如果这样的话,你必须依次执行选择文本、添加书签、创建超链接、选择书签、输入屏幕提示文本等操作。 下面是一组自动执行这些操作的VBA程序。...AddScreenTipForText过程允许以结构化的方式添加屏幕提示超链接。RemoveScreenTipFromText过程允许根据需要轻松删除屏幕提示超连接。...'光标必须处于超链接中或者所选内容必须包括超链接 Sub RemoveScreenTipFromText() Title = "从所选内容中删除屏幕提示" '如果所选内容中不是只有一个超链接则停止...End Sub 要添加屏幕提示,首先选择要添加屏幕提示的文本,然后运行AddScreenTipForText过程,此时会弹出一个对话框,输入你想显示的屏幕提示,单击“确定”。
虽然可用Range(“A1”)返回单元格A1,但用Cells更方便,因为此时可 用变量指定行和列。...R1C1:R4C1)” 但需注意的是:当被引用的工作表名中含有某些可能引起公式歧义的字符时,需要用单引号’将工作表名括起来。...,原C2格下移 Rows(2).EntireRow.Insert ‘在第2行前添加一空白行,原第2行下移 Columns(3).EntireColumn.Insert ‘在C列前添加一空白列,原C列右移...Columns(“A:D”).Delete Shift:=xlToLeft ‘删除A列至D列,其右侧列左移 Rows(“3:5”).Delete Shift:=xlUp ‘删除第3行至第5行,其下方行上移...ActiveSheet.Delete 但在删除前excel会自动弹出提示框,需在用户确认后方可执行删除。为避免这一干扰,可以先用以下语句关闭excel的警告提示。
,并在A1:B2区域输入以下数据: 如果扣除第1行和最后两行代码,代码整体看起来和VBA并无太大差异。 ...批处理函数内部是各种语句,设置或者调用代理对象(比如Excel)的各种方法和属性js 数组去除重复数据,但和VBA所不同的是,这里的相关语句并不会被立刻执行,而是组成一个命令队列。 ...,但如果我们只是设置Excel的属性或者调用Excel的方法,代码看起来是正常的,完全符合VBA的线性思维逻辑。 ...await .sync() 第6行代码将当前工作表的B2单元格的内容设置为A2单元格的值。 …… 为啥要这么绕呢?像VBA那么直来直去不好吗?...Excel.run(async function(context) 在第5行使用await .sync();语句发送一次命令请求,系统执行命令队列,并返回代理对象,此时的对象就拥有了values属性
Office 版本历经十几年的变迁,现已趋于成熟,但仍存在着新老版本交替使用的问题。...可以删除源代码,并不影响宏的执行 2、P-Code: 与 VB 语言相同,VBA 同样有 P-Code,通过内置的 VB 虚拟机来解释 P-Code 并执行,平常我们 Alt+F11 打开所看到的正是反编译的...3、ExeCodes: 当 P-Code 执行一次之后,其会被一种标记化的形式存储在 __SRP__ 流中,之后再次运行时会提高 VBA 的执行速度,可以将其删除,并不影响宏的执行。...通过信息收集得知目标的 Office 版本,利用 VBA stomping 使宏被特定版本的 Office 打开时才会执行恶意行为宏代码,除此之外的 Office 版本打开时执行正常宏代码 目前 VBA...3、将所有文件再次压缩回一个 xlsm 文件 问题在于只有 excel 能弹出这种宏警告框,如何让 Word 也弹出类似的警告框呢?
标签:VBA,用户窗体 这是一个很好的示例,充分展示了VBA和用户窗体控件编程技术。 示例中有一个数据工作表Sheet1,包含有一个列表,每一行的单元格中都有很多用逗号分隔的数据,如下图1所示。...图3 这个示例工作簿有以下功能: 1.按F3会运行更新代码更新工作表Sheet2中的唯一项,并以红色标注出新添加的项。 2.按F4键将调出图3所示的用户窗体。...3.在用户窗体中: (1)左侧列表框列出了工作表Sheet2中的所有唯一项。 (2)在搜索框中输入内容时,会随着输入自动缩减左侧列表框中的内容。...(3)选择左侧列表框中的项后,单击“添加”按钮,将其移至右侧列表框。 (4)单击“执行”会进行筛选操作,并在工作表Sheet1中显示结果。...…… 有兴趣的朋友可以在完美Excel微信公众号中发送消息: 筛选数据示例 获取示例工作簿下载链接。 或者,直接到知识星球App完美Excel社群中下载该示例工作簿。
Office 中 VBA 编程的强大之处在于,您可以使用鼠标、键盘或对话框执行的几乎所有操作也可以使用 VBA 自动执行。此外,如果可以使用 VBA 完成一次,则可以轻松完成一百次。...事实上,重复性任务的自动化是 VBA 在 Office 中最常见的用途之一。...除了编写 VBA 脚本以加速日常任务的强大功能之外,您还可以使用 VBA 向 Office 应用程序添加新功能,或者以特定于您的业务需求的方式提示您的文档用户并与之交互。...例如,您可以编写一些 VBA 代码,显示一条弹出消息,提醒用户在他们第一次尝试保存文档时将其保存到特定的网络驱动器。...-B站观看 ---- 版权属于:Cyril 本文链接:https://www.cyrilstudio.top/archives/22/ 转载时须注明出处及本声明
文章背景: 在VBA中创建弹窗对话框,可以使用MsgBox函数;但是该函数得到的消息框,必须手动关闭它。...下面介绍一个未公开的Windows API函数,可以使用该函数得到一个自动定时关闭的消息框。...MessageBoxTimeout 0, "3 秒后自动关闭", "DEMO2", 275, 0, 3000 'MsgBox "VBA消息框", vbDefaultButton2 +...针对64位office环境和32位office环境,分别编写相应的代码。 hwnd: 窗口句柄 lpText:消息框提示信息;对应Msgbox函数的Prompt。...lpCaption: 消息框标题; 对应Msgbox函数的Title。 wType: 消息框类型;对应Msgbox函数的Buttoms。 wlange: 函数扩展,通常为0。
添加拆分按钮控件的步骤与本系列前面文章(参见:VBA专题10-10:使用VBA操控Excel界面之在功能区中添加自定义切换按钮控件、VBA专题10-9:使用VBA操控Excel界面之在功能区中添加自定义按钮控件...图1 在VBE中添加回调代码: 'Callbackfor Btn1 onAction Sub Macro1(control As IRibbonControl) MsgBox control.Tag...,会根据按钮的不同显示不同的消息框,如图2所示为单击按钮Button1时显示的消息框。...注意,由于我们将Button1和menuButton1定义了相同的tag属性,因此单击拆分按钮中的单个按钮和菜单中的第一个按钮时都会弹出如图2所示的消息框。 ?...图2 说明:本专题系列大部分内容学习整理自《Dissectand Learn Excel VBA in 24 Hours:Changingworkbook appearance》,仅供学习研究。
案例1 比如我的需求是:写一个基本的Excel vba宏,用于将表格中的第3行到第9行每一行数据转换为一个新的工作簿 VBA宏如下: Sub SplitRowsToNewWorkbooks()...End Sub 请将代码中的"路径\文件名.xlsx"替换为你希望保存的路径和文件名。运行该宏后,会将第3行到第9行的每一行数据复制到一个新的工作簿,并将其保存在指定的路径下。...”生成新表格,但“回炉再造”一遍就好,重要的是学会ChatGPT与Excel结合来编写VBA宏 ---- 案例2 又比如我的需求是:编写一个Excel VBA宏,将工作薄,每个工作表中的图片,移动到A1...---- 案例3 我的需求是:编写一个Excel VBA宏,删除当前Excel工作簿里边所有的图片 Sub DeleteAllPictures() Dim ws As Worksheet...End Sub 运行该宏后,它会遍历当前Excel工作簿中的每个工作表,并删除每个工作表中的所有图片。在删除图片之后,会弹出一个提示框显示操作已完成。
领取专属 10元无门槛券
手把手带您无忧上云