| How to find and patch an injected DLL | ||||||||||
Target: CreateInstall version 2003.3.5 (3w.gentee.com) Tools used:
| ||||||||||
| About the product | ||||||||||
CreateInstall is a versatile tool for creation of application installers, self-extracting archives etc. CreateInstall has a very impressive set of features, including the built-in scripting language that can be used for creation of the installation scripts. CreateInstall is very user-friendly and you will find that most of its features are logically grouped into multiple wizard-like pages. If you do not need a feature, just leave the default value in the parameter and it will most likely suit your needs. Now, let's create professional, tightly-packed setup programs for your great applications! Key features:
| ||||||||||
| What the Trial is? | ||||||||||
| The program help says next. CreateInstall is not freeware. After using CreateInstall for 30 days, you must either purchase it or delete it from your computer. During the 30-day trial period, you may test the program and create installation programs without any restriction. However, all installations created with the trial version will display a 'nag' message at the beginning of the installation process. Knowing all the above, let's try to compile a little project. Run CreateInstall (CreateInstall.exe). Choose Project/New menu. Type "Biw project" in the project name string and press OK. Change output folder parameter (at Project tab) to a path where future installation will be created (e.g. "C:/TMP/Biw project"). Go to Files tab, push "+" button, then add some files into your project. Also you have to set a group name, e.g. "BiW". After that press OK button. Switch to Wizard tab, choose General from the list below. Type "Biw application" in Application name field. Now choose Unpack tab, press "+", select "BiW" (or how did you call it) from Data Group Name combo box, then push OK. Now make sure that setup will include the uninstaller. This can be done by switching to Uninstallation tab. Check that flag "Include Uninstaller" has been set by setup (it should be set by default). Leave all the rest of parameters. Select Setup/Make Setup menu item. Now, wait for a while. Program should write Finish successful in the console window. Press any key to close it. Then close CreateInstall itself. Let's prepare to see what have we just created. | ||||||||||
| The installation we've made | ||||||||||
Run setup.exe from the folder that you specified as the output (My was in "C:/TMP/Biw project"). What do you see? You see the message, which says: "This setup was made with CreateInstall (unregistered Trial version)...", bla, bla, bla... You may also noticed that before "Continue" button appeared we had 3 seconds to wait. After that period the button has changed its caption to "Continue" and became enabled. Do not press the button yet. Fire up SoftIce, type "bpx DestroyWindow" in it, let it run (F5). Note: I used that API function, because I didn't know what the NAG window was created with. I mean that window could be created with different API functions, like MessageBox, CreateDialog, CreateWindow, etc. Who knows what function program uses. Of course you may know that by disassembling the module, but it's not always possible. That's why by grabbing at DestroyWindow API you can be 99% sure that you will find a place where the NAG window was called from. Now push the button... Bang! SoftIce has poped-up. Press F11 to return from the calling function. Then push F12 four times (a number of times depends upon a program you're cracking). You should settle down in here: 1000C240 : A1A03C0110 mov eax,[10013CA0] 1000C245 : 6A00 push 00 1000C247 : 68F0C10010 push 1000C1F0 1000C24C : 6A00 push 00 1000C24E : 6A73 push 73 1000C250 : 50 push eax 1000C251 : FF15DC010110 call DialogBoxParamA ; creates modal dialog box 1000C257 : C3 ret ; <= you should land hereThat's the dialog you've seen. Now press F10 to return from the call and you will be taken here: 1000D0C7 : E834FDFFFF call 1000CE00 1000D0CC : 83F802 cmp eax,02 ; if (eax != 2) bad boy 1000D0CF : 7405 je 1000D0D6 ; jumps if registered 1000D0D1 : E86AF1FFFF call 1000C240 ; the NAG lays here 1000D0D6 : E835BAFFFF call 10008B10 ; <= you're here 1000D0DB : 68AC370110 push 100137AC 1000D0E0 : 6A00 push 00 1000D0E2 : 6A04 push 04 1000D0E4 : 6800D00010 push 1000D000 1000D0E9 : E8C25EFFFF call 10002FB0 I suppose everything's pretty clear here. Program brings you the splash when eax not equals to 2. Well, how it will be equal to that number, if you're not registered user? That's right, no how. Thus, you have to change one byte in code to shut up the NAG. You have to change byte 74 to EB at address 1000D0CF. By doing that you cause the program to jump over the dialog call. Now we know what to do to avoid the message, but where we will find that code. Look at the module name, in which we're now. It name is "gert0!.text+C0D1" or something about that (it may depend on a program version). Now we know all the information we need. Clear the breakpoint we've set before by the command "bc 0", and let the program run (F5 or Ctrl+D by default). | ||||||||||
| Doomed to destruction | ||||||||||
Do not install program yet, and don't exit the installation. Otherwise it will delete all its temp files and won't find the file we need. Let's search for the file. As I work under Windows XP I have TEMP folder in "C:/Documents and Settings/Leon/Local Settings/temp/". If you don't know where yours then check your environment variables settings. It's very important to know where your TEMP is, because otherwise you won't find the file we need. Search in your TEMP folder for a file which name starts from "gert0". I've found one with name "gert0.dll". Its size equals to 90,112 bytes. We should guess that it's a DLL, because in SoftIce we've seen all the addresses begin from 1000. DLL's usually begin from such (or something close) addresses. Let's go into CreateInstall directory. Start your favorite shell (personally I use FAR) or some string searcher to search the message we saw. Search for the string "This setup was made", but search over the whole program directory. Other words, search from the root of CreateInstall folder including all its subdirectories. I found that NAG only in one file "inststd.dll", which lays in the subfolder "Resource". Besides, its size the same 90,112 bytes. You may compare "gert0.dll" with "inststd.dll" to find out that they're absolutely binary equal. When we made setup.exe the installation creator program included "inststd.dll" into the first one. Therefore CreateInstall always includes that DLL into a compiled project. Thus, we have to patch that DLL once, and all the future projects will be patched (they will be without NAG). Now continue the installation to a directory you like (e.g. "C:/A/Biw application"). Once you've done that go into the folder you just chose during the installation. When you will be in it you'll see all the files you've specified during the project compilation and also two more files: uninstall.exe and uninstall.ini. Run uninstall.exe. You see the same message here. What does it mean for us? It means only one thing - the NAG is situated ONLY in the file "inststd.dll" and nowhere else. Thus, when we will patch it once, all the reminders will be blown away from our installer and uninstaller. Now uninstall the program and let's patch the cursed DLL. | ||||||||||
| A million bucks for a byte | ||||||||||
Start RVA Converter. Open file "inststd.dll" in it. Input 1000D0CF as the RVA value. You will get D0CF as the real file address. We take this address because there's the jump at that address, which concerns the message or jumps over it. After the patch your file should look like the below one. D0C7 : E834FDFFFF call 1000CE00 D0CC : 83F802 cmp eax,02 D0CF : EB05 jmp 1000D0D6 ; set registered status forever D0D1 : E86AF1FFFF call 1000C240 ; <= always jump over this NAG D0D6 : E835BAFFFF call 10008B10Compare the patch by checking the table below.
Note: disassemble the file "inststd.dll" with IDA. Try to search "call 1000C240" over the whole disassembly list. You will find that string only once. You might say: so what? This call causes the NAG to appear. Thus, if we have it here, it can be anywhere else in the executable. That's why we have to find all the places where it can be. The advise! If you will ever find more than one of such call - DO NOT patch everywhere you've found it, but patch the call itself, so it return the value a program needs to think its registered. Run CreateInstall. Compile your project again. Run the new setup.exe. WOW! There's no crappy message at all. Good. Let's finish the installation. Go in the folder into which you've just installed all the files ("C:/A/Biw application"). Run uninstall.exe. Double WOW!! No damn NAG here too. Well, it's because our conjecture was right: the same DLL was used in the installer and uninstaller during the compilation of the project. That's all for that DLL, but there's some things I don't like in this program. They should be corrected. | ||||||||||
| Fixing "wrong" inscriptions | ||||||||||
There's one thing we've left to do - to remove "Trial" word from the main program caption and from the about dialog of the Help menu. Open CreateInstall.exe with Hiew. Search for the string "CreateInstall Trial", yes, exactly just like we see it in caption. I found one at address 38DDE. To remove damn word just correct byte 20 at 38DDD to 00. That's because we've found C-style string, which terminated by null (00) byte. Thus, if we put it to a place in the string, it will be terminated exactly where we have put the null character. Note: all C strings are terminated by null character, but Delphi strings have their length at the beginning of themselves. They have their length in the first byte or in the first four bytes. It depends on a string length. Now search for the word "Trial". This word you might seen in the Help/About dialog. I found it at address 390A8. It looks so "Trial v%s". This's an usual C-construction. Replace it with " Full v%s". Other words, replace word "Trial" with " Full". Exactly so, because otherwise, if you will put null byte as the first byte, program will think that there's no string at all (string with zero length). Run CreateInstall.exe. It looks good now. No delirium "Trial" word in caption. Check also Help/About dialog. In this dialog we see our " Full" word instead of the original variant. Now, when you see it you're understanding why did we add one space at the beginning of the string. | ||||||||||
| Final words | ||||||||||
Set your system clock, let's say to 5 years forward and run the program again. It works fine. It means that help is honest and programmers have included only the sticky message at the start-up of an installation. Ok, now set your clock time back to the current year. That was a short and not hard story. I hope you will learn something from it. As for me I like that program very much, because it's fast and takes a little of HDD space. To be honest, I've never seen such a good install maker. It has pretty fast compressor and fast decompressor. Install Shield has nothing to do with CreateInstall, because the first one is too slow. Other words, I recommend you to use this tool, because I've seen a lot of tools of such kind and I can say that CreateInstall is one of the best in this class of tools. The only pity is its weak protection. All rights reversed (c)2004 - BiW Reversing - http://biw.rult.at - The challenge is yours |
相关推荐
Delphi 13.2控件之SoloMD-5.0.21-x64-en-US.msi
Delphi 13.2控件之SoloMD_5.0.21_x64_en-US.msi
全桥LLC谐振(变频+移相混合控制)变换器闭环仿真模型(Simulink仿真实现)
内容概要:本文详细介绍了全桥LLC谐振变换器在变频控制(PFM)与移相控制相结合的混合控制策略下的闭环仿真模型构建过程,基于Simulink平台实现。该变换器通过融合两种控制方式的优势,实现了高效、稳定的电压调节与软开关特性,适用于中高功率DC-DC转换应用场景。文档系统阐述了系统建模、控制环路设计(包括电压外环与电流内环)、谐振腔关键参数计算、PWM信号生成及闭环反馈机制的实现方法,并通过仿真验证了在不同负载条件下输出电压的稳定性、动态响应性能以及零电压开关(ZVS)的实现效果。同时,文中探讨了该模型与PFC、CLLC、DAB等其他电力电子系统的协同仿真潜力,凸显其在现代电力电子系统设计与研究中的重要价值。; 适合人群:具备扎实的电力电子技术理论基础,熟悉Simulink/Matlab仿真环境,从事开关电源、新能源变换器、电力电子系统设计及相关领域研发工作的工程师与高校研究生。; 使用场景及目标:①用于高校教学与科研项目中,帮助学生深入理解LLC谐振变换器的工作原理、谐振特性及混合控制策略的实现逻辑;②为工业界全桥LLC电源产品的开发提供高保真的仿真原型与设计参考,加速产品迭代;③支持研究人员对变频-移相混合控制下的系统效率优化、动态响应提升、软开关范围拓展等关键技术问题进行深入探究。; 阅读建议:建议读者结合所提供的Simulink仿真模型文件进行实操学习,重点关注控制环路中PI参数的整定过程与谐振元件(如谐振电感、励磁电感、谐振电容)设计之间的强耦合关系,并通过主动调整输入电压、负载大小等工况条件,观察系统的启动过程、稳态性能和抗干扰能力,从而深刻掌握LLC变换器的非线性动态行为与控制规律。
日本CMP EBARA技术材料全套
EBARA 内部培训资料 EBARA OEM Manual
考虑风光火储+需求响应+P2G多能源系统NSGA-II多目标优化调度(Matlab代码实现)
内容概要:本文针对包含风能、光伏、火电、储能系统、电力转气(P2G)及需求响应的多能源系统,提出了一种基于NSGA-II多目标优化算法的调度模型,并通过Matlab代码实现了仿真求解。该模型综合考虑了系统运行的经济性、环保性以及能源利用效率等多个优化目标,旨在实现多能源系统在复杂约束条件下的协调优化与高效调度。研究详细构建了各类能源单元的数学模型,阐述了P2G技术的工作机理与需求响应机制,建立了完整的多目标优化问题框架,并利用NSGA-II算法求解获得Pareto最优解集,为决策者提供了多样化、权衡明确的调度方案选择。; 适合人群:具备一定电力系统、能源系统或优化理论基础,熟悉Matlab编程与基本优化算法(如遗传算法)的科研人员、研究生及工程技术人员。; 使用场景及目标:① 掌握多能源系统集成建模方法,理解风光火储与P2G、需求响应的协同机制;② 学习NSGA-II等多目标进化算法在复杂工程优化问题中的应用流程与实现技巧;③ 获取可用于科研复现、课题研究或工程方案设计的Matlab代码参考与仿真框架。; 阅读建议:建议读者结合Matlab代码逐步理解模型构建与算法实现细节,重点关注目标函数设计、约束条件处理及Pareto前沿的分析方法,有条件者可进一步扩展模型规模或引入新的优化算法进行对比研究。
数字工厂AI大模型赋能智能体平台及AI场景应用规划方案(决策评审版).pptx
数字工厂AI大模型赋能智能体平台及AI场景应用规划方案(决策评审版).pptx
企业AIDC人工智能数据中心AI大模型赋能智能体平台及AI场景应用规划方案(技术方案版).pptx
企业AIDC人工智能数据中心AI大模型赋能智能体平台及AI场景应用规划方案(技术方案版).pptx
优快云首页 发布文章 优快云同步助手 有限元悬臂梁-含一维和二维多种单元类型研究(Matlab代码实现) 34 100 摘要:会在推荐、列表等场景外露,帮助读者快速了解内容,支持一键将
内容概要:本文针对无线传感器网络(WSN)中因节点能量受限而导致网络寿命缩短的问题,提出了一种改进型LEACH协议,旨在有效延长网络生命周期。该协议在传统LEACH协议基础上,通过优化簇头选举机制、均衡节点剩余能量分布、改进数据聚合与传输策略等方式,显著缓解了部分节点因过度负载而过早死亡的现象。文中系统阐述了改进协议的设计原理、算法流程及关键参数设置,并基于Matlab平台构建仿真环境,通过与原始LEACH协议的对比实验,验证了该改进方案在延长网络生存时间、提升能量利用效率和增强数据传输稳定性方面的优越性能。; 适合人群:具备无线传感器网络基础知识和Matlab编程能力的高校研究生、科研人员以及从事物联网、边缘计算等相关领域技术研发的工程师。; 使用场景及目标:①作为教学案例用于讲授WSN路由协议设计与优化方法;②为实际物联网系统开发提供可借鉴的能量高效型通信协议解决方案;③支撑学术研究中对LEACH类协议性能评估与改进策略验证的需求,助力相关论文撰写与课题研究。; 阅读建议:建议读者结合文中的Matlab代码实现部分进行仿真实验,通过调整网络规模、节点分布、能量参数等变量,深入理解协议运行机制与性能影响因素,并可在现有基础上进一步探索引入分簇优化、多跳传输或机器学习辅助决策等高级改进策略。
MacOS设置检测到被远程时熄屏
MacOS设置检测到被远程时熄屏
基于粒子群优化算法的三方三层的主从博弈能源系统优化模型研究(Matlab代码实现)
内容概要:本文研究了一种基于粒子群优化算法的三方三层主从博弈能源系统优化模型,旨在实现综合能源系统的多目标优化调度。该模型综合考虑了风能、太阳能、火电、压缩空气储能、抽水蓄能及电化学储能等多种能源形式的联合调度问题,通过构建主从博弈架构协调不同利益主体间的决策行为,以实现系统经济性、稳定性与低碳化的协同优化。研究采用粒子群优化算法求解该复杂非线性优化问题,并结合IEEE 39节点系统进行潮流计算与电能质量分析,验证了所提模型在降低运行成本、削减负荷峰谷差、减少碳排放等方面的综合效益。; 适合人群:具备电力系统分析、优化算法或博弈论基础知识的科研人员、电气工程及相关专业的研究生,以及从事能源系统规划与运行管理的技术人员。; 使用场景及目标:①应用于综合能源系统(IES)的容量配置与多主体协同运行优化;②适用于高比例可再生能源接入下的电网调度与多类型储能协同控制;③为多利益主体参与的分布式能源交易、市场竞价及博弈决策提供算法支持与建模框架。; 阅读建议:读者应重点关注模型的三层架构设计、主从博弈的数学建模过程以及粒子群算法的实现细节,结合提供的Matlab代码进行仿真复现,深入理解算法在多目标优化中的收敛特性与工程适用性。
考虑一次调频以及二次调频和各机组调频特性的双目标风光水火储动态调度研究(Matlab代码实现)
考虑一次调频以及二次调频和各机组调频特性的双目标风光水火储动态调度研究(Matlab代码实现)内容概要:本文研究了一种考虑一次调频、二次调频以及各机组调频特性的双目标优化模型,用于风光水火储多能互补系统的动态调度问题。该模型以系统运行成本最小化和新能源消纳最大化为双重优化目标,综合考虑了各类电源的出力特性、储能系统的充放电行为及电网频率响应要求。通过Matlab编程实现了完整的求解流程,采用多目标优化算法对复杂约束条件下的调度方案进行求解,并对不同场景下的调度结果进行仿真分析,验证了所提模型在提升系统经济性与稳定性方面的有效性。研究还探讨了储能系统在平抑新能源波动、参与频率调节中的关键作用,为高比例可再生能源接入下的电力系统调度提供了理论支持和技术路径。; 适合人群:具备一定电力系统基础知识和Matlab编程能力,从事新能源调度、电力系统优化等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①解决含多种能源形式的复杂电力系统在实际运行中的动态调度问题;②研究储能系统在调频和促进新能源消纳中的协同机制;③掌握多目标优化在电力系统调度中的建模与实现方法; 阅读建议:建议读者结合Matlab代码深入理解模型构建与求解过程,重点关注目标函数设计、约束条件处理及多目标折衷分析方法,同时可通过修改参数进行不同场景的仿真实验,以加深对系统动态行为的理解。
图腾柱无桥PFC变换器+平均电流控制+PI电压双闭环前馈控制设计(Simulink仿真实现)
内容概要:本文系统研究了图腾柱无桥PFC变换器的高性能控制策略,采用平均电流控制与PI电压双闭环前馈控制相结合的方法,并基于Simulink平台构建了完整的仿真模型进行验证。文章深入剖析了控制系统的结构设计,重点阐述了电压外环与电流内环的协同工作机理,其中前馈控制的引入显著增强了系统对输入扰动的抑制能力和动态响应速度。通过仿真结果表明,该复合控制策略能够有效实现单位功率因数运行,大幅降低输入电流的总谐波畸变率(THD),同时确保直流母线电压具有优异的稳态精度和快速跟踪能力。本研究为高效率、高功率密度的PFC变换器设计提供了坚实的理论支撑和可靠的实践范例。; 适合人群:从事电力电子、电气自动化、新能源变换器研发的高校研究生、科研人员及企业工程师。; 使用场景及目标:①掌握图腾柱无桥PFC变换器的工作原理与建模方法;②深入理解平均电流控制、PI双闭环及前馈控制在电力电子系统中的综合应用;③学习使用Simulink进行电力电子变换器的系统级仿真与性能分析。; 阅读建议:建议读者结合文中提供的仿真模型,分模块(主电路、控制逻辑、调制环节)进行参数设置与仿真调试,重点关注电压环与电流环的动态响应、稳态精度以及THD指标的变化,以深化对控制策略的理解。
主动配电网故障恢复的重构与孤岛划分统一模型研究升级版本(Matlab代码实现)
内容概要:本文研究了一种主动配电网故障恢复的重构与孤岛划分统一模型,并提供了基于Matlab的代码实现。该模型旨在配电网发生故障后,通过网络重构和孤岛划分的协同优化,快速恢复尽可能多的重要负荷供电,同时确保系统的安全稳定运行。研究综合考虑了分布式电源、负荷分级、网络拓扑约束以及电气约束(如潮流、电压、线路容量)等因素,构建了一个多目标、多约束的混合整数非线性优化问题,并采用先进的优化算法进行高效求解,以实现故障后的最优恢复策略。相较于传统方法,该统一模型更具系统性和全局性,能够有效提升配电网的韧性与自愈能力。; 适合人群:具备电力系统分析、优化算法及Matlab编程基础,从事智能配电网、微电网、电力系统自动化、配电系统运行与控制等相关领域研究的研发人员、高校师生及工程技术人员。; 使用场景及目标:① 学习和掌握主动配电网在故障情况下的高级恢复策略,特别是网络重构与孤岛划分的协同优化原理与方法;② 理解如何将复杂的电力系统运行问题转化为可计算的数学优化模型,掌握目标函数设计、约束条件建模的技巧;③ 获取一套完整的、可用于科研验证、教学演示或工程方案预研的Matlab代码实例,加速自身研究进程。; 阅读建议:在阅读时,应系统性地梳理模型的构建逻辑,深入理解其目标函数中各项(如负荷恢复量、网络损耗、操作成本等)的物理意义与权重设置,以及各类电气和拓扑约束的具体表达形式。务必结合所提供的Matlab代码,动手调试、运行仿真案例,通过改变参数和网络结构来观察优化结果的变化,从而深刻掌握算法的实现细节、求解器的使用方法以及模型的适应性与局限性,最终实现对该技术的融会贯通与创新应用。
基于可靠性评估序贯蒙特卡洛模拟法的配电网可靠性评估研究(Matlab代码实现)
内容概要:本文系统研究了基于序贯蒙特卡洛模拟法的配电网可靠性评估方法,重点聚焦于其在含分布式电源的复杂配电网中的应用。文章深入阐述了该方法的理论基础与实现流程,通过建立配电网元件的故障与修复过程的时间序列模型,模拟系统在长期运行中的状态演变,进而精确统计系统及负荷点的关键可靠性指标,如系统平均停电频率(SAIFI)、系统平均停电持续时间(SAIDI)、用户平均停电时间(CAIDI)等。研究依托Matlab平台完成了完整的仿真程序开发,并通过典型算例验证了所提方法的有效性与工程实用性。该方法能够充分考虑系统的时序特性与元件间的相关性,尤其适用于高比例分布式电源接入后带来的随机性与波动性较强的新型配电网可靠性分析。; 适合人群:具备电力系统分析基础知识和一定Matlab编程能力的高校研究生、科研机构研究人员,以及从事配电网规划、运行维护与风险管理的工程技术人员。; 使用场景及目标:①掌握序贯蒙特卡洛模拟法在电力系统可靠性评估中的核心原理与具体实施步骤;②学习如何利用Matlab进行配电网时序仿真建模与可靠性指标的自动化计算;③为含分布式电源的现代配电网的规划设计、运行风险评估及韧性提升提供科学的量化分析工具与技术支撑。; 阅读建议:建议读者结合文中提供的Matlab代码实现,逐行调试并运行仿真程序,深入理解状态抽样、时间推进、故障遍历、指标累加等关键算法环节,并鼓励尝试将其应用于不同的网络拓扑结构或引入更多类型的分布式电源模型,以深化对方法适应性与扩展性的理解。
KingCode编程助手
KingCode 是一个基于 Bun + TypeScript + OpenTUI 的终端 AI 编程助手。通过自然语言驱动 33 个工具完成文件读写、 搜索、Git、MySQL、网页抓取、浏览器渲染、天气查询等任务,支持本地 Ollama 与 OpenAI 兼容 API,并可编译为单文件 exe。
基于多策略改进蜣螂算法(MSDBO)的多无人机协同三维避障路径规划研究(Matlab代码实现)
内容概要:本文研究基于多策略改进的蜣螂优化算法(MSDBO)在多无人机协同三维避障路径规划中的应用,旨在解决复杂环境下多无人机安全、高效飞行的路径规划问题。通过引入多种优化策略对传统蜣螂算法进行改进,显著增强了算法的全局搜索能力、收敛速度与避障性能,并结合三维空间建模与多无人机协同机制,构建以路径成本(如距离、高度、威胁、转角等)为目标函数的优化模型。文中系统阐述了算法设计原理、路径规划建模方法及仿真实验过程,通过多场景对比实验验证了MSDBO算法在路径安全性、规划效率和多机协同性方面的优越性与鲁棒性。; 适合人群:具备一定算法基础和MATLAB编程能力,从事无人机控制、路径规划、智能优化算法研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①解决城市、山区等复杂环境下的多无人机协同飞行路径规划问题;②提升无人机集群在动态障碍物环境中的自主避障与协同能力;③为智能交通、应急救援、军事侦察等领域的多智能体路径规划提供技术支持。; 阅读建议:建议结合提供的Matlab代码进行仿真实践,深入理解算法实现细节与参数调优方法,同时可尝试在不同场景下测试算法性能,进一步掌握其适用边界与优化潜力。
阅读档案 低年级版.docx
阅读档案 低年级版.docx
【储能选址定容】基于多目标粒子群算法的配电网储能选址定容(Matlab代码实现)
内容概要:本文系统阐述了基于多目标粒子群算法(MOPSO)的配电网储能系统选址与定容方法,并提供了完整的Matlab代码实现。研究围绕新型电力系统背景下储能配置的优化需求,构建了一个涵盖经济性、网络损耗、电压质量等多维度的综合优化目标函数,通过MOPSO算法求解获得储能设备的最优安装位置与容量配置方案。文中详细论述了算法的数学模型构建、粒子编码策略、约束条件处理机制以及Pareto最优解集的生成与评价过程,充分展示了该方法在提升配电网运行效率、改善电压稳定性和促进新能源消纳方面的有效性与实用性。; 适合人群:具备电力系统分析、优化算法理论基础及Matlab编程能力的研究生、科研人员,以及从事电力系统规划、运行优化与新能源并网相关工作的工程技术人员。; 使用场景及目标:①为含高比例分布式电源的配电网提供科学、高效的储能系统规划方案;②作为多目标智能优化算法在电力系统中实际应用的教学案例与研究基础;③支撑主动配电网的优化运行与韧性提升策略制定; 阅读建议:建议读者结合Matlab代码与文中的理论模型进行对照学习,重点掌握目标函数的量化方法、算法参数的设置技巧、约束条件的惩罚函数处理以及Pareto前沿的分析解读,鼓励在标准IEEE测试系统上进行复现实验,以深入理解算法性能并开展对比研究。
基于斜坡补偿的Buck电路峰值电流+电压电流双闭环控制【附说明文档】(Simulink仿真实现)优快云首页发布文章优快云同步助手LLC谐振变换器开环+闭环软启动仿真设计(Simulink
内容概要:本文围绕三电平VIENNA整流器的双闭环控制与中点电位平衡问题展开研究,提出了一种基于电容电压差值补偿的中点电位平衡策略。通过构建电压外环与电流内环的双闭环PI控制系统,实现直流母线电压的稳定与输入电流的快速跟踪;在此基础上,引入上下电容电压差值作为反馈信号,结合SVPWM调制中冗余小矢量的时间分配机制,实现对中点电位的主动调节。仿真结果表明,该策略能有效抑制中点电位波动,显著提升电容电压均衡度,同时保持较低的输入电流THD,验证了“电压稳定—电流低谐波—中点均衡”多目标协同控制的可行性与有效性。; 适合人群:从事电力电子变换器控制、新能源发电、电动汽车充电等领域的科研人员及工程技术人员,尤其是具备一定MATLAB/Simulink仿真基础的研究生和电气工程专业高年级本科生。; 使用场景及目标:① 掌握三电平VIENNA整流器的工作原理与控制难点;② 学习双闭环PI控制器的设计与参数整定方法;③ 理解并应用基于SVPWM冗余矢量的中点电位主动平衡控制策略;④ 实现高性能整流器的仿真建模与性能验证。; 阅读建议:此资源以理论分析与Simulink仿真相结合的方式呈现,建议读者在阅读时同步搭建仿真模型,重点关注双闭环结构搭建、SVPWM调制模块实现以及中点平衡补偿环节的集成,通过对比投入与未投入补偿策略的仿真结果,深入理解控制策略的作用机理与性能边界。



被折叠的 条评论
为什么被折叠?



