狂神汇编原理

news2024/11/25 15:58:49

1.汇编(可以破解软件,写外挂…)

------计算器语言-----
2.机器语言 0和1 c+±>汇编—>二进制

INC   --抽象-->编译器    0100 0000
 DEC
 MUL
 DIV

3.进制 10进制(10个手指) 可以自己定义进制,作为进制加密解密,查数

1进制 一进一 写出2 ->1 1
2进制 0 1 10 11 100 101 110 111 1000
3进制 0 1 2 10 11 12 20 21 22 100 101
八进制 八进一 0 1 2 3 4 5 6 7
十进制 进一 0 1 2 3 4 5 6 7 8 9
十六进制 f进一 0 1 2 3 4 5 6 7 8 9 a b c d e f

4.八进制

2+3=5 //位置在5 23=6 //位置在进制表的6 4+5=11 //9,减法的本质是加法
4
5=24 //位置20 234/4=47 //反向找可以除的 ,x/4=234 写出进制表,类似 九九乘法表和加法表

5.二级进制 0 1有无电子 ,摩尔定律

  量子计算机: 昆比特(量子比特包含光子(正交偏振方向)和磁场(电子自旋方向))

6.数据宽度(给类型定义宽度)在内存中的长度

bit 0 1
Byte 0-0xFF (8个1) (255)
Word 0-0xFFFF (16位)
DWord 0-0xFFFFFFFF (32位,如32个0)

7.有符号数和无符号(怎么表示正负号)
1001 1010 16进制 0x9A(4位4位)
1 0011010 #最高位是符号位0正1负
8.有了符号怎么计算

  1. 无符号 原码=反码=补码
    2 的原码 0000 0010 反 0000 0010 补0000 0010

  2. 有符号 原码=反码(原码取反,最高位不用取)=补码(反码二进制最后+1)
    -2的原码 1000 0010 反码 1111 1101补码 1111 1110

9.寄存器

//往eax存-1,查看到存入FFFF FFFF(32位)
4*8=32位的计算机 1个F,4个1 ,如果是64位计算机,就是
64个1,16个F mov eax,-1 //计算机是以补码存储的

10.运算
2*8最高效的计算方式

  1. 与运算 and 1&1=1 1&0=0
    图or
    请添加图片描述
    图and
    请添加图片描述
  2. 或 or 1| 1= 1 1 | 0=1
  3. 异或(xor ^) 不相同为1
    图xor
    在这里插入图片描述
  1. 非(单目运算符 not ~) 就是取反原码变反码(除了符号位的)
    1101 1000–>0010 0111
  2. 位运算
    左移 shl<<1 0000 0001—> 0000 0010 #高位丢弃,
    右移 shr>>1 0000 0001–>0000 0000#低位丢弃
  1. 加法
    例子 1+2=3?
  1. 对原码两个数异或
    0000 0001
    0000 0010
    ->0000 0011
  2. 对原码两个数与and
    0000 0001
    0000 0010
    ->0000 0000
  3. 与运算结果左移一位
    ->0000 0000
  4. (异或结果)xor(与左移结果)
    0000 0011
    0000 0000
    0000 0011
  5. and与确认结果(确认为0没有进位,如果没有继续异或)(如 本来1111 变成 1 0000 就是进位)
    0000 0011
    0000 0000
    0000 0000

12.减法(要使用反码和补码) 负数要求补码
4+(-5)

  1. 符号位先为正, (后变负)后取反,得补码
    0000 0100 #4 正数的原码

    0000 0101—>1111 1010 —>1111 1011 #负数的原码和反码和补码

  2. 求异或
    0000 0100
    1111 1011
    1111 1111 #ff

  3. 与and确定有没有进位 16进制 10 10进制(!!!要区分符号位) 255或者 -1

13.乘除

乘 就是加法 10*3 =10+10+10 #加多少次10
除法 就是减法 10/3 =10 -3-3-3
#计算减多少次3

  1. 工具vc6 OD(找到地址改) 抓包 加密解密根据
    ollyDbg 拖入程序
    pic innerStructure
    请添加图片描述
    15.寄存器(在cpu里面,速度比内存快,数量少)
  2. 通用寄存器(可以存储任意的值)
    1.32位的有8个寄存器,位数直接有对应关系 EAX AX AL是一串数字,可以分别控制
    mov add,num
    mov add1,add2
    图寄存器的关系(包含关系)
    请添加图片描述

2.其他寄存器(有特定的功能,不能随便修改,开机关机…)

16.内存(寄存器小,需要数据放内存)

每个程序有4g内存(虚拟),
1B=8bit
1KB=1024B
1MB=1024KB
1GB=1024MB
数据宽度 bit 0/1 byte(8位) word(16位) dword(32位) qword(64位)
//多少b就是表示多少个地址
4G =4294 967 296 b /1024 =4194304 kb /1024= 4096mb/1024=4gb
//内存有编号,向内存存值
//mov 数据宽度,
mov dword ptr ds:[0x0019FF74],1 //byte改后2位
//传递值要和类型对应
mov byte ptr ds:[0x0019FF74],ffff (x) 只能传2位
//地址偏移,0x0019FF74 读写值
mov dword ptr ds:[0x0019FF70+4],1
//寄存器的值放到内存
ds:[eax]
ds:[eax+4] //修改寄存器地址的偏移
//数组,批量创建内存地址
ds:[reg+reg*{1,2,4,8}+4]

         nop 改jnz(if判断)以免导致后面产生连锁反应,右键二进制-->用aop填充
     //需要导出新的文件,右键复制到可执行文件 -->右键保存文件 全部复制

17.加壳和脱壳(a通过套b.exe的壳,防破解,然后执行加密算法才能得到a的二进制)
//实战植物大僵尸改无限太阳
cheat engine 查看内存地址变化筛选内存地址
od ctrl+g搜索内存地址改代码
sub edi,edi #血量变为0 填nop为空
//怎么在图形界面控制破解
打开进程id的api
//内存写机器码,可以改执行,程序写好了会在特定的内存地址执行

  1. EIP寄存器,代表下一条执行的指令

19.寄存器临时存数据(一直在变化)

20.od安装插件

od点击插件跳到网页,然后下载clawsearch 32的文件放32位plugin文件夹
  64位同理

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用Arrays.asList生成的List集合,操作add方法报错

早上到公司&#xff0c;刚到工位&#xff0c;测试同事就跑来说"功能不行了&#xff0c;报服务器异常了&#xff0c;咋回事";我一脸蒙&#xff0c;早饭都顾不上吃&#xff0c;要来了测试账号复现了一下&#xff0c;然后仔细观察测试服务器日志&#xff0c;发现报了一个…

springboot实战(四)之整合mybatis-plus

目录 环境&#xff1a; 准备&#xff1a; 开始&#xff1a; 1.创建表t_user 2.项目添加依赖 3.配置 1.配置mysql链接信息 2.在启动类配置mapper扫描路径 4.创建实体类 5.创建mapper 6.测试 环境&#xff1a; jdk&#xff1a;1.8 springboot版本&#xff1a;2.7.15…

3D虚拟数字人定制+AI交互数字人技术,助力企业开启营销新思路

近日&#xff0c;番茄小说推出数字人IP番卷卷&#xff0c;其承担着连接现实世界与番茄世界的重要角色&#xff0c;作为用户进入番茄世界的数字导游。数字人番卷卷的出现&#xff0c;一方面能够强化品牌在用户层面的心智&#xff0c;另一方面可以让用户拥有多层次、多情感、角色…

C++ while 循环

只要给定的条件为真&#xff0c;while 循环语句会重复执行一个目标语句。 语法 C 中 while 循环的语法&#xff1a; while(condition) {statement(s); }在这里&#xff0c;statement(s) 可以是一个单独的语句&#xff0c;也可以是几个语句组成的代码块。condition 可以是任意…

防雷接地+防雷检测综合应用解决方案

防雷接地和防雷检测是防雷工程中的重要内容&#xff0c;它们旨在保护建筑物和设备免受雷电的危害。地凯科技将介绍防雷接地和防雷检测的基本原理、施工案例方案和国标措施。 防雷接地是指将建筑物的金属结构、防雷装置和电气设备与地面连接&#xff0c;形成一个接地系统&#…

vscode宏键绑定

开发语言php 实现输入[ 得到 [];的效果 [win]ctrlp,[mac]superp 输入>keyboard 选择 在json文件里增加(目前有缺陷,sublime的设置是比较完美的.或者phpstorm默认不需要配置): {"key": "[","command": "editor.action.insertSnippet&…

CUDA Toolkit多版本安装与配置

CUDA Toolkit多版本安装目的是为了将CUDA Toolkit支持多个版本&#xff0c;并将当前版本更新到后续支持常见pytorch的版本&#xff08;即cuda11.6&#xff09;&#xff0c;目前该系统默认安装的是cuda10.2&#xff0c;cuda11.0和cuda11.2。CUDA一般有两种API&#xff0c;一个是…

PMD代码检查:没有使用的私有字段(UnusedPrivateField)

https://docs.pmd-code.org/pmd-doc-6.55.0/pmd_rules_java_bestpractices.html#unusedprivatefield 如果代码中的private字段声明了、或者赋值了&#xff0c;但没有被用到&#xff0c;就报违反项。例如&#xff1a; 但是从PMD 6.50.0版本开始&#xff0c;如果私有字段上有任…

h5网站开发,页面加载wow.js动画时,出现了左右滚动条,怎么解决?

一、问题描述&#xff1a; 如下图所示&#xff0c;页面在加载WOW动画时出现了左右滚动条&#xff1a; 二、解决方法&#xff1a; 使用CSS样式来隐藏滚动条 在CSS文件中添加以下样式&#xff1a; body {overflow-x: hidden; /* 隐藏水平滚动条 */ }完美解决&#xff0c;还不会…

智慧电力方案:安防监控/视频分析/智能分析网关AI识别技术在电力领域中的应用

一、行业痛点 随着经济的飞速发展&#xff0c;电力已经是人们生活中必不可少的&#xff0c;无论是在生活还是工作中&#xff0c;电的存在都是不可或缺的。但电力的高效运维&#xff0c;一直是一个难题&#xff0c;当前普通的电力运维系统已无法满足人们的管理需求&#xff0c;…

什么是帧呢

在处理图片时&#xff0c;经常听到帧的概念&#xff0c;什么是帧呢&#xff1f; 概念 帧就是一幅静止的画面。 1、帧率&#xff08;Frame rate&#xff09;是称为帧的位图图像连续出现在显示器上的频率&#xff08;速率&#xff09;&#xff0c;就是每秒有多少帧。 2、帧就是…

线性代数的学习和整理17:向量空间的基,自然基,基变换等(未完成)

目录 3 向量空间的基&#xff1a;矩阵的基础/轴 3.1 从颜色RGB说起 3.2 附属知识 3.3 什么样的向量可以做基&#xff1f; 3.4 基的分类 3.1.1 不同空间的基---向量组的数量可能不同 3.1.2 自然基 3.1.3 正交基 3.1.4 标准正交基 3.1.5 基和向量/矩阵 3.1.6 基变换 …

信息技术01--初/高中--选择真题汇总(197道题)

文章目录 1 真题 01-102 真题 11-203 真题 21-304 真题 31-405 真题 41-506 真题 51-607 真题 61-708 真题 71-809 真题 81-9010 真题 91-10011 真题 101-11012 真题 111-12013 真题 121-13014 真题 131-14015 真题 141-15016 真题 151-16017 真题 161-17018 真题 171-18019 真…

【Kali Linux高级渗透测试】深入剖析Kali Linux:高级渗透测试技术与实践

&#x1f4d5;作者简介&#xff1a;热爱跑步的恒川&#xff0c;致力于C/C、Java、Python等多编程语言&#xff0c;热爱跑步&#xff0c;喜爱音乐的一位博主。 &#x1f4d7;本文收录于恒川的日常汇报系列&#xff0c;大家有兴趣的可以看一看 &#x1f4d8;相关专栏C语言初阶、C…

山西电力市场日前价格预测【2023-09-02】

日前价格预测 预测明日&#xff08;2023-09-02&#xff09;山西电力市场全天平均日前电价为304.03元/MWh。其中&#xff0c;最高日前电价为373.15元/MWh&#xff0c;预计出现在19: 15。最低日前电价为191.94元/MWh&#xff0c;预计出现在12: 30。 价差方向预测 1&#xff1a; 实…

FPGA时序分析与约束(1)——组合电路时序

写在最前面&#xff1a; 关于时序分析和约束的学习似乎是学习FPGA的一道分水岭&#xff0c;似乎只有理解了时序约束才能算是真正入门了FPGA&#xff0c;对于FPGA从业者或者未来想要从事FPGA开发的工程师来说&#xff0c;时序约束可以说是一道躲不过去的坎&#xff0c;所以从这篇…

一、安装GoLang环境和开发工具

一、安装GoLang环境 GoLang中国镜像站 下载后对应的环境包以后&#xff0c;一路下一步就好了&#xff0c;安装路径的话&#xff0c;尽量就安装到默认的文件目录下。 二、配置Go的环境变量 右击此电脑–>属性–>高级系统设置–>环境变量&#xff0c;打开环境变量设置…

微服务之架构演变

随着互联网的发展&#xff0c;网站应用规模不断扩大&#xff0c;网站架构随之不断演变&#xff0c;演变历史大致分为单体应用架构-垂直应用架构-分布式架构-SOA架构-微服务架构-云原生架构 架构演变 单体应用架构 以前网站流量小&#xff0c;只需要一个应用就可以把所有功能…

用python开发一个炸金花小游戏,注意别玩上瘾了~~(附完整源码)

炸&#xff08;诈&#xff09;金花又叫三张牌&#xff0c;是在全国广泛流传的一种民间多人纸牌游戏。游戏使用一副除去大小王的扑克牌&#xff0c;共 4 个花色 52 张牌&#xff0c;各个玩家从中抽取 3 张牌&#xff0c;比较大小。各种牌型的大小顺序如下&#xff08;按照全排列…

解决uniapp手机真机调试时找不到手机问题

1、检查 USB 调试是否开启 2、检查是否有选择 文件 传输 选项 3、如果上述都做了还找不到&#xff0c;可以看看开发者选项中的【USB设置】&#xff0c;把模式改为 MIDI 模式