- 博客(351)
- 资源 (44)
- 收藏
- 关注
原创 C++导出类中工厂函数和虚函数的结合使用
之前在看到dll导出类时,看到这篇文章其中,第三种方式个人感觉非常好,原文如下C++抽象接口(仅包含纯虚函数且不包含数据成员的C++类)同时兼顾以下两个方面:与对象无关的纯净接口,以及方便的的面向对象的调用方式。所需要做的就是为头文件提供接口声明并实现工厂函数,该函数将返回新创建的对象实例。仅工厂函数必须与说明__declspec(dllexport/dllimport)符一起声明。该接口不需要任何其他说明符。在上述代码段中,工厂函数GetObj声明为extern “C”。
2024-03-23 09:49:59 38
原创 记录一次基于AES加密的恶意软件逆向分析和解密过程(含文件)
首先,用IDA或Ghidra加载文件test.dat,文件为64位文件IDA点击View==>Open subviews==>Imports,查看导入信息Ghidra可以直接看到可以看到,导入函数有:导入库有一个libc.so.6,通过函数名和这个库文件,可以判断应该是linux系统下的。查看字符串:Ghidra分为字符串和Encoding,需要搜索一下才可以显示出来可以看到几个特殊的字符串:1).2).3).4).5).6)7)通过字符串。
2024-03-22 06:51:25 29
原创 Visual Studio单步调试中监视窗口变灰的问题
然而,在调试中,只要一执行while这条语句,监视窗口中的变量全部变为灰色,不能查看,是程序本身并没有报错,能够继续执行,但就是不能查看变量的值!>调试信息格式,改为 程序数据库(/Zi)在网上搜索无果,最后在项目属性中更改。在vs调试中,写了这样一条语句。
2024-03-08 05:00:00 154
原创 SSE指令集学习使用
本篇介绍SSE指令集,SSE是流化SIMD扩展(Streaming SIMD Extension, SSE),提供全新的一组寄存器,处理128位打包数据。SSE提供了xmm寄存器,xmm一组8个128位的寄存器,分别名为xmm0-xmm7,SSE构架提供对打包单精度浮点数的SIMD支持。
2023-12-25 02:56:09 361
原创 SSE指令集学习使用2
在IDA中可以设置启用或禁用SSE intrinsic指令,具体操作为在IDA中反编译代码窗口(Pseudocode)中右键。实际上,函数sub_func1有6个参数,但IDA反编译之后却只有1个 参数,猜测应该是采用了浮点寄存器传递了参数。把源存储器低64位两个双字有符号整数变成两个双精度浮点数,结果送入目的寄存器,内存变量必须对齐内存16字节.将xmm1与xmm0做商,并将结果以双精度浮点数的类型存放到xmm1中。结果:xmm0=edx=sps(整数)结果:xmm1=maxind。
2023-12-25 02:40:59 135
原创 【MATLAB库函数系列】线性调频Z(Chirp-Z,CZT)的MATLAB源码和C语言实现
采用 FFT 算法可以很快计算出全部$N$点 DFT 值,即Z变换 $X(z)$在$z$平面单位圆上的全部等间隔取样值。而实际中也许不需要计算整个单位圆上Z变换的取样值。例如**对于窄带信号,只需要对信号所在的一段频带进行分析,这时希望频谱的取样集中在这一频带内,以获得较高的分辨率,而频带以外的部分可不考虑**。
2023-12-24 12:56:21 321
原创 二进制转十六进制字符串的C语言高效率实现(如“10100011“转为字符串“A3“)
对于一串二进制01比特,有时为了显示或者编辑方便高效,我们需要将二进制比特流转换成十六进制,众所周知,二进制转十六进制是每4比特进行转换,例如将以下二进制流:转换为十六进制应为:A3CD有时候,还可以每字节中间添加一个空格A3 CD下面直接上结果和代码。
2023-12-18 14:44:23 124
原创 【梅西迭代姊妹篇2】BCH码和m序列参数估计(梅西迭代算法求多项式的C语言实现)
伯利坎普迭代算法解决了BCH码译码中求错位多项式σx的问题,即用迭代算法求解方程组,极大地加快了译码速度。求最短线性移存器的迭代算法是梅西(J.Massey)于1969年提出的,而且指出了与BCH码迭代译码算法之间的关系,即求最短线性移存器的迭代算法实质上是伯利坎普提出的BCH码译码的迭代算法。
2023-12-18 08:08:24 83
原创 【Turbo乘积码2】基于EaE(Error-and-Erasure)的TPC码迭代译码的C语言实现及工程详细解析『需要完整工程代码请先私信』
上篇博客讲述了AWGN信道下TPC码迭代译码的原理及CPP实现,此次主要讨论一种改进的译码方式,也就是基于错误和擦除(Error-and-Erasure, EaE)的译码。
2023-12-05 07:21:05 118
原创 一种FSK信号符号同步的思想
FSK利用频率传输信息,即将信息流调制到频率上。以最简单的2FSK通俗来讲,用2个不同的频率f1f2来分别代表0和1,进而传输数字信息;那么对于8FSK,则有8个不同频率f1˜f8用来传输信息,每个频率每符号表示3比特信息。FSK信号的优点很多,比如抗多径效应、发送和接收简单等等,对于接收方来说,只需要判断当前符号内的频率是哪个,即可完成解调,但是如何找到符号的第一个采样点呢,也就是如何完成符号同步呢?
2023-11-01 21:44:53 194
原创 【Turbo乘积码1】AWGN信道下TPC码迭代译码的C语言实现及工程详细解析『需要完整工程代码请先私信』
Turbo 乘积码(TPC),也叫分组 Turbo码(BTC)。该码字是乘积码的一种,其中第一个分量码的参数为n1k1,第个分量码的参数为n2k2。图1中k1×k2的子阵包含了k1k2个数据比特。这个子矩阵中的列被“列码”编码,然后将得到的n1n2矩阵的行进行“行码”编码。或者,先进行行编码再进行列编码。因为码是线性的,所以得到的码字不受编码顺序的影响。特别地,“校验位的校验”这一子矩阵是不变的。乘积码总的码率是RR1。
2023-10-29 23:24:33 430
原创 【BCH码5】AWGN信道下BCH码的BM迭代(Berlekamp译码)C语言实现及工程详细解析『需要完整工程代码请先私信』
BCH码取自 Bose、Ray-Chaudhuri 与 Hocquenghem 的缩写,是编码理论尤其是纠错码中研究得比较多的一种编码方法。BCH码是循环码的一个重要子类,它具有纠多个错误的能力,BCH码有严密的代数理论,是目前研究最透彻的一类码。它的生成多项式与最小码距之间有密切的关系,人们可以根据所要求的纠错能力t很容易构造出BCH码,它们的译码器也容易实现,是线性分组码中应用最普遍的一类码。
2023-10-24 00:42:50 203
原创 Intel 高性能库之IPP信号处理简介及下载(版本5.1、6.1,含32位和64位及注册)
英特尔®集成性能基元(英特尔®IPP)是一款多核就绪的扩展函数库,其中包含众多针对多媒体、数据处理和通信应用高度优化的软件函数。它包括:视频编码:用于 DV25/50/100、MPEG-2、MPEG-4、H.263 和 MPEG-4 Part 10 (H.264) 编解码器的关键算法组件。图像和 2D 信号处理:包含多种可针对图像和图像内区域 (ROI) 执行的算法。计算机视觉:针对多种主要计算机视觉运算进行优化的函数,可用于安全、计算机控制、媒体管理、媒体注释等领域的应用程序。
2023-10-06 23:52:11 899
原创 IDA反编译dll库时导入C++头文件
假如dll是C++类的导出,那么问题就比较复杂了,C++类成员函数中有隐含的this指针,直接反编译的话对成员函数的操作非常难以识别,此时自然而然就想到了在头文件上做文章,而IDA只支持导入C语言格式的头文件,直接导入C++头文件会报错,无法识别C++语法,那么应该怎么利用C++的头文件呢?其实,C++的类class是在C语言的结构体struct基础上发展而来的,多了成员函数的概念以及权限的控制,而成员函数其根本就是在调用时传入this指针,那么能否把C++的类手动改成C语言的格式呢?
2023-06-19 13:06:55 900
原创 【数字信号处理】Goertzl算法详解推导及双音多频(DTMF)信号检测
根据卷积公式ynm−∞∑∞xmhn−mm0∑N−1xmhn−m可以发现,上式中ykN的计算可以看成是xn与ejN2πkn的卷积,因此可以理解为Xk是xn经过滤波器hnejN2πkn之后的输出,根据Z变换的性质ϵn↔z−1zanϵn↔z−az得ejN2πknϵn↔Hzz−ejN2πkz。
2023-05-28 21:29:11 925
原创 【循环自相关和循环谱系列7】OFDM循环自相关推导分析、时间参数估计原理仿真及某无人机实际图传信号验证(含矩形/非矩形、有无循环前缀等情况)
这是循环自相关和循环谱系列的第七篇文章了,前面的6篇讲的都是单载波信号的循环平稳性的理论推导和matlab仿真,之前也有很多读者都私信代码中计算循环谱相关部分代码的原理,均一一进行了回复,并发送了相应的论文,对读者们的支持,在此表示衷心的感谢!OFDM信号调制较为复杂,但是有很多方式引入循环平
2023-05-27 22:01:19 909 8
原创 【数字通信】PAM基带信号的功率谱原理推导详解
PAM信号可以说是最简单的数字通信信号,很多理论最初都是由该信号的表达式推导得到并进行拓展的,纵观各类数字信号的表达式,或多或少都有PAM信号的“影子”,也就是说PAM信号相关的理论知识是最基本的,很有必要搞清楚,本博客主要讨论PAM基带信号的功率谱的原理及推导过程,以教材为主线,对疑难步骤进行补充推导解释。
2023-05-23 19:56:45 780
原创 【循环自相关和循环谱系列6】信号的循环平稳性(循环自相关函数)基本原理及推导
在通信、遥测、雷达和声纳系统中,一些人工信号是一类特殊的非平稳信号,它们的非平稳性表现为周期平稳性。**通信信号**常用待传输信号对周期性信号的某个参数进行调制、如对正弦载波进行调幅、调频和调相,以及对周期性脉冲信号进行脉幅、脉宽和脉位调制,都会产生具有周期平稳性的信号。通常把统计特性呈周期或多周期(各周期不能通约)平稳变化的信号统称为循环平稳或周期平稳(CS:cyclostationary)信号。
2023-05-17 05:00:00 1941
原创 【网格图软判决译码】基于比特级的MAP译码(Bitwise MAP Decoding)算法原理推导和例题详解(intrinsic和extrinsic值)
C表示一个(n,k)码,生成矩阵为G,编码如下Encodinguu1...uk—>vv1...vnvu⋅Gvuv1u...vnu))rr1...rn为接收向量信道转移概率为p,即①Pui0∣rPui1∣r1−Pui0∣r※②Pui0∣r∑uui0Pu∣r③Pu∣rPrPuPr∣u④Pu。
2023-05-13 21:36:21 482
原创 【分组码系列】线性分组码的网格图和维特比译码
由于码字的比特位是统计独立的,所以编码过程可以利用有限状态机来描述,它能精确地确定初始和最终状态。可以利用网格图进一步描述编码过程[36],采用维特比算法进行最大似然译码.在GF(2)上定义线性分组码(n,k)。相应的(n-k)Xn维校验阵可以写成令码字为系统码, 前k位表示信息位, 后n-k位表示校验位,Sj表示深度为j时的状态(线性分组码的深度j最大为n网格图中的状态数由2n−k确定,每个状态以二进制形式可表示为长度n-k的矢量。令mm1m2,⋅⋅⋅mk。
2023-05-10 23:57:55 602
原创 【MFC系列】MFC单文档应用程序要点(一)
那么,当第一个线程到达,信号量为FALSE,线程打开文件进行访问,并将信号量置为TRUE;当人工重置的事件得到通知时,等待该事件的所有线程均变为可调度线程,且在一个线程得到该事件对象后并不会将该对象设置为非信号状态,也就是说人工重置的事件对象,除非显式得调用ResetEvent,否则始终处于有信号状态。可以看出,由于主线程初始化hMutex为有信号状态,所以线程1和线程2刚开始时会发生“争抢”,在hMutex第一次被置为无信号状态的过程中,两个线程的WaitForSingleObject语句同时执行了!
2023-05-03 22:15:11 628
原创 【数字通信】通俗易懂理解正交幅度调制(Quadrature Amplitude Modulation,QAM也叫幅相调制)
数字调制回顾,QAM调制、幅相调制、正交幅度调制
2023-04-30 05:00:00 435
原创 【FPGA笔记系列16】秒表电路之计数模块
对于秒表计数器来讲, 最小的计时单位为 0.1s 信号, 0.1s 的计数值 sec_div 就是一个独立的 10 进制计数器, 且计数时钟周期为 0.1s。因此, 可以将 0.1s 的计数值 sec_div 写在一个单独的 always 语句块内。第二段always 语句块同样以 50MHz 的时钟信号 clk 为驱动信号, 将() 的判断结果作为时钟允许信号, 描述周期为 10 的 0.1s 的秒表计数值。由于 cn_div 的计数周期为 0.1s,每次(
2023-04-11 05:00:00 191
原创 【FPGA笔记系列15】秒表电路之按键消抖模块
按键抖动示意图如图所示(图中的按键信号默认为低电平, 按下为高电平。如按键信号默认为高电平, 按下为低电平, 则按键信号的前沿为下降沿, 后沿为上升沿)。抖动时间的长短由按键的机械特性决定, 一般为 5ms~20ms。这是一个很重要的时间参数, 在很多场合都要用到。根据按键产生的实际信号特性, 可以采用下面的思路实现消抖功能。根据上述设计思路, 每检测到一次按键动作, 前沿计数器和后沿计数器均会有一次从 0持续计数至 20ms 的过程。
2023-04-10 05:00:00 155
原创 【FPGA笔记系列14】秒表电路之数码管显示部分
根据秒表电路的功能需求, 考虑硬件电路原理, 可以将程序分为两个子模块: 秒表计数模块(watch_counter) 及数码管显示模块(seg_disp)。两个模块的连接关系如图 8-2 所示。其中 dec2seg、 keyshape 分别为两个功能相对独立的子模块, dec2seg 用于完成段码的编码,keyshape 用于完成按键消抖功能。
2023-04-09 12:37:47 602
原创 【FPGA笔记系列13】呼吸灯电路设计
常规的 LED 灯只有亮(高电平) 及暗(低电平) 两种状态。如果产生一个周期性的脉冲信号用于驱动 LED 灯, 则 LED 灯会出现闪烁状态。如果脉冲信号的频率足够高(大于人眼的分辨频率 24Hz),则由于人眼的分辨率问题, 看起来 LED 灯仍然是恒亮的。此时, 只要控制脉冲信号的占空比(一个周期内高电平持续的时间占整个周期的比值),相当于控制了通过 LED 灯的平均电流大小, 就可以控制 LED 灯的亮度。
2023-04-08 19:27:22 1241
原创 记录一次某MFC软件注册逆向之旅(此处只谈思路)
初始状态描述:软件可以正常打开,打开后点击菜单任意按钮,则弹出机器码包含本机机器码的注册框,机器码共有XX位!输入用户名和邮箱等之后,会生成一个后缀名为.dat的文件,并提示用户需要将该文件通过电子邮件反馈给软件厂商,软件厂商反馈后缀名为.key的注册文件,通过菜单注册按钮,选择该.key文件,即可注册成功。首先利用PEID之类的查看程序的基本信息,以及是否加壳,发现并没有加壳,且是采用VC++写的。
2023-03-28 14:16:12 736
原创 【BCH码4】BCH码的查找表译码原理详解及MATLAB实现(不使用MATLAB库函数『需要完整代码请先私信』)
传统的BCH码译码一般会采用迭代或者查找表两种方法。常见的迭代算法有BM、Peterson算法,虽然这些算法硬件资源消耗较少,但是它们设计复杂度较高。查找表译码算法与迭代译码算法相比,具有译码速度快,通过查找与伴随式S相同的图样,即可找到对应的错误图样,得到错误位置,从而进行纠错,该篇正是采用BCH码的查找表译码方法。
2023-03-17 09:37:11 473
原创 【BCH码3】BCH码的彼得森译码原理详解及MATLAB实现(不使用MATLAB库函数『需要完整代码请先私信』)
彼得森译码算法本质是直接硬解方程,很显然,这样将会面临解方程的复杂度问题,尤其是当BCH码的设计纠错能力t较大时,解这个方程组并非一件简单的事情。而且往往是$r(x)$的实际错误个数$e \leq t$,这样要解出(x)的系数,就要不断对系数矩阵进行降阶处理,直到求得一个满秩的$e \times e$阶矩阵为止。
2023-03-16 05:00:00 490
《信息论》之信道容量和蜂窝通信课件+讲义+作业+代码.rar
2023-12-06
DGSD1-Qt.rar
2023-10-07
数字通信国外大学纯手写通俗易懂知识点讲解梳理(英文含习题和答案).rar
2023-05-12
intel-ipp-vxworks-users-guide-7.0
2023-04-15
Windows-64位-scikit库(含编译好的lib文件和SuiteSparse工程)
2023-03-11
Solutions Manual Digital Communication
2023-03-06
Solutions Manual Communication Systems Engineering
2023-02-19
基于SDL的魂斗罗VC版源码(可直接编译运行试玩).rar
2022-12-24
论文High-Order Digital Parametric Equalizer Design对应的代码
2022-08-29
VB语言与测量程序设计之水准网平差程序设计完整项目工程(含测试输入数据)
2022-05-21
MATLAB库函数polly2trellis(卷积码生成多项式转网格图描述)的VS2010工程源码.rar
2022-01-19
【BCH码2】BCH码的快速BM迭代译码原理详解及MATLAB实现(不使用MATLAB库函数).rar
2021-11-19
[精品资料]信号与系统习题和答案详解.rar
2021-11-08
Office系列完全干净卸载工具合集(最全).rar
2021-10-01
RF50_开发测试板_DEMO和原理图_V1.1_CN.rar
2021-08-23
U-EC5编程操作指南.rar
2021-08-21
LMMSE、Godard、CMA常模、Sato等算法在信道均衡中的应用理论
2021-08-07
【黑客帝国数字雨屏保】基于Win32的黑客帝国数字雨屏幕保护程序.7z
2021-05-07
【32位win7一键扫雷】32位win7系统自带扫雷游戏逆向分析之一键扫雷.rar
2021-05-06
信号处理和数字滤波课件和试卷.rar
2021-03-13
IDA逆向分析缓冲区溢出攻击漏洞实例.rar
2021-03-12
基带模型下高阶累积量的MFSK的调制识别代码、参考文献和Mind图
2021-03-06
依赖于个体的空间或时间无标度行为的群体混合(Hybrid)搜索算法(课件和C语言代码).rar
2021-02-07
【英文课件】稀疏编码理论(LDPC、Fountain Codes、Turbo Codes).rar
2021-02-05
Pointofix.zip
2021-02-01
考研英语一大作文救命模板.docx
2021-01-14
Windows10+VS2017下GSL1.8_x86配置文件及schneider_et_al_2016_animaldiversity项目编译运行
2020-11-29
FM调制解调音频文件.rar
2020-09-20
FFTW-3.3.5-x86-x64头文件、lib库文件和dll文件
2020-09-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人