常见自校检分析实例

自校正RAG:构建生成中实时干预的可信问答系统 RAG(检索增强生成)作为当前主流的可信AI架构,其核心挑战在于检索与生成之间的语义断层和单向信任缺陷,导致幻觉、时间错位与主体漂移等典型问题。真正有效的解决方案并非后处理校验或简单重排,而是通过生成中置信度探针、上下文可信度热力图与动态重检触发器构成的三层反馈闭环,在LLM解码过程中实时感知逻辑断点与token级不确定性。该技术依托logits熵值监控、轻量规则+小模型融合评分、逻辑锚点提取等工程手段,实现零额外延迟的自我修正。适用于金融、医疗、法律等高可信要求场景,是突破传统RAG性能瓶颈的关键范式升级 阅读详情
自校检是许多软件的保护手段之一,对软件加个简单的壳再增加自校检在一定程序上可以抵挡住一大部分新手,不过,对许多人来说,这个保护已经很弱了。可是,搜索论坛,居然没有一篇系统的文章。不知道是大家太忙了还是因为要守住点秘密。其实大部分技术应该拿出来交流才好,只有交流才有进步。就象老王的EPE,netsowell一次一次的脱壳文章,才促使老王一次一次的升级,保护强度也越来越强。废话一堆,不讲了。下面讲几种常见的解决自校检方法,写的粗略,希望大家补充。
1、通用对比法。就是将已经触发自校检的程序与原来正常的程序进行关键跳转对比,这种方法比较通用,大部分的自校检可以通过此方法解决(如果软件有防多开窗口的限制,需
要先解决这个问题。)附件中的sample1.EXE是一个加了ASPACK的自校检程序,修改任何代码或大小等都会触发校检提示软件被修改。dumped.EXE是脱壳后的文件,由于触发校检运行后出现“文件被非法修改”的提示,现在我们来解决脱壳后文件的自校检问题。打开脱壳后的程序dumped.EXE,下断BP CreateFileA,F9两次后出现出错提示。CTRL+F2重新载入dumped.EXE,下断BP reateFileA,F9一次。这时另开一个OD打开原来的程序sample1.EXE,用脚本到达OEP,命令中也下断BP CreateFileA,F9一次,这时两个OD停在同一个地方,然后在两个OD中逐步单步跟踪,碰到JE、JNE、JBE...之类的关键跳转要对比一下两者的区别。
7C801A24 >  8BFF            MOV EDI,EDI                              ; BP CreateFileA断在这里,ALT+F9返回
7C801A26    55              PUSH EBP
=================
0040111C  |.  3BF4          CMP ESI,ESP                              ;  都停在这里,逐步F8,进行关键跳转的对比
0040111E  |.  E8 0D030000   CALL crcdumpe.00401430
00401123  |.  8985 E0FEFFFF MOV DWORD PTR SS:[EBP-120],EAX
00401129  |.  83BD E0FEFFFF>CMP DWORD PTR SS:[EBP-120],-1
00401130  |.  75 07         JNZ SHORT crcdumpe.00401139

逐步F8,跟到下面的代码时,发现两个跳转不一样:
0040120C   /75 07           JNZ SHORT crc.00401215                   ; 原版这个地方信息窗口提示:跳转没有实现
0040120E   |B8 01000000     MOV EAX,1
00401213   |EB 02           JMP SHORT crc.00401217
00401215   /33C0            XOR EAX,EAX
=======================
0040120C  |. /75 07         JNZ SHORT crcdumpe.00401215              ;  脱壳版这个地方信息窗口提示:跳转已经实现,NOP掉
0040120E  |. |B8 01000000   MOV EAX,1
00401213  |. |EB 02         JMP SHORT crcdumpe.00401217
00401215  |> /33C0          XOR EAX,EAX

这时将脱壳版0040120C处代码NOP掉后另存为dumpedFIX.EXE。试着运行一下,如果正常完事,还不行的话继续跟踪下去。该例只改这一处。

2、跟踪退出函数。附件中sample2也是个自校检程序,修改任何一处软件会自动退出。我们试着用UltraEdit将sample2.EXE的最后一个字节改为01后另存为sample2-change.EXE,这时运行sample2-change就会自动退出,我们就是要从退出函数入手。软件退出一般都是调用ExitProcess、PostQuitMessage之类的,我们用OD载入sample2-change.EXE,从输入表中我们可以看出软件是调用ExitProcess退出的。于是在OD中下断BP ExitProcess,F9运行,断下后看堆栈信息:
0012FEB8   004015B5  /CALL 到 ExitProcess 来自 sample2-.004015AF     //从这里我们可以看出ExitProcess的调用地方是在004015AF
0012FEBC   00000000  /ExitCode = 0
0012FEC0   20DFA6E6
在OD中CTRL+G,输入004015AF:
004015AF  |.  FF15 AC514200 CALL DWORD PTR DS:[<&KERNEL32.ExitProces>; /就在这里,向上找这个子CALL的首部
004015B5  |>  8BE5          MOV ESP,EBP
004015B7  |.  5D            POP EBP
004015B8  /.  C3            RETN
=======================================
004014E0  /$  55            PUSH EBP                                 ;  找到这里,注意信息栏的内容
004014E1  |.  8BEC          MOV EBP,ESP
004014E3  |.  51            PUSH ECX
004014E4  |.  833D F8354200>CMP DWORD PTR DS:[4235F8],1
004014EB  |.  75 11         JNZ SHORT sample2-.004014FE
信息栏的内容:
Local Calls from 0040146B, 0040148B, 004014A9, 004014C9
也就是说有四个地方调用ExitProcess退出,因为程序的退出按钮和关闭的叉号也是调用ExitProcess函数的,一般都会在前面几个,我们在内容上右击,“前往CALL来自0040146B”
0040146B  |.  E8 70000000   CALL sample2-.004014E0                   ; /到这里,同样查找首部
00401470  |.  83C4 0C       ADD ESP,0C
00401473  |.  5D            POP EBP
00401474  /.  C3            RETN
============
00401460  /$  55            PUSH EBP                                 ;  在这里,信息栏提示:Local Calls from 00401072, <ModuleEntryPoint>+11A
00401461  |.  8BEC          MOV EBP,ESP
00401463  |.  6A 00         PUSH 0                                   ; /Arg3 = 00000000
00401465  |.  6A 00         PUSH 0                                   ; |Arg2 = 00000000
在Local Calls from 00401072上右击,前往CALL来自00401072:
00401048  |.  E8 BDFFFFFF   CALL sample2-.0040100A
0040104D  |.  85C0          TEST EAX,EAX
0040104F  |.  74 1F         JE SHORT sample2-.00401070               ;  是从这里跳过去的,NOP掉
00401051  |.  8BF4          MOV ESI,ESP
00401053  |.  6A 30         PUSH 30                                  ; /Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL
00401055  |.  68 28004200   PUSH sample2-.00420028                   ; |Title = "提示"
0040105A  |.  68 1C004200   PUSH sample2-.0042001C                   ; |Text = "正常运行!"
0040105F  |.  6A 00         PUSH 0                                   ; |hOwner = NULL
00401061  |.  FF15 B4524200 CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; /MessageBoxA
00401067  |.  3BF4          CMP ESI,ESP
00401069  |.  E8 82050000   CALL sample2-.004015F0
0040106E  |.  EB 07         JMP SHORT sample2-.00401077
00401070  |>  6A 00         PUSH 0
00401072  |.  E8 E9030000   CALL sample2-.00401460                   ;  就是这里了,最终会调用ExitProcess,向上看是从哪里跳过来
00401077  |>  33C0          XOR EAX,EAX

可以看出,00401072处的CALL最终呼叫ExitProcess退出,所以只要使0040104F处的跳转失效即可,将0040104F的跳转NOP掉后保存,测试运行正常。

三、利用第三方软件辅助查找关键的地方。很多软件利用CRC或者MD5实现磁盘文件校验或者内存映像校验等,对此类软件我们可以利用算法识别工具找到密码学算法和核心,然后层层向上,找到最初的调用地方更改其流程方向。还是附件中的sample1.EXE,脱壳的文件为dumped.EXE,我们来解决这个软件的自校检。先用PEID的插件kanal分析dumped.EXE所采的密码学算法,如图,
http://bbs.pediy.com/upload/2006/4/image/pic.gif_428.gif
可以看出,软件采用了CRC算法,算法特征码出现在0040131C,就从这里入手,OD载入dumped.EXE,CTRL+G搜索0040131C:
0040131C  |?  2083 B8ED898D AND BYTE PTR DS:[EBX+8D89EDB8],AL        ;  找到的地方在这里,上拉找到这个CALL的首部
00401322  |?  FC            CLD
00401323  |?  FB            STI
00401324  |?  FFFF          ???                                      ;  未知命令
00401326  |.  EB 0E         ||JMP SHORT crcdumpe.00401336
00401328  |>  8B95 FCFBFFFF ||MOV EDX,DWORD PTR SS:[EBP-404]
0040132E  |.  D1EA          ||SHR EDX,1
00401330  |.  8995 FCFBFFFF ||MOV DWORD PTR SS:[EBP-404],EDX
00401336  |>^ EB B5         |/JMP SHORT crcdumpe.004012ED
00401338  |>  8B85 F8FBFFFF |MOV EAX,DWORD PTR SS:[EBP-408]
0040133E  |.  8B8D FCFBFFFF |MOV ECX,DWORD PTR SS:[EBP-404]
00401344  |.  898C85 00FCFF>|MOV DWORD PTR SS:[EBP+EAX*4-400],ECX
0040134B  |.^ E9 6AFFFFFF   /JMP crcdumpe.004012BA
============================
00401290  /> /55            PUSH EBP                                 ;  到这里,看OD的提示栏:Jump from 00401005,从00401005跳转来的
00401291  |.  8BEC          MOV EBP,ESP
00401293  |.  81EC 50040000 SUB ESP,450
00401299  |.  53            PUSH EBX
0040129A  |.  56            PUSH ESI

在Jump from 00401005上右击,“前往JMP 来自00401005”
00401005   $ /E9 86020000   JMP crcdumpe.00401290                    ;  到这里,看信息栏内容:Local Call from 00401201,00401201处的CALL调用这里
0040100A   $ |E9 B1000000   JMP crcdumpe.004010C0
在Local Call from 00401201上右击,“前往CALL 来自00401201”
00401201  |.  E8 FFFDFFFF   CALL crcdumpe.00401005                   ;  到这里,再向上找到这个CALL的顶部
00401206  |.  83C4 08       ADD ESP,8
==================
004010C0  /> /55            PUSH EBP                                 ;  到这里,看任务栏信息:Jump from 0040100A
004010C1  |.  8BEC          MOV EBP,ESP
004010C3  |.  81EC 64010000 SUB ESP,164
在Jump from 0040100A上右击,“前往JMP 来自0040100A”
0040100A   $ /E9 B1000000   JMP crcdumpe.004010C0                    ;  到这里,继续根据任务栏信息向上找:Local Call from 00401048
0040100F   $ |E9 1C000000   JMP crcdumpe.00401030
在Local Call from 00401048上右击,“前往CALL 来自00401048”
00401048  |.  E8 BDFFFFFF   CALL crcdumpe.0040100A                   ;  就是这里了,计算CRC并进行对比的CALL
0040104D  |.  85C0          TEST EAX,EAX
0040104F  |.  74 1F         JE SHORT crcdumpe.00401070               ;  这里就是关键跳转了,NOP掉
00401051  |.  8BF4          MOV ESI,ESP
00401053  |.  6A 30         PUSH 30                                  ; /Style = MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL
00401055  |.  68 40004200   PUSH crcdumpe.00420040                   ; |Title = "提示"
0040105A  |.  68 34004200   PUSH crcdumpe.00420034                   ; |Text = "正常运行!"
0040105F  |.  6A 00         PUSH 0                                   ; |hOwner = NULL
00401061  |.  FF15 B4524200 CALL DWORD PTR DS:[<&user32.MessageBoxA>>; /MessageBoxA
更改0040104F处的跳转后保存为dumpedFIX,运行正常。

四、对付校检自身大小的软件的一般方法。也有许多软件,利用CHECKSUM、FILELEN等在代码中对本身的大小做了标记,如果发现大小变了就自动退出。附件中的FILELEN就是这样的,FILELEN-UNPACK.EXE是脱壳后的软件,由于脱壳后软件大小发生了变化,所以FILELEN-UNPACK运行后就自动退出。对付这种校检,我们有个简单的方法,就是将脱壳后的软件中检测自身大小的部分改为脱壳后文件的大小。我们看一下FILELEN的大小为:10752字节转16进制为2A00,再看看脱壳后的文件FILELEN-UNPACK.EXE的大小30208字节,即7600,关键是如何找到对自身大小进行对比的语句,我们知道一般的形式都是CMP EAX,2A00,但是到底是哪个寄存器呢?EAX,EBX、ECX....,寄存器种类比较多,我们不可能每个去找,这时W32Dasm派上用场。用W32Dasm载入FILELEN-UNPACK,我们只要搜索00002A00即可,前面的部分不管它,找到在这里:
:00401B8F 81FE002A0000            cmp esi, 00002A00
右击-“HEX”,更改代码002A00为脱壳后的大小007600即可,再搜索,发现该例只有一个对比的地方,保存后运行正常。
对于VB检测自身大小的软件我们还可以跟踪FileLen函数,因为VB一般都用FileLen检测自身的大小,用OD载入FILELEN-UNPACK.EXE,下断BP rtcFileLen,F9后断下,ALT+F9返回:
00401B5E   .  8BF0          MOV ESI,EAX                              ;  这里EAX的值就是FILELEN取得的自身的大小,EAX=00007600
00401B60   .  8D55 D4       LEA EDX,DWORD PTR SS:[EBP-2C]
00401B63   .  8D45 D8       LEA EAX,DWORD PTR SS:[EBP-28]
00401B66   .  52            PUSH EDX
00401B67   .  8D4D E0       LEA ECX,DWORD PTR SS:[EBP-20]
00401B6A   .  50            PUSH EAX
00401B6B   .  8D55 DC       LEA EDX,DWORD PTR SS:[EBP-24]
00401B6E   .  51            PUSH ECX
00401B6F   .  8D45 E4       LEA EAX,DWORD PTR SS:[EBP-1C]
00401B72   .  52            PUSH EDX
00401B73   .  50            PUSH EAX
00401B74   .  6A 05         PUSH 5
00401B76   .  FF15 70104000 CALL DWORD PTR DS:[<&msvbvm60.__vbaFreeS>;  msvbvm60.__vbaFreeStrList
00401B7C   .  8D4D CC       LEA ECX,DWORD PTR SS:[EBP-34]
00401B7F   .  8D55 D0       LEA EDX,DWORD PTR SS:[EBP-30]
00401B82   .  51            PUSH ECX
00401B83   .  52            PUSH EDX
00401B84   .  6A 02         PUSH 2
00401B86   .  FF15 14104000 CALL DWORD PTR DS:[<&msvbvm60.__vbaFreeO>;  msvbvm60.__vbaFreeObjList
00401B8C   .  83C4 24       ADD ESP,24
00401B8F   .  81FE 002A0000 CMP ESI,2A00                             ;  这里就是利用FILELEN取得的大小与原来做的标记对比,可以改这里的2A00为7600或者更改下面的跳转
00401B95   .  75 6E         JNZ SHORT FILELEN-.00401C05
00401B97   .  B9 04000280   MOV ECX,80020004


好像常见的自校检就这些,我不知道还有没有其它的,如果有希望大家能够补充完善。
构建弹性大模型智能体:通过反馈循环掌握自校正与自适应规划 大语言模型驱动的自主智能体虽在复杂任务执行方面展现出潜力,但面临"不听话"(指令偏离)和"决策失误"等核心挑战。采用反馈循环实现自校正的解决方案:1)建立感知-规划-行动-反思的智能体循环,其中反思环节是关键纠错机制;2)采用分层规划分解复杂任务,结合短期/长期记忆系统积累经验;3)完善工具调用机制,避免外部交互引发的故障传播。通过ReAct、Reflexion等架构将自适应规划与自校正深度整合,可显著提升智能体系统的可靠性和适应性。 阅读详情

相关推荐

逆向工程中的自校验机制与绕过技巧

本文深入探讨逆向工程中的自校验机制与绕过技巧,重点分析静态校验、动态校验和混合校验的原理及实现方法。通过x64dbg等工具实战演示vbsedit的自校验绕过,详细介绍内存补丁技术及其在逆向工程中的应用,为安全研究人员提供实用解决方案。

weixin_29323551的博客 738

程序去自校验方法

什么是自校验: 意思是这些程序会检查自己有没有被修改,如果发现被修改的话,便会离开或进行其它动作。基本的校检方法包括 checksum, 检查大小, 检查跳转代码,等等。 什么情况下考虑自校验: 当一个程序脱壳前可以正常运行,脱壳以后不能运行,修复以后也不行,程序不能运行或者闪退、弹窗提示错误等,我们就要考虑是不是因为程序有自校验了。 自校验破解思路: 将脱壳前和脱壳后的程序分别单步运行,对比找出...

weixin_43916678的博客 2021

Zynq-7000中XADC自校准功能启用步骤

介绍在Zynq-7000平台上配置和启用XADC IP核自校准功能的具体操作流程,帮助开发者提升模拟信号采集精度,充分发挥xadc ip核的性能优势。

weixin_42514750的博客 766

常见校验算法原理与应用指南

本文介绍了几种常见的数据校验方法及其应用场景。校验和通过字节累加取补实现简单快速的校验;奇偶校验利用统计"1"的个数检测奇数位错误;CRC采用模2多项式除法实现高可靠性检错;加密散列函数(如MD5、SHA)则提供更强的数据完整性和防篡改能力。文章详细阐述了各算法的原理、特点及实现方式,并提供了C语言代码示例。最后对比了不同算法的检错能力、计算开销和适用场景,建议根据具体需求选择:简单应用用校验和/奇偶校验,可靠性要求高用CRC,防篡改需求则采用加密散列函数。

用学习探索人生的更多可能 1万+

易程序实现效验自身MD5-易语言

易程序实现效验自身MD5

自动生成校验位软件

自动生成产品序列号的校验位(产品序列号低于64位),C#编写Windows应用程序

逆向破解——程序去除自校验

逆向破解——程序去自校验方法 自校验 意思是这些程序会检查自己有没有被修改,如果发现被修改的话,便会离开或进行其它动作。基本的校检方法包括 checksum, 检查大小, 检查跳转代码,等等。 什么情况下考虑自校验 当一个程序脱壳前可以正常运行,脱壳以后不能运行,修复以后也不行,程序不能运行或者闪退、弹窗提示错误等,我们就要考虑是不是因为程序有自校验了。 自校验破解思路 将脱壳前和脱壳后的程序分别...

weixin_30856725的博客 1411

程序自效验去除经典教程集

程序载入OD   下断bp CreateFileA,F9运行   OD中断,ALT+F9执行到用户代码      下面就是F8单步跟踪了      程序在0048EE23处出现对话框,很明显,在0048EDF9处的跳转就是关键跳了   直接将0048EDF9  /7E 38        jle short dumped_.0048EE33   改成0048EDF9  /7E 38         jmp dumped_.0048EE33   保存下,运行成功   把脱好的程序载入ResScope,发现有非标准资源结构,那就用Fix Resource修正下资源,再次再入ResScope,这次可以修改资源了,但是问题又来了。。。   打开修正好的程序,程序只是一闪而过就自动关闭了,看来还有校验,继续操起OD,再次载入程序   下断bp CreateFileA,F9运行   OD中断,ALT+F9执行到用户代码,继续F8单步走      0048EE5F出OD就会跑飞了,显然0048EE5D处的跳转又是关键跳啦,   把0048EE5D  /74 05        je short 1.0048EE64   改成0048EE5D  /74 05        jmp 1.0048EE64   就OK了,保存,运行一切正常   现在程序太大,我们再用CxLrb大侠汉化的Resource Binder V2.6处理一下!   挖塞,程序一下从154M缩小到1.13 MB,这样的结果还是让人满意的   但是一运行,程序又是一闪而过,还有校验,OK,继续   OD载入程序,这次可能会比较卡   下断bp CreateFileA,F9运行   OD中断,ALT+F9执行到用户代码,继续F8单步走      0048EE3F处OD跑飞,也很明显了0048EE3D处就是关键跳啦,   把0048EE3D  . /74 05       je short 2.0048EE44   改成0048EE3D  . /74 05       jmp 2.0048EE44   保存,运行成功,感觉048EE4A处的跳转应该也是个校验吧,只是没用到,程序处理到这里就差不多了,有是不妥之处还望大侠们指点!

常见自校检分析实例.

http://www.cnblogs.com/buwawa/articles/2062493.html 自校检是许多软件的保护手段之一,对软件加个简单的壳再增加自校检在一定程序上可以抵挡住一大部分新手,不过,对许多人来说,这个保护已经很弱了。。下面讲几种常见的解决自校检方法,写的粗略,希望大家补充。 1、通用对比法。就是将已经触发自校检的程序与原来正常的程序进行关键跳转对比,这种方法比较通用,

happylife1527的专栏 618

易语言程序自身自校验源码

易语言自校验模块源码.编译成模块后.在易语言中调用. 编译程序后.第一次程序运行时将生成一个带自检验的程序. 如果生成的程序被修改时会被程序检测到.也可以在代码里进行判断.

MOS 管驱动设计细节,波形分析

一般认为MOSFET是电压驱动的,不需要驱动电流。然而,在MOS的G S两级之间有结电容存在,这个电容会让驱动MOS变的不那么简单。 如果不考虑纹波和EMI等要求的话,MOS管开关速度越快越好,因为开关时间越短,开关损耗越小,而在开关电源中开关损耗占总损耗的很大一部分,因此MOS管驱动电路的好坏直接决定了电源的效率。 对于一个MOS管,如果把GS之间的电压从0拉到管子的开启电压所用的时间越短,那么MOS管开启的速度就会越快。与此类似,如果把MOS管的GS电压从开启电压降到0V的时间越短,那么MOS管关断的

m0_50862404的博客 1万+

「娃娃分享」-常见自校检分析实例.

自校检是许多软件的保护手段之一,对软件加个简单的壳再增加自校检在一定程序上可以抵挡住一大部分新手,不过,对许多人来说,这个保护已经很弱了。。下面讲几种常见的解决自校检方法,写的粗略,希望大家补充。 1、通用对比法。就是将已经触发自校检的程序与原来正常的程序进行关键跳转对比,这种方法比较通用,大部分的自校检可以通过此方法解决(如果软件有防多开窗口的限制,需要先解决这个问题。)附件中的sample1...

weixin_30563319的博客 130

基于STM32的Modbus TCP多主站数据监测

Modbus TCP通信协议在STM32上实现,STM32作为服务器采集内部传感器数据,并通过ADC进行转换,存入寄存器。两个PC机作为客户端访问服务器,服务器通过Socket通信实现监听连接,将数据发送给客户端。

hyp12347的博客 4295

关于程序自校验的一些分析

当我们脱完壳后发现,程序提示被非法修改,我们知道它是有自校验的。在平时工作中,我们脱完壳修复完毕而且如果有附加数据加上附加数据之后,如果还是没法将程序跑起来,那么我们在保证没有找错OEP的前提下,就需要考虑程序设置了自校验。对于程序存在的自校验,我们可以打开我们脱壳后的程序和未脱壳的程序进行对比,先将未脱壳的程序操作找到真正的OEP,然后开始同步F8对比,看它们的跳转是怎么进行的。 下面是一个程

m0_37120576的博客 2690

ANC降噪学习

概述 ANC,英文名称:Active Noise Control,主动降噪。其原理是降噪系统电路产生降噪MIC接收的外界环境噪音相等的反相信号,将噪声抵消。核心算法 ANC降噪实现核心算法为:FxLMS(最小均方差算法)。最小均方差算法以均方误差为代价函数,并使误差降到最小的算法。 具体算法推导这里不做具体介绍,这里直接列出表达式: ...

王小壮的博客 2万+

告别复杂模型:用UFLD算法5分钟搞定车道线检测(附Python代码)

本文介绍了UFLD(Ultra Fast Lane Detection)算法在车道线检测中的高效应用,仅需5行核心代码即可实现实时检测,特别适合边缘计算设备。通过对比传统方法,UFLD在推理速度、模型大小和硬件需求上具有显著优势,是深度学习领域轻量级解决方案的典范。

weixin_27872611的博客 289

STM32U5 ADC 自校准不成功的问题分析

很多 STM32 系列中的 ADC 都带有自校准的功能。它提供了一个自动校准的过程,用 于驱动包括 ADC 上电/掉电序列在内的所有校准动作。在这个过程中,ADC 计算出一个校准因子,并在内部应用到此 ADC 模块,直到下一次 ADC 掉电。在执行任何 ADC 操作之前必须校准,以消除芯片之间 ADC 结果的偏差。

u014319604的博客 2157

xhs私信协议分析

之前分析过xhs的shield算法,今天再聊聊xhs的私信,文章仅供学习参考研究交流,如有侵权请联系删帖。经过抓包分析发现私信接口并不是走的http协议,而是socket协议。而要获取socket包则需要使用wireshark软件1、protobuf的包体中的序号7,多次验证后发现文字信息的需要需要固定成12、protobuf的包体中的序号12,多次验证后发现文字信息的需要需要固定成1后续有时间的话,再研究一下视频和图片格式的私信协议,这次就分析到这里吧。

佛系更新... 3488

Samp免流软件以及地铁跑酷的自校验分析

【文章标题】:Samp免流软件以及地铁跑酷的自校验分析 【文章作者】: Ericky 【作者博客】: http://blog.youkuaiyun.com/hk9259 【下载地址】: 自行百度 【保护方式】: 自校验 【作者声明】: 本人水平有限,若有不足错误之处请指正0x1前言群里讨论的两款软件的自校验,一开始有人说是签名校验,而且说找不到地方,下面就说一下我的拙见,若有错误之处,望各位大侠不吝指

Beautiful Attack and Defence 2468

EC20模块实战:5步搞定MQTT连接阿里云IoT(附常见错误排查)

本文详细介绍了使用EC20 4G模块通过AT指令连接阿里云IoT平台的完整实战流程。文章以智能农业项目为背景,从硬件接线、网络注册、PDP激活,到MQTT连接配置、一型一密动态注册及数据收发,提供了清晰的5步操作指南,并重点附上了常见错误排查方法,帮助开发者快速实现稳定可靠的物联网设备上云。

weixin_29209801的博客 196

什么是华为OD?怎么才能通过华为OD机试?华为OD机试怎么刷题?(2024最新华为OD机试E卷更新中)

华为OD是Outsourcing Dispacth模式,是华为和外企德科联合招聘的简称。目前华为大多数是OD招聘。OD模式也是华为提出的一种新的用工形式,每年都会从OD项目挑优秀员工转为正编。所有OD和正式员工一样对待,没有差别,部门平时开会、评审等活动都是一起参加的,是同薪同酬,都是由华为的HR直接定的薪资,看的是我们技术能力。华为是大企业,能到华为上班也是有能力的,每个部门都有好多职位,是金子,在哪都会发光。

KJ.JK 11万+

探秘SCNet:自校准卷积的革命性力量

探秘SCNet:自校准卷积的革命性力量 在深度学习领域,卷积神经网络(CNN)始终是图像识别和计算机视觉任务的核心。现在,让我们一起深入了解一下SCNet,这是一个基于PyTorch实现的开源项目,它将自我校准卷积带入了CVPR 2020论文中,并展示了令人惊叹的效果提升。 项目介绍 SCNet是基于"Self-Calibrated Convolutions for Improving ...

gitblog_00107的博客 1441

28-手把手教你手写CPU-Verilog - 乘法器设计:Booth算法与Wallace树乘法器

文章摘要: 本文详细介绍了两种高效乘法器设计方法:Booth算法和Wallace树乘法器。Booth算法通过检测乘数连续1/0减少部分积,适合有符号数运算;Wallace树采用树形结构压缩部分积,显著降低延迟。文章包含算法原理、具体示例、Verilog实现代码(4位乘法器)及性能对比表,指出Booth适用于通用处理器,Wallace树更适合高性能DSP/GPU。最后强调实际设计中需根据速度、面积和功耗需求选择合适方案。

2301_79143213的博客 206

JWT的登录认证与自校验原理分析

JWT是一个含签名并且携带用户相关信息的加密串,用户输入相关信息进行登录的时候,如果信息验证成功,会生成一个JWT(Token令牌),并且将这个token返回给前端保存到本地,当进行其他的请求api的时候,将这个Token带给后端,并且拦截器对请求进行拦截,验证这个Token,如果验证Token无误则放行这个请求,进行相应的业务逻辑处理,显示数据;有误则返回错误信息,跳转登陆界面。

qq_66013742的博客 647

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

最小方差自校正调节器设计

最小方差自校正调节器。

weixin_51303932的博客 1171

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

上一篇: 端口访问监控原理
下一篇: OllyDBG分析报告系列(1)---Int3断点
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值