WindowsAPI编程核心技术-基础扫盲
WindowsAPI编程核心技术-基础扫盲预备知识常见参数说明符前缀:
123456789101112b BOOL 布尔值g_ Global 全局的h Handle 句柄hwnd HWND类型i Integer 整数l Long 长整数lp Long-pointer 长指针n Short-int 短整型p Pointer 指针sz Zero-terminated-String 以0结尾的字符串u Unsigned-int 无符号整数w WORD 无符号短整数
常用参数类型:
1234567891011HWND 窗口句柄HINSTANCE 实例句柄HANDLE 句柄INT_PTR 约等于intLPARAM 不好说,一般传地址LPSTR 字符串指针LPTSTR 定义了_T宏的同上LPCTSTR 常量,同上UINT 32位无符号整型VOID 等于voidWPARAM 不好说,一般传各种参数
常用宏定义:
1234WINAPI/APIENTRY/CALLBACK __stdcall_In_ 输入参数,不会改变其值_In_opt_ 可选的输入参数,不会改变其值_Out_ 不关心本身内容,写入 ...
高级加密在逆向中初探
高级加密在逆向中初探笔记get_s_box_aes.c
12345678910111213141516171819202122232425262728293031323334353637383940#include <stdio.h> int main(){ unsigned char sbox[256] = { 0xE3, 0xFD, 0xF5, 0x30, 0x50, 0xBD, 0x51, 0x70, 0x3D, 0x40, 0x16, 0x04, 0x4D, 0xB5, 0xC0, 0xA2,0x6D, 0xE2, 0x56, 0xC4, 0xA9, 0x54, 0x7F, 0x27, 0x66, 0x82, 0xD6, 0x68, 0xFB, 0x57, 0xCA, 0xC3,0x6F, 0xA4, 0xF0, 0xD5, 0x2A, 0xE8, 0xC1, 0x0A, 0x5E, 0x19, 0x79, 0x4B, 0x69, 0x45, 0xF1, 0xA7,0x87, 0x00, 0xD8, 0xDC, 0x ...
数模竞赛-图论模型
数模竞赛-图论模型NetworkX基本操作:
123456789101112131415161718import networkx#创建空对象G=networkx.Graph()G=networkx.DiGraph()G=networkx.MultiGraph()G=networkx.MultiDiGraph()#由邻接矩阵W创建图G=networkx.Graph(W)G=networkx.DiGraph(W)networkx.draw(G,pos=None,ax=None,**kwds) #G为要绘制的网格图 pos为表示位置坐标的字典数据,参数如下: #circular_layout 顶点在圆环上均匀分布 #random_layout 顶点在一个单位正方形内随机分布 #shell_layout 顶点在多个同心圆上分布 #spring_layout 用Fruchterman-Reingold算法排列顶点 #spectral_layout 根据图的拉普拉斯特征向量排列顶点
示例:
123456789101112import networkx,pyl ...
数模竞赛-非线性规划
数模竞赛-非线性规划基础概念记$\overrightarrow x=[x_1,x_2,\cdots,x_n]^{\mathrm T}$是$n$维欧几里德空间$\mathbb{R}^n$中的一个点。$f\left(\overrightarrow x\right),g_i\left(\overrightarrow x\right),i=1,2,\cdots,p,h_j\left(\overrightarrow x\right),j=1,2,\cdots,q$是定义在$\mathbb{R}^n$上的实值函数。
若$f\left(\overrightarrow x\right),g_i\left(\overrightarrow x\right),i=1,2,\cdots,p,h_j\left(\overrightarrow x\right),j=1,2,\cdots,q$至少有一个是$\overrightarrow x$的非线性函数,则称如下形式的数学模型为非线性规划模型的一般形式:
$$\displaylines{ \min f\lef ...
数模竞赛-常微分方程与差分方程
数模竞赛-常微分方程与差分方程常见模型略。
常微分方程求解-符号解例题1:
求解$y^{‘}=-2y+2x^2+2x,y(0)=1$:
1234567import sympysympy.var('x')y=sympy.Function('y')eq=y(x).diff(x)+2*y(x)-2*x**2-2*xs=sympy.dsolve(eq,ics={y(0):1})s=sympy.simplify(s)print(s)
得$y=x^2+e^{-2x}$。
例题2:
求解$y^{‘’}-2y^{‘}+y=e^x,y(0)=1,y^{‘}(0)=-1$:
1234567import sympysympy.var('x')y=sympy.Function('y')eq=y(x).diff(x,2)-2*y(x).diff(x)+y(x)-sympy.exp(x)con={y(0):1,y(x).diff(x).subs ...
数模竞赛-线性规划模型
数模竞赛-线性规划模型线性规划例题1:求解:
$$\displaylines{ \max z=70x_1+50x_2+60x_3,\\ \mathrm{s.t.}\begin{cases} 2x_1+4x_2+3x_3\leqslant150,\\ 3x_1+x_2+5x_3\leqslant160,\\ 7x_1+3x_2+5x_3\leqslant200,\\ x_i\geqslant0,i=1,2,3. \end{cases}}$$
代码:
1234567891011#pip install cvxpy cvxpy[GLPK_MI] cvxoptimport cvxpy,numpyc=numpy.array([70,50,60])a=numpy.array([[2,4,3],[3,1,5],[7,3,5]])b=numpy.array([150,160,200])x=cvxpy.Variable(3,pos=True) #决策变量 列向量obj=cvxpy.Maximize(c@x)co ...
数模竞赛-线性代数模型
数模竞赛-线性代数模型特征值&特征向量差分方程-Fibonacci数列化为一阶差分方程组:
$$\begin{cases} \displaylines{ F_{k+1}=F_{k+1},\\ F_{k+2}=F_{k+1}+F_k, }\end{cases}k=0,1,2,\cdots$$
写成矩阵形式:
$$\alpha_{k+1}=A\alpha_{k}$$
其中:
$$A=\left[ \begin{matrix} \displaylines{ 0&1\\ 1&1 } \end{matrix}\right],\alpha_k=\left[ \begin{matrix} \displaylines{ F_k\\ F_{k+1} } \end{matrix}\right],\alpha_0 ...
数模竞赛-Python基础
数模竞赛-Python基础Python入门123456789101112131415161718192021from numpy.random import randintimport numpya=randint(10,20,16)ma=max(a)ind2=numpy.where(a==ma)print(ind2[0])import string,random,collectionsx=string.ascii_letters+string.digitsy=''.join([random.choice(x)for i in range(1000)])count=collections.Counter(y)for k,v in sorted(count.items()): print(k,':',v)import randomx=random.randint(1e5,1e8)y=list(map(int,str(x)))z=list(map(lambda x,y:x%2==1 and y%2==0,[1,3,2,4,1],[3,2,1,2 ...
BlockChain入门-入门题目泛做
BlockChain入门-入门题目泛做
BlockChain入门-Solidity基础语法
BlockChain入门-Solidity基础语法01-入门1234pragma solidity ^0.8.21contract HelloWeb3{ string public _string="Hello Web3!";}
第一行注释不写会出现警告。
第二行指编译器版本不允许小于0.8.21,“^”表示不允许编译器版本大于等于0.9.0。
第三行创建string型变量_string。
02-变量类型1234567int uint uint256string booladdress //20字节address payablebyte32 byte8 byte1! && || == !=//&&运算符短路
03-函数关键字pure标记的函数不能读写链上状态,不消耗gas fee。
123function addPure(uint256 _number)external pure returns(uint256 new_number){ new_number=_number+1;} ...