【游戏漏洞】逆向基础之进制

本文给大家讲解我们日后逆向学习和实践过程中息息相关的一些重要基础

我们要讲解的是

 

例如

1+1=1在什么时候是正确的?

OD,CE,IDA等工具为什么都是16进制?

 

 

计算机只认识0和1,也就2进制。

我们现实生活中常用到的是10进制。

时间呢?又有60进制,60秒为1分钟,24进制,24小时为一天等等

那么什么是进制呢?

N进制定义:由n个符号组成 逢n进位

例如 01 二进制

0123456789 十进制

 

那么如果我这么写呢

!@#¥%  5个符号  也可以作为5进制吧

!+!=! 没有人反对吧   (!此时的含义是0)

@+@=#

 

所以1879023456  这样排列的10个符号  也可以是十进制

那么 1+1=1 是不是顺理成章了呢?

有人说 这样是在玩数字游戏吗?完全没有意义啊

也并非如此,如果你的服务器把数字做成这样的解析,是不是也是一种不容易被察觉的加密呢?

答案是肯定的,当然这个例子更多的是为了让我们更深入的理解进制

 

 

第二个问题

OD,CE,IDA等工具为什么都是16进制啊?

实际上根本原因就是计算机是2进制的 16进制是2进制的简写方式,直接看二进制很难看

一串串的0和1 ,任何人都会头晕

1字节是8位也就是8个0和1

最小00000000 最大11111111

表示的范围是0到255  如果有十进制字节表示  十进制位数不满,再加1也不进位,而二进制已经进位了

来回转换也不方便,

所以我们选择了16进制

用16进制表示的话就是0到FF  再进位也跟着进位

也就是 每8位缩写成2位的16进制

这就是16进制存在的意义

否则我们不会凭空发明一种进制给自己添麻烦的

 

 

 

至于进制之间的转换,懂其原理即可,我们又不会总去自己计算

例如0x4A  他的含义是什么呢

是他有 4个0x10 和一个A  0x10是什么意思是逢16进的1

那么就等于  4*16+A=64+10=74

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/588832.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode热题100】79. 单词搜索(回溯)

一.题目要求 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平…

Vue3+Vite Nginx部署 跨域

打包项目 webstorm打开项目之后,在Terminal执行打包命令 pnpm run build:prod 复制到Nginx 打包完成之后,生成的包在根目录dist,把dist目录拷贝到Nginx放网站目录下:\nginx-1.25.2\html\divided ,dist改名了divided 修改配置…

Runes 生态一周要览 ▣ 2024.3.25-3.31|Runes 协议更新 BTC 减半在即

Runes 生态大事摘要 1、Casey 发布了 Runes 协议文档 RUNES HAVE DOCS,Github 代码库更新到 ord 0.17.0 版本,Casey 表示符文是一个“严肃”的代币协议。 2、Casey 公布了第一个硬编码的创世符文「UNCOMMONGOODS」 3、4月7日香港沙龙|聚焦「…

1,static 关键字.Java

目录 1.概述 2.定义格式和使用 2.1 静态变量及其访问 2.2 实例变量及其访问 2.3 静态方法及其访问 2.4 实例方法及其访问 3.小结 1.概述 static表示静态,是Java中的一个修饰符,可以修饰成员方法,成员变量。被static修饰后的&#xff…

小明的背包-dp_python

用户登录 动态规划的思想是自底向上,先求局部最优解然后求全局最优解。 dp[i][j]代表的是当前状态物品的数量以及背包的容量。 N, V map(int,input().split()) dp [[0 for _ in range(V1)] for _ in range(N1)]for i in range(1,N1):v, w map(int,input().split(…

算法学习17:背包问题(动态规划)

算法学习17:背包问题(动态规划) 文章目录 算法学习17:背包问题(动态规划)前言一、01背包问题:1.朴素版:(二维)2.优化版:(一维&#xf…

Qt实现Kermit协议(三)

3 实现 3.2 KermitSendFile 该模块实现了Kermit发送文件功能。 序列图如下: 3.2.1 KermitSendFile定义 class QSerialPort; class KermitSendFile : public QObject, public Kermit {Q_OBJECT public:explicit KermitSendFile(QSerialPort *serial, QObject *…

【竞技宝jjb.lol】LOL:LPL春季常规赛荣誉评选出炉!

北京时间2024年4月3日,英雄联盟LPL2024春季季后赛正在如火如荼的进行之中,常规赛阶段的荣誉评选结果在近日出炉,除三个最佳阵容之外,其中BLG战队的中单选手knight斩获春季赛常规赛MVP,而FPX战队的打野选手milkway则拿到春季赛常规赛的最佳新秀。 春季常规赛最有价值选手:BLG.kn…

HAL STM32 硬件I2C方式读取AS5600磁编码器获取角度例程

HAL STM32 硬件I2C方式读取AS5600磁编码器获取角度例程 📍相关篇《STM32 软件I2C方式读取AS5600磁编码器获取角度例程》 ✨stm32使用硬件I2C去读取角度数据,通过STM32CubeMX工具配置工程,读取角度数据,只需要调用一个函数&#xf…

【学习】渗透测试有哪些重要性

随着信息技术的迅猛发展,网络安全问题日益凸显。渗透测试作为网络安全防御的重要手段之一,旨在模拟黑客攻击,发现并修复潜在的安全漏洞,提高网络系统的安全性。本文将介绍渗透测试的概念、重要性、实施步骤及实践案例,…

[蓝桥杯练习题]出差

一道DJ题,重要的是隔离时间,把隔离时间加在边权上即可 现实生活的题大多都是无向图建图,需要边的两端点各自上邻接表和相同权重 #include<bits/stdc.h> using namespace std; #define ll long long const int N1005; const int M10005; struct edge{int to;ll w;edge(int…

Monaco Editor系列(二)Hello World 初体验

前言&#xff1a;上一篇文章我主要分享了从 Monaco Editor 入口文件以及官方提供的示例项目入手&#xff0c;对一部分源码进行剖析&#xff0c;以及分享了初始化阶段代码的大致执行步骤&#xff0c;这一篇了来讲一下我们要用 Monaco Editor 的时候该怎么用。其中会涉及到一些 A…