程序写入前的准备工作及注意事项 (程序写入的checksum)

程序写入前的准备工作及注意事项(程序写入的Checksum) 程序写入前的准备工作及注意事项

一、引言

在程序写入之前,为了确保程序的正确性和稳定性,我们需要进行一系列的准备工作,并注意一些关键事项。
本文将详细介绍程序写入前的准备工作以及需要注意的要点,其中包括Checksum的重要性及其作用。

二、程序写入前的准备工作

1. 明确目标平台:在开始编写程序之前,首先要明确目标平台,即程序将要运行的环境。这包括操作系统、硬件平台等。不同的平台可能需要不同的编程语言和开发工具。
2. 选择合适的编程语言和工具:根据目标平台的需求,选择合适的编程语言和开发工具。例如,Windows平台可以选择C/C++、Python等语言,而移动设备则可能需要使用Java或Swift等。
3. 创建开发环境:安装所选编程语言和工具的开发环境,包括编译器、集成开发环境(IDE)等。确保开发环境配置正确,以便顺利编写和调试程序。
4. 需求分析:在编写程序之前,进行需求分析,明确程序的功能需求、性能需求等。这有助于制定开发计划,确保程序的正确性和可用性。
5. 设计架构和算法:根据需求分析,设计程序的架构和算法。这包括模块划分、数据结构、算法选择等。合理的架构和算法有助于提高程序的效率和可维护性。
6. 编写代码规范:制定代码规范,包括命名规则、注释规则、缩进等。遵循代码规范可以提高代码的可读性和可维护性,方便团队成员之间的协作。

三、程序写入的注意事项

1. 代码质量:在编写程序时,要注重代码质量。避免使用过于复杂的结构和算法,尽量减少代码冗余和错误。高质量的代码有助于提高程序的稳定性和性能。
2. 测试与调试:在程序编写过程中,要进行充分的测试与调试。包括单元测试、集成测试和系统测试等。测试可以确保程序的正确性和稳定性,及时发现并修复潜在的问题。
3. 文档编写:编写程序时,要同时编写相应的文档。包括功能说明、接口说明、使用说明等。文档可以帮助其他开发人员理解程序的功能和用法,方便后续维护和升级。
4. 安全性考虑:在编写程序时,要充分考虑安全性。避免程序中存在安全漏洞,如注入攻击、跨站脚本等。采取适当的安全措施,如输入验证、数据加密等,提高程序的安全性。
5. 性能优化:关注程序的性能,避免不必要的资源浪费。通过优化算法、合理使用资源等方式,提高程序的运行效率和响应速度。

四、Checksum的重要性及其作用

Checksum是一种用于检测数据传输或存储过程中是否发生错误的技术。
在程序写入过程中,Checksum可以用于检测程序文件的完整性。
如果程序文件在传输或存储过程中发生损坏或更改,Checksum的值将会发生变化,从而及时发现并修复问题。

使用Checksum还可以确保程序的安全性和可靠性。
通过计算程序的Checksum值并在下载或安装时进行校验,可以确保所下载的程序是完整且未被篡改的。
这对于避免恶意软件和病毒具有重要意义。

五、总结

本文详细介绍了程序写入前的准备工作以及需要注意的要点,包括目标平台的选择、编程语言和工具的选择、开发环境的创建、需求分析、架构和算法设计、代码规范等方面。
同时,还强调了Checksum在程序写入过程中的重要性及其作用。
通过合理的准备和注意事项的遵守,可以确保程序的正确性和稳定性,提高开发效率和质量。


我的电脑主板提示“BIOS ROM checksum error-System halted ”。请教详细步骤启动u盘 来刷 bios。

U盘启动需要主板支持1、首先是你是否设置了启动顺序,如果没有: 将U盘插入主板USB接口(最好将其他无关的USB设备暂时拔掉),重启电脑,在系统自检的界面上按Del键进入BIOS设置(如果是特殊BIOS,请参考主板手册后确定按哪个键进入BIOS),进入BIOS FEATURES SETUP中,将Boot Sequence(启动顺序)设定为USB-ZIP(或USB-HDD、USB-FDD,请与你制作的U盘工作模式对应)第一,设定的方法是在该项上按PageUP或PageDown键来转换选项。 设定好后按ESC一下,退回BIOS主界面,选择Save and Exit(保存并退出BIOS设置,直接按F10也可以,但不是所有的BIOS都支持)回车确认退出BIOS设置。 2、系统重启后会自动从U盘引导DOS系统,出现的引导菜单选项如下: Boot DOS with CDROM 标准功能+光驱驱动 Boot DOS with CDROM + NTFS 标准功能+光驱驱动+读写NTFS分区 Boot DOS ONLY (No Any Drivers) 只启动基本DOS系统 REBOOT YOUR PC 重启计算机 SHUTDOWN YOUR PC 关闭计算机 注1:标准功能是指已加载和内存驱动、smartdrv磁盘加速、鼠标驱动、doskey。 注2:基本DOS系统是指仅仅加载、和这3个DOS核心文件,不加载其他任何驱动和程序。 用↑↓键选择你需要的启动方式,回车确定。 启动成功后,会显示DOS LOADING SUCCESSFUL的字样。 如果是ZIP模式或FDD模式的U盘,会出现A:\>的提示符如果是HDD模式的U盘,会出现C:\>的提示符 至此DOS系统启动完毕,你现在就可以做你该做的事情了。 注意事项: 1、制作启动盘之前请备份好U盘上有用的数据,最好能完全格式化一遍U盘。 2、有NTFS分区的硬盘或多硬盘的系统,在DOS下硬盘的盘符排列和在Windows中的顺序可能不一样,请自行查找确定,以免误操作。 刷新BIOS可以看这个帖子

新焊的板子,烧程序时候一直发生擦写FLASH错误,不知道怎么回事

电脑不启动故障诊治 了解电脑启动的过程 在诸多电脑故障中,无法正常启动是最令用户头痛的事了。 笔者长期从事维护电脑的工作,在这个方面积累了一些经验,现在就将这些经验整理归纳出来与朋友们分享。 本文将以家用电脑和windows98操作系统为基础,介绍电脑无法正常启动故障的诊治。 要想准确地诊断电脑不启动故障,首先要了解的起动过程,当我们按下电源开关时,电源就开始向主板和其它设备供电,此时电压还没有完全稳定,主板控制芯片组会根据CMOS中的CPU主频设置向CPU发出一个Reset(重置)信号,让CPU初始化,电压完全稳定后,芯片组会撤去Reset信号,CPU马上从地址FFFF0H处执行一条跳转指令,跳到系统BIOS中真正的启动代码处。 系统BIOS首先要做的事情就是进行POST(Power On Self Test,加电自检)。 POST的主要任务是检测系统中的一些关键设备(电源、CPU芯片、BIOS芯片、定时器芯片、数据收发逻辑电路、DMA控制器、中断控制器以及基本的64K内存和内存刷新电路等)是否存在和能否正常工作,如内存和显卡等。 自检通过后,系统BIOS将查找显示卡的BIOS,由显卡BIOS来完成显示卡的初始化,显示器开始有显示,自此,系统就具备了最基本的运行条件,可以对主板上的其它部分进行诊断和测试,再发现故障时,屏幕上会有提示,但一般不死机,接着系统BIOS将检测CPU的类型和工作频率,然后开始测试主机所有的内存容量,内存测试通过之后,系统BIOS将开始检测系统中安装的一些标准硬件设备,这些设备包括:硬盘、CD-ROM、软驱、串行接口和并行接口等连接的设备,大多数新版本的系统BIOS在这一过程中还要自动检测和设置内存的相关参数、硬盘参数和访问模式等。 标准设备检测完毕后,系统BIOS内部的支持即插即用的代码将开始检测和配置系统中已安装的即插即用设备。 每找到一个设备之后,系统BIOS都会在屏幕上显示出设备的名称和型号等信息,同时为该设备分配中断、DMA通道和I/O端口等资源。 最后系统BIOS将更新ESCD(Extended System Configuration Data,扩展系统配置数据)。 ESCD数据更新完毕后,系统BIOS的启动代码将进行它的最后一项工作,即根据用户指定的启动顺序从软盘、硬盘或光驱启动。 以从C盘启动为例,系统BIOS将读取并执行硬盘上的主引导记录,主引导记录接着从分区表中找到第一个活动分区,然后读取并执行这个活动分区的分区引导记录,而分区引导记录将负责读取并执行,这是Windows最基本的系统文件。 首先要初始化一些重要的系统数据,然后就显示出我们熟悉的蓝天白云,在这幅画面之下,Windows将继续进行DOS部分和GUI(图形用户界面)部分的引导和初始化工作,一切顺利结束,电脑正常启动。 根据故障现象诊治 了解电脑启动的过程,故障就好判断了,下面我们就根据故障现象开始诊治了: 现象一:系统完全不能启动,见不到电源指示灯亮,也听不到冷却风扇的声音。 这时,基本可以认定是电源部分故障,检查:电源线和插座是否有电、主板电源插头是否连好,UPS是否正常供电,再确认电源是否有故障,最简单的就是替换法,但一般用户家中不可能备有电源等备件,这时可以尝试使用下面的方法(注意:要慎重): 先把硬盘,CPU风扇,或者CDROM连好,然后把ATX主板电源插头用一根导线连接两个插脚(把插头的一侧突起对着自己,上层插脚从左数第4个和下层插脚从右数第3个,方向一定要正确),然后把ATX电源的开关打开,如果电源风扇转动,说明电源正常,否则电源损坏。 如果电源没问题直接短接主板上电源开关的跳线,如果正常,说明机箱面板的电源开关损坏。 现象二:电源批示灯亮,风扇转,但没有明显的系统动作。 这种情况如果出现在新组装电脑上应该首先检查CPU是否插牢或更换CPU,而正在使用的电脑的CPU损坏的情况比较少见(人为损坏除外),损坏时一般多带有焦糊味,如果刚刚升级了BIOS或者遭遇了CIH病毒攻击,这要考虑BIOS损坏问题(BIOS莫名其妙的损坏也是有的),修复BIOS的方法很多杂志都介绍过就不重复了;确认CPU和BIOS没问题后,就要考虑CMOS设置问题,如果CPU主频设置不正确也会出现这种故障,解决方法就是将CMOS信息清除,既要将CMOS放电,一般主板上都有一个CMOS放电的跳线,如果找不到这个跳线可以将CMOS电池取下来,放电时间不要低于5分钟,然后将跳线恢复原状或重新安装好电池即可;如果CPU、BIOS和CMOS都没问题还要考虑电源问题:PC机电源有一个特殊的输出信号,称为POWER GOOD(PG)信号,如果PG信号的低电平持续时间不够或没有低电平时间,PC机将无法启动。 如果PG信号一直为低电平,则PC机系统始终处于复位状态。 这时PC机也出现黑屏、无声响等死机现象。 但这需要专业的维修工具外加一些维修经验,因此,建议采用替换法;电源没有问题就要检查是否有短路,确保主板表面不和金属(特别是机箱的安装固定点)接触。 把主板和电源拿出机箱,放在绝缘体表面,如果能启动,说明主板有短路现象;如果还是不能启动则要考虑主板问题,主板故障较为复杂,可以使用替换法确认,然后更换主板。 现象三:电源指示灯亮,系统能启动,但系统在初始化时停住了,而且可以听到嗽叭的鸣叫声(没有视频):根据峰鸣代码可以判断出故障的部位。 ccid_page/ Award BIOS 1短声:说明系统正常启动。 表明机器没有问题。 2短声:说明CMOS设置错误,重新设置不正确选项。 1长1短:说明内存或主板出错,换一个内存条试试。 1长2短:说明显示器或显示卡存在错误。 检查显卡和显示器插头等部位是否接触良好或用替换法确定显卡和显示器是否损坏。 1长3短:说明键盘控制器错误,应检查主板。 1长9短:说明主板Flash RAM、EPROM错误或BIOS损坏,更换Flash RAM。 重复短响:说明主板电源有问题。 不间断的长声:说明系统检测到内存条有问题,重新安装内存条或更换新内存条重试。 AMI BIOS 1短:说明内存刷新失败。 更换内存条。 2短:说明内存ECC较验错误。 在CMOS 中将内存ECC校验的选项设为Disabled或更换内存。 3短:说明系统基本内存检查失败。 换内存。 4短:说明系统时钟出错。 更换芯片或CMOS电池。 5短:说明CPU出现错误。 检查CPU是否插好。 6短:说明键盘控制器错误。 应检查主板。 7短:说明系统实模式错误,不能切换到保护模式。 8短:说明显示内存错误。 显示内存有问题,更换显卡试试。 9短:说明BIOS芯片检验和错误。 1长3短:说明内存错误。 内存损坏,更换。 1长8短:说明显示测试错误。 显示器数据线没插好或显示卡没插牢。 现象四:系统能启动,有视频,出现故障提示,这时可以根据提示来判断故障部位。 下面就是一些常见的故障提示的判断: 一、提示“CMOS Battery State Low” 原因:CMOS参数丢失,有时可以启动,使用一段时间后死机,这种现象大多是CMOS供电不足引起的。 对于不同的CMOS供电方式,采取不同的措施: 1.焊接式电池:用电烙铁重新焊上一颗新电池即可; 2.钮扣式电池:直接更换; 3.芯片式:更换此芯片,最好采用相同型号芯片替换。 如果更换电池后时间不长又出现同样现象的话,很可能是主板漏电,可检查主板上的二极管或电容是否损坏,也可以跳线使用外接电池,不过这些都需要有一定的硬件维修基础才能完成。 二、提示“CMOS Checksum Failure” CMOS中的BIOS检验和读出错;提示“CMOS System Option Not Set”, CMOS系统未设置;提示“CMOS Display Type Mismatch ”,CMOS中显示类型的设置与实测不一致;提示“CMOS Memory Size Mismatch”,主板上的主存储器与CMOS中设置的不一样;提示“CMOS Time & Date Not Set ”,CMOS中的时间和日期没有设置。 这些都需要对CMOS重新设置。 三、提示“Keyboard Interface Error”后死机 原因:主板上键盘接口不能使用,拔下键盘,重新插入后又能正常启动系统,使用一段时间后键盘无反应,这种现象主要是多次拔插键盘引起主板键盘接口松动,拆下主板用电烙铁重新焊接好即可;也可能是带电拔插键盘,引起主板上一个保险电阻断了(在主板上标记为Fn的东西),换上一个1欧姆/0.5瓦的电阻即可。 四、自检过程中断在xxxK Cache处 这表示主板上Cache损坏,可以在CMOS设置中将“External Cache”项设为“Disable”故障即可排除。 同理,在自检主板部件时出现中断,则可以认为该部件损坏,解决方法一般可以在CMOS中将其屏蔽,如果不能屏蔽该部件最好更换主板。 五、提示“FDD Controller Failure” BIOS不能与软盘驱动器交换信息;提示“HDD Controller Failure”, BIOS不能与硬盘驱动器交换信息。 应检查FDD(HDD)控制卡及电缆。 六、提示“8042 Gate A20 Error ” 8042芯片坏;提示“DMA Error”, DMA 控制器坏。 这种故障需要更换。 七、提示“Display Switch Not Proper” 主板上的显示模式跳线设置错误,重新跳线。 八、提示“Keyboard is it” 键盘被锁住,打开锁后重新引导系统。 九、IDE接口设备检测信息为:“Detecting Primary (或Secondary)Master(或Slave)... None” 表示该IDE接口都没有找到硬盘,如果该IDE口确实接有硬盘的话,则说明硬盘没接上或硬盘有故障,可以从以下几方面检查: 1、硬盘电源线和数据线是否接触不良,或换一根线试试; 2、CMOS设置有无错误,进入CMOS将“Primary Master”、“Primary Slave”、“Secondary Master”三项的的“TYPE”都设置成“Auto”; 3、替换法确认硬盘本身有故障。 十、IDE接口设备检测信息下面显示“Floppy disk(s) fail(40)”出错信息 表示CMOS所指定的软盘驱动器有问题。 判断和解决的方法与硬盘相似。 现象五:系统不能引导。 这种故障一般都不是严重问题,只是系统在找到的用于引导的驱动器中找不到引导文件,比如:BIOS的引导驱动器设置中将软驱排在了硬盘驱动的前面,而软驱中又放有没有引导系统的软盘或者BIOS的引导驱动器设置中将光驱排在了硬盘驱动的前面,而光驱中又放有没有引导系统的光盘,这个都很简单,将光盘或软盘取出就可以了,实际应用中遇到“Disk Boot Failure,Insert System Disk And Press Enter”的提示,多数都是这个原因。 如果是硬盘不能引导的话一般有两种情况:一种是硬盘数据线没有插好,另一种就是硬盘数据损坏。 前者一般多会出现硬盘容量检测不正确和引导时出现死机的现象;后者则是干脆找不到引导文件或提示文件损坏。 前者只需重新连接好数据线即可;后者则需要用win98的启动软盘或启动光盘启动,根据实际情况来定: 一、提示“Invalid partition table”或“Not Found any [active partition] in HDD Disk Boot Failure,Insert System Disk And Press Enter” ,这说明找不到硬盘活动分区,需要对硬盘重新分区。 二、提示“Miss operation syste”,说明硬盘活动分区需要重新格式化(format c:/s)。 三、提示“Invalid system disk Replace the disk, and then press any key”或显示“Starting Windows 98 …”时出现死机,说明硬盘上的系统文件丢失了或损坏,使用“sys c:”,命令传递系统文件给c盘,再将拷贝给c盘。 现象六:硬盘可以引导,但Windows不能正常启动,也不能进入安全模式。 这种情况表明Windows 98出现了严重的错误,首先,用杀毒软件查杀病毒,看是不是病毒造成的,如果没有发现病毒可以用以下方法试一试。 一、直接将接口卡与各个外设都拨去,再插回去,并调整接口卡上的设置(如果可以的话)来检查是否是硬件冲突造成,开机看看是否 可正常进入Windows。 二、检查CMOS中的设置是否 有不正确的地方,若不清楚,可选择Load Bios Default项目,然后重开机,开机看是否可正常进入Windows。 三、在启动时按下F8键,一般会出现6个选项(如果安装了DOS6.22则出现7个选项)选择第4项“step-by-step confirmation”进入单步运行方式,按照出现死机的命令选择处理方法: 1、执行“Process the system registry”计算机就死机,说明是注册表故障,那么可以重新启动按F8键,选第4项后,只在Device= 这一项上按“Y”,其余的按“N”后,在DOS提示符下输入Scanreg /fix 修复注册表或者是 scanreg /restore恢复到以前系统自动备份的注册表后,再重新启动即可。 2、在出现“Create a startup log file () [Enter=Y,Esc=N]”时,选择Y建立这个文件,可以检查启动过程中各个系统文件装载的情况。 如果在装载某一个文件时死机,可以到其它计算机上复制该文件拷贝过来。 3、如果是一启动就出现“现在可以安全地关闭计算机了”,一般是因为Windows的System目录的被损坏,可以到其它计算机上重新复制一个过来。 4、一启动就出现蓝屏并显示“VFAT Devcie Initialization Faild”,表示调用Windows目录下的和文件出了问题,可以在文件中手工加入如: “device=”和“devicehigh=”,如果还是不行,则表明这两个文件己损坏,可以到其他计算机上新复制过来一份。 四、使用文本编辑程序将文件中的LOGO参数设置为“0”,关闭后再开机时,看看是否 可进入Windows,若还是不行,则只能重新安装Windows系统了。 在重装Windows时,建议先采用覆盖原来的Windows的方法,这样做的好处是:如果故障能够排除,原来的许多应用程序就不用再安装了;如果覆盖式安装不能解决问题,再采用硬盘格式化之后安装Windows的方法。 现象七:Windows无法启动,但能进入安全模式。 这种故障一般问题不大,修复的几率较高。 具体可以参照下面的几种方法去做: 一、在安装新设备后不能正常启动,进入安全模式后,在“控制面板”--“系统”中选择“设备管理器”选项卡,在列出的所有设备中查找前有一个感叹号冲突的设备,如果有的话,打开这个设备的“属性”,查看“资源”选项卡,看看这个设备与其它设备的中断冲突,然后取消“自动设置”复选框,单击“更改设置”按钮,选择一个没有使用的中断号即可。 如果还不行,则可以在设备属性中选择“常规”选项卡,选中“在此硬件配置文件中禁用”复选框,如果能正常启动成功,证明这个硬件的驱动程序可能有问题,可以在设备管理器中将它删除后重装驱动程序。 二、安装了启动时自动运行软的后不能正常启动,可以将其卸载,待系统可以正常启动后,尝试重新安装。 顺便说一句,安装系统启动时自动运行的软件不要与其它软件在同一次启动中安装可以减少此类故障。 三、电脑启动时自动运行的文件出现故障造成Windows不能正常启动,或者前一种情况软件无法卸载(包括不能完全卸载)的,可以到下面的地方找到并将其删除: 1、“开始”菜单内的“程序”文件夹中的“启动”文件夹内。 2、与中,若有则在该行前面加上“rem”不让它运行。 通常防病毒程序都会在这两个文件中加入要执行的程序。 3、Window目录下的中[Windows]段中的Run或Load参数后,这里也可以在该行前加上“Rem”,不让它执行。 4、注册表(Registry)中,运行注册表编辑器(Regedit),进入编辑器后利用“编辑”中的“查找”功能查找产生故障的自动可执行文件,将不要执行项目的主键删除或将文件更名。 注意:修改注册表时,要事先用“导出注册表文件”的方法做好备份。 四、如果在系统启动时提示丢失了某些在文件中的、.386等文件,你可以到其他计算机上拷贝相应的文件到对应的位置,如果还不行,你还可以备份你的Windows 98安装目录下文件,然后用文本编辑器打开文件找到相应的或.386的那一行,将该行删除即可,如果修改有误,再用备份还原即可。 五、如果 Windows不能正常启动是由系统文件损坏造成的,可以运行在Windowssystem目录下的文件来检查并恢复遗失或损毁的系统文件,如果产生问题的那个文件是Windows系统需要用到的,则会被修复回来。 六、如果Windows不能正常启动是由文件版本冲突造成的,可以运行Windows目录下的文件,找出产生问题的文件后,选择“恢复所选文件(R)”按扭,则Windows98会自动用不同号的版本取代目前使用文件,而版本冲突管理器也会给这个被取代的文件制作备份,可以再换回来。 好了,电脑不能正常启动故障的诊治就讲这么多,文章中没有提到的故障可以参考本文作以下处理:硬件类,采用替换或更换插槽的方法判断和排除故障;软件类就更简单了,大不了格式化硬盘、重装系统!不过笔者还是建议:在系统稳定时做一个克隆,这样需要时回“克”一下就行了。 新焊的板子,烧程序时候一直发生擦写FLASH错误,不知道怎么回事

checksum这个校验的文件咋用?

校验和(Checksum)PE的可选映像头(IMAGE_OPTION_HEADER)里面,有一个Checksum字段,是该文件的校验和,一般EXE文件可以使0,但一些重要的和系统DLL及驱动文件必须有一个校验和 提供了一个API函数MapFileAndCheckSum 测试文件的Checksum,它位于链接库里,其原型:ULONG MapFileAndCheckSum{ LPSTR FileName, // 文件名 LPDWORD HeaderSum, // 指向PE文件头的CheckSum LPDWORD new_checksum// 指向新计算出的Checksum}程序一旦运行后,new_checksum 地址处将放当前的文件的校验和,old_checksum地址指向PE文件的checksum字段安全的方法是将此值放在注册表里,需要时比较.内存映像校验磁盘文件完整性校验可以抵抗解密者直接修改文件,但对内存补丁却没有效果,必须对内存关键的代码进行校验.1 对整个代码进行校验每个程序至少有一个代码区块和数据区块,数据区块属性可读写,程序运行时全局变量通常会放在这里,这些数据会动态变化,因此校验这部分是没什么意义,而代码段只读,存放的是程序代码,在程序中数据数不会变的,因此用这部分进行内存校验是可行的.具体实现方法:(1) 从内存中映像中得到PE相关数据,如代码块的RVA和内存大小(2) 根据得到代码区块的RVA值和内存大小,计算出内存数据的CRC-32值(3) 读取自身文件先前存储的CRC-32值(PE文件头前一个字段),这个值是通过软件写进去的.(4) 比较两个CRC-32值.这样比较内存的代码段校验,只要内存的数据被修改,就能发现。BOOL CodeSectionCRC32(){ PIMAGE_DOS_HEADER pDosHeader = NULL; PIMAGE_NT_HEADERS pNTHeader = NULL; PIMAGE_SECTION_HEADER pSection = NULL; DWORD ImageBase,OriginalCRC32;ImageBase = (DWORD)GetModuleHandle(NULL); // 取基址 pDosHeader = (PIMAGE_DOS_HEADER)ImageBase; pNtHeader = (PIMAGE_NT_HEADER32)((DWORD)pDosHeader + pDosHeader -> e_lfanew);// 定位到PE文件头前4个字节值,并读取存储在这里的CRC -32值OriginalCRC32 = *((DWORD*)(DWORD)pNtHeader - 4);pSecHeader = IMAGE_FIRST_SECTION(pNtHeader);// 得到第一个区块的地址//假设第一个区块就是代码区块if(OriginalCRC32 == CRC32((BYTE*)ImageBase + pSecHeader -> VirtualAddress)// 为了方便加壳// 上一句也可为if(OriginalCRC32 == CRC32((BYTE *)0x, 0x36AE)return TRUE;elsereturn FALSE;}

本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!

相关阅读

添加新评论