逆向工程常见密码总结
TEATEA在加密的过程中要加密的明文使用2个32位无符号整数(2×4字节),秘钥为4个32位无符号整数(4×4字节),更长的明文可通过分为多个4字节为单位的小组分别进行加密(循环) 在逆向分析实战中判断TEA算法的可从其3行核心加密中出现的右移4左移5,两行各有3个小括号互相异或的加密流程和单次加密循环32次以及运算中出现的sum和delta变量看出 下面是TEA算法加密过程的C语言代码实现 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748#include <stdio.h>#include <stdint.h>void encrypt(uint32_t* temp, uint32_t* key)// 加密函数{ uint32_t v0 = temp[0], v1 = temp[1];// v0、v1分别是明文的左、右半部分 int sum = 0; //...
《汇编语言》总结
一、常见的寄存器1. 通用寄存器包括: AX累加寄存器 BX基址寄存器(常用于存放要使用数据的偏移地址,即放在[]中的数据) CX计数寄存器(使用Loop指令循环时其会存放要循环的次数) DX数据寄存器 注:数据在寄存器中以小端序方式进行填充,低8位构成AL寄存器,高八位构成AH寄存器 2. 段寄存器CS代码段寄存器 DS数据段寄存器 SS堆栈段寄存器 ES附加段寄存器 3. 指针寄存器SP堆栈指针寄存器(指向堆栈的当前栈顶) BP基址指针寄存器(用于基址寻址) SI源变址寄存器 DI目的变址寄存器 IP指令指针寄存器(指向下一条即将执行指令的地址) 4....
个人博客搭建过程
一些”原理”做一件事知道了原理再去做,常常会让我们的方向更加明晰。所以,在开头处先来分享一点我个人对搭建博客的理解。这里使用的是Hexo这种生成博客页面的工具。首先,我们通过Github建立一个仓库的博客,里面存放着我们博客中的内容,然后通过Git将本地的一个存放着博客中的原始数据的文件夹与Github中的那个仓库链接起来,接着通过Hexo这个工具把我们编写的博客内容和一些配置文件转化为博客网页中的实际数据和代码存放在Github的仓库中,最终实现对博客网站内容的编辑。(仅为个人主观理解的想法,可能不太准确) 准备工作已知了前面的”原理”,我们不难发现要准备的无非是三样东西:Github Git Hexo,那么我们要做的准备工作也就很明晰了 注册Github账号可在Github官网按照引导完成注册 下载Git可点击此处的链接前往官网下载Git 配置HexoHexo的实现基于Node.js,所以需要下载。可点击此处的链接前往官网下载安装包,按照自己电脑的系统选择合适的安装包下载并进行安装即可 可用如下命令查看自己安装后Node的版本以确认是否成功安装 1node...