膜拜菊苣的LM2

胡言乱语而已。

光那个Loader就看得我瞎眼了。那个LocaleEmulator.dll更搞得狗眼都睁不开了啊。。。
Loader就不多说了,也是改远程进程的EIP调用LdrLoadDll来载入LocaleEmulator.dll的,虽然我不懂为什么用上了Dbg相关的API,而且CreateProcess是用带有DBG标志来创建的。。
这个新的LM应该是不支持Win7以下系统的。

LocaleEmulator.dll的DllMain:
LdrDisableThreadCalloutsForDll -> 这个就不多说了。。。
GetKernel32Ldr -> 应该是取得KERNEL32的Ldr链表地址,然后给flags加上个LDRP_PROCESS_ATTACH_CALLED,没猜错的话应该是为后面接收Dll载入通知准备的一个玩意。
GlobalData->Initialize():
OpenOrCreateLePeb -> 不懂是啥,大概是在Peb里面抓点地方添加自己的信息,Heap指针啥的吧,猜的。
下面是一些改PEB数据的。
下面是根据Nls文件调用RtlInitNlsTables载入Nls表。(菊苣以前那个LM是用RtlInitCodePageTable通过NlsSection载入的,RtlInitNlsTables内部也是调用RtlInitCodePageTable)
RtlResetRtlTranslations真不懂干啥的,看代码貌似是重设ntdll的那3个导出的Nls相关data指针(就不用手动修改了?!)
然后修改PEB中的3个Nls相关值。
LdrRegisterDllNotification是注册Dll载入Callback,菊苣在Callback中判断user32、gdi32、kernel32,并分别进行HookModule。
然后就是针对ntdll自身的Hook -> HookNtdllRoutines。
HookNtdllRoutines里面Hook了3个函数:LeNtCreateUserProcess注入子进程、LeNtQuerySystemInformation时区、LeNtInitializeNlsFiles不懂干啥的,看代码Call原来的NtInitializeNlsFiles玩后,改了人家的DefautLocaleId,缺德啊。

然后在Dll载入通知的callback:DllNotification
RtlEqualUnicodeString对比那3个dll,有就飞到HookModule。
比较有意思的是,HookModule里面没看到对kernel32的处理。。仔细一看,在callback里面菊苣判断了一下LDRP_PROCESS_ATTACH_CALLED标志,如果存在的就把dll的入口点改飞到DelayInitDllEntry了。。。想必这个是处理kernel32的吧。

HookModule里面分别调用对user32、gdi32的HookRoutines,对kernel32倒是没啥处理(可能是我太弱了无法理解吧。
gdi32的Hook比较平常,关键是那个user32的Hook:
StubNtUserCreateWindowEx
StubNtUserMessageCall
StubNtUserDefSetText
直接把人家切内核的函数给ooxx了,缺德啊。
NtUserCreateWindowEx对win7和win8的原形分别做了不同的处理。

先来看看菊苣如何找到那些Stub的地址的:
FindNtUserCreateWindowEx -> 通过IAT搜索调用RtlQueryInformationActiveActivationContext,判断0xE8,就是CALL stub,因为CreateWindowExW里里面的一个函数call NtUserCreateWindowEx的时候,上面有一个call RtlQueryInformationActiveActivationContext的。
FindNtUserMessageCall2 -> 真的看不懂了,貌似是从那个啥内核飞到用户的user32 callback函数指针表里面拿地址的。
然后来看看Hook:
LeNtUserCreateWindowEx -> 判断ANSI的窗口,然后用TEB里面的被菊苣当Tls用的AativeFrame存储点数据,然后SetWindowsHookExA一个本线程CBT钩子。CBTProc里面进行子类。
子类函数里面进行淫荡的我看不懂的call,LeNtUserMessageCall也看不懂。。。看代码应该是可以根据指定的WndProc进行消息call,以及,貌似不少都是跟那个fnXXX的表函数有关的玩意。菊苣还配了个巨大的MessageTable。。。
LeNtUserDefSetText也不懂干啥的,看样子像是设置标题文本的。

RtlSetUnhandledExceptionFilter -> 顶端SEH处理。为了写出一个MiniDump。
LeGlobalData -> 一个全局信息的class,转码信息啊,Hook函数啊,内部函数啊啥的。

<think>好的,我需要处理用户关于菊科外来入侵植物微形态特征用于检疫鉴定与防控的查询。首先,用户希望了解如何通过微形态特征来进行鉴定和防控,这可能包括具体的结构、观察方法等。 首先,我应该回顾菊科植物的常见微形态特征,比如表皮细胞结构、毛状体类型、气孔器形态等。这些特征在鉴定中非常重要,尤其是对于入侵物种来说,细微的差异可能成为关键识别点。需要确认是否有相关研究支持这些特征的有效性,比如引用已有的文献或实验数据[^1]。 接下来,用户提到检疫鉴定和防控,这意味着需要将这些微形态特征与实际应用结合。比如,如何在口岸快速识别入侵植物,可能需要显微镜观察特定的结构。同时,防控措施可能涉及早期检测,因此微形态的快速鉴定方法至关重要。 然后,我需要考虑用户可能的深层需求。他们可能不仅需要特征列表,还需要具体的操作步骤或技术手段,比如扫描电镜的使用,或者标本制备方法。此外,可能还需要对比本地菊科植物和入侵物种的差异,以提高鉴定的准确性。 在生成相关问题部分,我需要预测用户可能进一步询问的内容,例如具体实验方法、不同物种的特征差异,或者实际应用中的挑战。这些问题应该围绕微形态学分析的技术细节、数据支持以及实际防控策略展开。 最后,确保回答符合系统级指令:使用正确的中文和LaTeX格式,添加引用标识,结构清晰,分步骤说明。同时,避免使用用户不可见的格式,保持回答自然流畅。</think>### 菊科外来入侵植物微形态特征在检疫鉴定与防控中的应用 菊科入侵植物的微形态特征分析主要聚焦于**表皮细胞结构**、**毛状体类型**、**气孔器形态**和**花粉特征**等关键指标。例如: - **毛状体**可分为腺毛(分泌次生代谢物)和非腺毛(机械保护作用),入侵种可能具有更密集的毛状体分布[^1] - **气孔器**的排列方式(如平列型/辐射型)和密度差异可帮助区分近缘种,如紫茎泽兰($Stomatal\ density > 20/mm^2$)与本地泽兰属植物[^2] $$ SEM\ 图像分析公式:Resolution = \frac{0.61\lambda}{NA} $$ (其中$\lambda$为电子波长,$NA$为物镜数值孔径) ### 实验方法建议 1. **样本制备**:临界点干燥法处理叶片/花序 2. **显微观察**: - 光学显微镜(400×)统计气孔密度 - 扫描电镜(SEM)观察表皮蜡质纹饰 3. **数据分析**:使用ImageJ软件量化毛状体基角($θ < 45°$为贴伏型) ### 检疫鉴定流程 ```mermaid graph TD A[现场采样] --> B[体视镜初筛] B --> C{疑似入侵种?} C -->|是| D[制作永久玻片] C -->|否| E[常规检疫] D --> F[显微特征比对] F --> G[分子验证] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值