OD教程(汇编基础)

article/2025/10/2 2:28:26

一、call有以下几种方式:

call 404000h ;直接跳到函数或过程的地址

call eax ;函数或过程地址存放在eax

call dword ptr [eax]


call dword prt[eax

]

call dword ptr [eax+5]



call dword prt[eax+5]

calldword ptr [<&API>] ;执行一个系统API


二、关于系统API

Windows应用程序运行在Ring3级别(包括我们的倚天剑:OllyDBG)


windows等级安排

但有时候需要Ring0级别才能进行操作,那咋整?

我们可以通过系统为我们搭建的桥梁:API函数,我们也称之为系统提供给我们的接口。

 

因为系统只信任自己提供的函数,所以我们要通过API才能实现对内核的操作。

你可以这么想,假如小甲鱼送给你一辆法拉利跑车,恩,你没听错,是假如,不是真的!那你要怎么来驾驶她?

 

没错,要通过踩油门来加速,要通过打方向盘来转弯……而油门,方向盘

就是所谓的接口,对于法拉利来说,它们就是API函数。

 

三、关于mov指令

mov指令格式:mov dest, src

这是一个很容易理解的指令,mov指令将src的内容拷贝到dest,mov指令总共有以下几种扩展:

movs/movsb/movsw/movsdedi,esi:这些变体按串/字节/字/双字为单位将esi寄存器指向的数据复制到edi寄存器指向的空间。

movsx符号位扩展,byte->word,word->dword (扩展后高位全用符号位填充),然后实现mov。

movzx零扩展,byte->word,word->dword(扩展后高位全用0填充),然后实现mov。

 

四、关于cmp指令

cmp指令格式:cmp dest, src

cmp指令比较dest和src两个操作数,并通过比较结果设置C/?O/Z标志位。

cmp指令大概有以下几种格式:

cmpeax, ebx ;如果相等,Z标志位置1,否则0.

cmpeax, [404000] ;将eax和404000地址处的dword型数据相比较并同上置位。

cmp[404000], eax ;同上。

 

五、标志位

对于这个概念,建议鱼油以关注苍井空老师的热情去关注它,因为它在破解中起到的作用是至关重要的。

事实上所有的标志位归并与一个32位的标志位寄存器,也就是说有32个不同的标志位。

每个标志位有两个属性:置1或置0,就相当于我们平时说的OK或不OK,OK就买鱼C优盘支持小甲鱼,不OK就看着小甲鱼饿死街头酱紫啦~

哈哈,大家可能更加关注的是32个标志位都要记住?那不折腾死人才怪!

在逆向中,你真正需要关心的标志位只有三个,也就是cmp指令能修改的那三个:Z/O/C。

Z标志位(0标志),这个标志位是最常用的,运算结果为0时候,Z标志位置1,否则置0。

O标志位(溢出标志),在运行过程中,如操作数超出了机器能表示的范围则称为溢出,此时OF位置1,否则置0。

C标志位(进位标志),记录运算时从最高有效位产生的进位值。例如执行加法指令时,最高有效位有进位时置1,否则置0。

六、逻辑运算

逻辑运算

 

七、关于test指令

test指令格式:test dest, src

这个指令和and指令一样,对两个操作数进行按位的‘与’运算,唯一不同之处是不将‘与’的结果保存到dest。

即本指令对两个操作数的内容均不进行修改,仅是在逻辑与操作后,对标志位重新置位。

小甲鱼很负责任地告诉大家该指令的实战形态百分之九十九是酱紫:test eax, eax(如果eax的值为0,则Z标志位置1)

八、关于条件跳转指令

条件跳转指令,就是根据各种不同标志位的条件判断是否成立,条件成立则跳转。


九、patch

patch也就是我们平时所说的补丁。

所谓给程序打补丁就是我们对程序破解所进行的修改,就是说像我们衣服破了,如果没有打补丁,就会走光的意思。

OllyDBG的“/”可以查看所有打过的补丁。

 


 


http://chatgpt.dhexx.cn/article/YlYP2hn5.shtml

相关文章

小甲鱼解密系列调试篇——OD使用教程笔记(持续更新中)

目录 一点铺垫&#xff1a;基础知识 1.汇编语言 2.NAG窗口 3.SEH 4.断点类型 一、MessageBox.exe修改程序标题内容——修改函数传入值 二、TraceMe.exe暴力破解程序登陆界面——搜索函数、寻找附近调用取值的地方 三、reverseMe.exe暴力破解/打补丁实现注册——分析文件…

第52篇:OD使用教程2-设置API函数断点去除软件对话框及过期校验

Part1 前言 大家好&#xff0c;我是ABC_123。之前分享过一篇Ollydbg逆向分析入门教程《第50篇&#xff1a;使用OD逆向破解流光Fluxay扫描器各种限制》&#xff0c;这篇文章主要讲解了在使用OD逆向分析时&#xff0c;如何按照编程人员的思维去解除软件的各种限制。方法有点麻烦…

od的简单使用--(1)

od的简单使用——&#xff08;1&#xff09; 一&#xff0c;本教程需要的工具OllyDBG 下载&#xff1a; OllyDBG 中各个窗口的功能如上图。简单解释一下各个窗口的功能&#xff0c;更详细的内容可以参考 TT 小组翻译的中文帮助&#xff1a;反汇编窗口&#xff1a;显示被调试程…

PyCharm 社区版(Community)能不能商用?

其实官方博客已经给出了答案&#xff0c;截图如下&#xff1a; PyCharm社区版是专业版的阉割版&#xff0c;PYcharm专业版增加了Web开发、Python We框架、Python分析器、远程开发、支持数据库与SQL等更多高级功能。两者区分如下&#xff1a; 所以&#xff0c;大胆放心的用PyC…

Pycharm社区版下载及安装教程

下载&#xff1a; 下载地址&#xff1a;https://www.jetbrains.com/pycharm/download/#sectionwindows 安装&#xff1a; 打开你下载的路径&#xff0c;双击.exe文件&#xff0c;点击运行 默认点击next之后&#xff0c;选择路径&#xff0c;尽量不要选择在C盘&#xff0c;然后…

Pycharm社区版安装教程(永久免费,随时升级)

首先进入JetBrain的官网(国内正常访问): https://www.jetbrains.com/ 第一眼看到的界面如下图所示: 然后找到我们的Pycharm专题页: 进入Pycharm的专题页面之后,点击下载按钮(这里有两个按钮,点任何一个都行): 然后进入到真正的下载页面你会发现有两个版本的Pycharm,一个…

pycharm安装-社区版

下载地址 Download PyCharm: Python IDE for Professional Developers by JetBrains https://www.jetbrains.com/pycharm/download/#sectionwindows 下载社区版 安装过程 双击安装包 开始安装 安装过程 首次启动 双击桌面图标 选风格 深色保护视力 新建项目 新建文件

如何用Pycharm社区版连接数据库

用Pycharm社区版连接数据库 Pycharm 社区版安装过程 Pycharm 社区版 Pycharm社区版是比专业少了一些功能&#xff0c;直接并没有连接数据库的工具&#xff0c;所以需要自行下载安装。 安装过程 1.file->settings 2.在Plugins中搜索database 3.点击搜素 4.选中要下载的…

pycharm社区版安装及使用教程(win10系统)

1.下载 下载地址&#xff1a;https://www.jetbrains.com/pycharm/download/#sectionwindows 2.双击安装程序&#xff0c;直接next 3.选择安装路径&#xff08;安装路径最好不要带中文和空格&#xff09; 4.勾选配置&#xff0c;然后next 没有框起来的那一项不用勾选&#xf…

Pycharm的安装并且连接已有的Python环境实现自由编译(附中文配置)|并通过Pycharm实现增加网站访问

&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d;&#x1f51d; &#x1f947;博主昵称&#xff1a;Jovy. &#x1f35f;博客主页…

使用Pycharm连接服务器,实现代码同步

Table of Contents 一.目标 二.本地环境 三.步骤 四.同步代码 五. 配置远程Python解释器 六. 使用远程解释器运行本地Python程序 一.目标 Pycharm软件连接服务器&#xff0c;同步本地代码到服务器 二.本地环境 Pycharm专业版&#xff08;社区版没有该功能&#xff09;…

linux下pycharm专业版和社区版的安装

一.社区版的安装 1.在官网下载pycharm的源码安装包(https://www.jetbrains.com/pycharm/&#xff09; 进入官网&#xff0c;选择toolsx下的pycharm&#xff0c;再点击右上角的download&#xff0c;进去后选择想要的版本即可。 当然安装包也可以通过别人的分享获得&#xff0…

Pycharm社区版下载安装教程+图文教程

Pycharm下载网址&#xff1a;Download PyCharm: Python IDE for Professional Developers by JetBrains 下载后双击运行安装&#xff1a; 选择安装路径&#xff1a; 然后选择install安装即可 选择同意。 打开pycharm后新建项目&#xff0c;选择项目的路径&#xff0c;选择Pytho…

手把手教学安装pycharm(社区版)

1.首先我们要进入pycharm社区版的下载地址 下载&#xff1a;https://www.jetbrains.com/pycharm/ 官网中下载windows社区版&#xff08;免费&#xff09; 2.点击右边的社区版“COMMUNTY”下面的"DOWNLOAD"进行下载 3.下载完成后双击安装包进行安装 4.下一步&#…

Pycharm-community-2020.2.3 社区版安装教程

Pycharm-community-2020.2.3 社区版安装教程 1.安装 step1 step 2 首先是更改安装地址&#xff0c;推荐安装在D盘&#xff0c;如果和我一样C盘容量大的话&#xff0c;也可以不改&#xff0c;直接点击【Next】&#x1f604; step3 勾选所有即可&#xff0c;点击【Next】 step4…

PyCharm社区版下载和安装 2022_12_11

下载 下载地址&#xff1a;https://www.jetbrains.com/pycharm/download/#sectionwindows 安装 pycharm-community-2022.3.exe

pycharm 社区版2022 如何安装第三方库(Mac版 有手就行)

Hi&#xff0c;希望这篇文章对mac book pro新手学python&#xff0c;起到用途哦&#xff01;&#xff01;&#xff01; 一.安装pycharm 打开官网下载 Download PyCharm: Python IDE for Professional Developers by JetBrains 二.安装第三方库 第一步&#xff1a;打开pycha…

PyCharm 2020.3.2社区版的下载安装及使用入门教程

1.从官网下载: http://www.jetbrains.com/pycharm/download/#sectionwindows 打开后如下图所示&#xff0c;再根据自己电脑的系统选择&#xff0c;我这里选择的是Windows系统下的社区版&#xff08;纯Python开发&#xff0c;免费使用&#xff09; 2.PyCharm的安装&#xff1…

PyCharm 社区版 安装 教程(Windows)

注&#xff1a;如果已经安装过python 3.5 及以上版本的解释执行器则跳过此步骤 下载 PyCharm 社区版 软件 PyCharm windows 版本 安装包如下:Thank you for downloading PyCharm!https://www.jetbrains.com/pycharm/download/download-thanks.html?platformwindows&codeP…

Pycharm 社区版安装

一、Pycharm介绍 二、Pycharm社区版安装 三、Pycharm使用 一、Pycharm介绍 PyCharm是一种Python IDE&#xff08;Integrated Development Environment&#xff0c;集成开发环境&#xff09;&#xff0c;带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具&#x…