XOB反编译密码使用OD查找方法
OD使用教程10 - 解密系列【调试篇】
OD使用教程10
• 大家或许有所察觉了,随着我们课程的不断深入 学习,我们感觉自身逆向的“内功”也在不断的 增进!
• 我们从爆破入手,到现在逐步大家进入程序的内 部,认识不同编译器开发的程序,探索不同的加 密逻辑。
• 前边,我们的例子中既有VC++开发的程序,也有 Delphi开发的程序,今天我们给大家分析一个VB 程序的加密和解密思路。
OD使用教程10
• 我们看到了,这个程序是一个VB程序。 • Virtual BASIC是由早期DOS时代的BASIC语言程语言:就是在可视化编程 环境下我们可以绘制一些窗体,按钮,编辑框等 控件,然后为这些控件所可能引发的事件如按钮 被单击或者被双击编写对应的处理代码。
OD使用教程10
• 为了让大家更好地了解逆向,我们需要掌握不同 编译器编译出来的程序的特点,然后才能有针对 性的进行逆向。
• 其中,在逆向一个程序前,先搞清楚这个程序是 由什么编译器和神马语言写出来的,是灰常必要 的。
• 高手只需要从代码间的细小差别就可以看出端倪 ,而菜鸟们也有便捷的工具可以一步到位告诉你 这个程序是由什么编译器编译的:PEiD.exe
OD反汇编语言解释
OD反汇编语言解释1000字OD反汇编语言是一种将机器语言指令转换为人类可读的汇编语言的工具,常用于逆向工程、软件分析和修改等领域。
在OD中,用户可以通过加载二进制文件并通过反汇编视图查看其汇编代码。
以下是关于OD反汇编语言的一些解释:1. 指令集:OD支持多种指令集,包括x86、x64、ARM、MIPS和PowerPC等。
每个指令集都有自己的特点和语法规则,用户需要事先了解并选择适合的指令集进行反汇编。
2. 寄存器:寄存器是CPU内部用于存储数据和地址的临时存储器。
在OD反汇编语言中,寄存器用来存储操作数和处理指令。
例如,EAX寄存器可用于存储累加器中的值,EBX可用于存储基址中的值,ECX可用于计数器中的值。
3. 操作码:操作码是汇编指令的核心部分,代表着具体的操作。
指令的操作码不同,具体操作也就不同。
例如,MOV指令是用来将数据从一个位置移动到另一个位置的指令,ADD指令是用于两个数值相加并保存结果的指令。
4. 操作数:操作数是指导致操作执行的位置或值。
在OD反汇编语言中,操作数可以是寄存器、内存地址或立即数。
例如,MOV AX,[BX]指令的操作数为[E]BX,表示复制寄存器BX中所存的数据到寄存器AX中。
5. 标志位:标志位是用来保存处理器状态的位。
在OD反汇编语言中,标志位记录着上一个操作的结果。
例如,ZF(零标志位)表示结果为零,CF(进位标志位)表示结果需要进位。
6. 流程控制:OD反汇编语言也支持流程控制指令,例如JMP、JE、JNE、JA、JB等。
这些指令用于实现条件跳转、循环、分支和函数调用等操作。
总之,OD反汇编语言是一种非常有用的工具,可用于逆向工程、软件分析和修改等领域。
理解OD反汇编语言的关键是掌握指令、寄存器、操作数、标志位和流程控制等概念。
OD破解常用方法
[分享] OD破解常用方法[复制链接]一、概论壳出于程序作者想对程序资源压缩、注册保护的目的,把壳分为压缩壳和加密壳两种顾名思义,压缩壳只是为了减小程序体积对资源进行压缩,加密壳是程序输入表等等进行加密保护。
当然加密壳的保护能力要强得多!二、常见脱壳方法预备知识1.PUSHAD (压栈)代表程序的入口点,2.POPAD (出栈)代表程序的出口点,与PUSHAD想对应,一般找到这个OEP就在附近3.OEP:程序的入口点,软件加壳就是隐藏了OEP(或者用了假的OEP/FOEP),只要我们找到程序真正的OEP,就可以立刻脱壳。
方法一:单步跟踪法1.用OD载入,点“不分析代码!”2.单步向下跟踪F8,实现向下的跳。
也就是说向上的跳不让其实现!(通过F4)3.遇到程序往回跳的(包括循环),我们在下一句代码处按F4(或者右健单击代码,选择断点——>运行到所选)4.绿色线条表示跳转没实现,不用理会,红色线条表示跳转已经实现!5.如果刚载入程序,在附近就有一个CALL的,我们就F7跟进去,不然程序很容易跑飞,这样很快就能到程序的OEP6.在跟踪的时候,如果运行到某个CALL程序就运行的,就在这个CALL中F7进入7.一般有很大的跳转(大跨段),比如jmp XXXXXX 或者JE XXXXXX 或者有RETN的一般很快就会到程序的OEP。
Btw:在有些壳无法向下跟踪的时候,我们可以在附近找到没有实现的大跳转,右键-->“跟随”,然后F2下断,Shift+F9运行停在“跟随”的位置,再取消断点,继续F8单步跟踪。
一般情况下可以轻松到达OEP!方法二:ESP定律法ESP定理脱壳(ESP在OD的寄存器中,我们只要在命令行下ESP的硬件访问断点,就会一下来到程序的OEP了!)1.开始就点F8,注意观察OD右上角的寄存器中ESP有没突现(变成红色)。
(这只是一般情况下,更确切的说我们选择的ESP值是关键句之后的第一个ESP值)2.在命令行下:dd XXXXXXXX(指在当前代码中的ESP地址,或者是hr XXXXXXXX),按回车!3.选中下断的地址,断点--->硬件访--->WORD断点。
OD使用教程 - 解密系列【调试篇】 调试逆向
OD使用教程
ห้องสมุดไป่ตู้• OD(OllyDbg)和IDA Pro这两款工具分别是调试逆 向的倚天剑和屠龙刀。
• 虽然两者都兼容动态和静态的调试方式,但就动 态调试而言,OD更为灵活和强大,而静态调试工 具的王者理所应当是功能极为强大的IDA Pro。
• 两款工具可以在鱼C官网下载: • 另外两款工具都有十分丰富的插件扩展,这在我
调试逆向
• 在软件开发的过程中,程序员会使用一些调试工 具,以便高效地找出软件中存在的错误。
• 而在逆向分析领域,分析者也会利用相关的调试 工具来分析软件的行为并验证分析结果。
• 由于操作系统都会提供完善的调试接口,所以利 用各类调试工具可以非常方便灵活地观察和控制 目标软件。
• 在使用调试工具分析程序的过程中,程序会按调 试者的意愿以指令为单位执行。
们的视频讲座中随着需要会逐步提供给大家的, 嗯,不用担心,我们就学好眼前的,一步步来!
OD基本快捷键及功能
F2 F3 F4 F5 F7 F8 F9 Ctrl+F2 Ctrl+F9 Alt+F9 Ctrl+G
下断点,也就是指定断点的地址 加载一个可执行程序,进行调试分析 程序执行到光标处 缩小、还原当前窗口 单步步入 单步步过 直接运行程序,遇到断点处,程序暂停 重新运行程序到起始处,一般用于重新调试程序 执行到函数返回处,用于跳出函数实现 执行到用户代码处,用于快速跳出系统函数 输入十六进制地址,快速定位到该地址处
OD使用实践
• 古语有云,趁热要打铁,趁火要打劫,趁着我们 还有点印象,赶紧实践一下吧亲╭(╯3╰)╮!
• 要求:通过OD将程序的标题“Hello world”改为 “I love ”
几种用OD脱壳方法
几种用OD脱壳方法OD是反编译软件的一种,可以将可执行文件转换为可读的源代码。
脱壳是指从已经加密或保护的软件中提取出原始的未加密或未保护的代码。
下面是几种常见的OD脱壳方法:1.静态分析法:静态分析是指对二进制文件进行分析,了解其结构、函数调用和控制流程等信息。
通过对逆向工程的分析,可以分析出加密算法和解密函数的位置。
使用静态分析法脱壳的主要步骤如下:-打开OD软件,将加密的可执行文件加载到OD中。
- 使用各种OD工具,如IDA Pro,OllyDbg等,显示可执行文件的汇编代码。
-通过分析代码和调试程序,找到加密算法和解密函数的位置。
-根据找到的位置,修改程序的执行流程,跳过解密函数,使得程序直接执行解密后的代码。
2.动态调试法:动态调试是指在运行时对程序进行调试和分析。
使用动态调试法脱壳的主要步骤如下:-打开OD软件,将加密的可执行文件加载到OD中。
- 使用动态调试工具,如OllyDbg或GDB等,在程序执行期间跟踪和记录函数调用和内存访问。
-通过分析函数调用和内存访问,找到加密算法和解密函数的位置。
-在找到的位置上下断点,执行程序并使用OD工具查看解密后的代码。
3.内存镜像法:内存镜像法是指通过将程序加载到内存中,并对内存进行镜像和分析来脱壳。
使用内存镜像法脱壳的主要步骤如下:-运行加密的可执行文件。
- 使用内存镜像工具,如DumpBin或WinDBG等,将程序的内存镜像保存到磁盘上。
-使用OD软件加载内存镜像文件。
-通过分析内存镜像文件,找到加密算法和解密函数的位置。
-修改程序的执行流程,跳过解密函数,使得程序直接执行解密后的代码。
这些方法都可以用于将加密的可执行文件转换为可读的源代码,从而进行进一步的分析和修改。
脱壳过程需要进行深入的逆向工程和对程序的理解,因此需要具备一定的技术和知识。
此外,需要注意的是,脱壳过程可能涉及到破解和侵犯版权的行为,应遵守法律规定,并仅限于安全研究和个人学习的目的使用。
如何使用反编译工具分析源代码(二)
反编译工具是一种强大的软件,它可以将已编译的二进制代码转换回源代码的形式。
这样一来,我们就可以轻松地分析和理解程序背后的逻辑。
本文将介绍如何使用反编译工具进行源代码分析,以及如何获得更深入的洞察。
一、反编译工具的选择和安装在开始之前,我们首先需要选择一款可靠的反编译工具。
市面上有很多选择,如IDA Pro、Ghidra等。
这些工具都有各自的特点,使用时需根据具体情况进行选择。
安装反编译工具通常较为简单,只需按照官方提供的指南进行操作即可。
二、导入二进制文件并分析函数调用当我们打开反编译工具后,第一步是导入待分析的二进制文件。
在导入成功后,我们可以看到程序的函数列表。
通过查看函数列表,我们可以初步了解程序的结构和主要功能。
接下来,我们可以选择一个感兴趣的函数进行分析。
选中函数后,反编译工具会将其对应的二进制代码转换为易于阅读的源代码形式。
此时,我们可以仔细研究函数内部的代码逻辑,并分析其中的函数调用关系。
通过追踪函数调用,我们可以逐步探究程序的执行过程,找出关键的代码段。
三、查看变量和数据结构在进行源代码分析时,了解程序中的变量和数据结构十分重要。
反编译工具通常能够识别并还原出这些信息。
通过查看变量和数据结构,我们可以更好地理解程序的运行机制。
在反编译工具中,我们可以查看变量的定义、使用和修改情况。
这有助于我们理清程序中各个变量之间的关系,并追踪它们的值在代码中的传递过程。
此外,对于复杂的数据结构,如数组、结构体等,反编译工具也会提供相应的还原和可视化功能,方便我们进一步分析。
四、进行逆向分析反编译工具不仅可以还原源代码,还可以帮助我们进行逆向分析。
逆向分析是指通过分析程序的二进制代码,来获取关键信息或发现潜在的漏洞。
通过逆向分析,我们可以发现程序隐藏的逻辑、算法或者加密方法。
这对于加密软件、恶意软件等领域非常有用。
在逆向分析过程中,我们可以利用反编译工具提供的调试功能,逐步执行程序,观察程序的行为,并通过断点等技术手段来获取我们所需的信息。
OD使用教程2 - 解密系列【调试篇】
调试技巧总结
• 4.所谓领空,实际上就是指在某一时刻,CPU执行 的指令所在的某段代码的所有者。
• 5.如004013F7这类地址一般是可执行文件领空, 7C8114AB这类大地址一般是系统DLL所在的地址空 间。
• 6.程序通常读取文本框内容的字符串用的是以下 两个函数:
– GetDlgItemTextA(GetDlgItemTextW) – GetWindowTextA(GetWindowTextW)
调试技巧总结
• 7.一般我们要结合经验通过猜测的方式多尝试几遍设 陷阱,找出相关的函数。
• 8.按“Ctrl+G”键打开跟随表达式的窗口。 • 9.也可以通过“Ctrl+N”键打开应用程序的导入表(
准备工作
• 拆解一个Windows程序要比拆解一个DOS程序容易 得多,因为在Windows中,只要API函数被使用, 想对寻找蛛丝马迹的人隐藏一些东西是比较困难 的。
• 因此分析一个程序,用什么API函数作为切入点就 显得比较关键了。这也正是小甲鱼常跟大家说破 解靠的是耐心和经验的道理!
• 为了便于大家理解,我们先把TraceMe这个序列号 验证程序流程图给大家展示出来:
OD使用教程
• 今天小甲鱼给大家演示使用OD破解《解密系列》 里边的小程序的过程。
• 《解密系列》里固然破解过程说明,但是看过此 书的朋友无不说太简单带过了,书中仅提到破解 该程序的简要步骤。
• 但是我们强调一定要知其然且知其所以然!所以 在今天的演示中,小甲鱼会用一样的程序讲出更 全面的内容!
OD(OllyDbg)使用教程
修改这一反汇编代码段,双击反汇编列后者按空格键, 修改这一反汇编代码段,双击反汇编列后者按空格键, 键入NOP,点汇编 键入 ,
最后 F9运行,你会看到: 运行, 运行 你会看到:
下面就介绍一些分析常用的汇编代码含义: 下面就介绍一些分析常用的汇编代码含义: MOV 传送字或字节 如MOV A B,就是将 中的字传给 中的字传给A ,就是将B中的字传给 PUSH 把字压入堆栈 CALL 子程序调用指令 XOR 异或运算 所谓异或,就是两值不同,则为真,反之,为假 所谓异或,就是两值不同,则为真,反之, RET 子程序返回指令 CMP 比较 两操作数作减法 仅修改标志位 不回送结果 比较.(两操作数作减法 仅修改标志位,不回送结果 两操作数作减法,仅修改标志位 不回送结果) JNZ(或 JNZ(或jNE) OPR --------------结果不为零转移,测试条件ZF=0 --------------结果不为零转移 测试条件ZF=0 结果不为零转移,测试条件 DEC 减 1 INC 加 1 JZ(或jE) OPR---------------结果为零转移 测试条件 结果为零转移, 或 结果为零转移 测试条件ZF=1 SUB 减法 LEA 装入有效地址 例: LEA DX,string ;把偏移地址存到 把偏移地址存到DX. 把偏移地址存到 MOVSX 先符号扩展 再传送 先符号扩展,再传送 REP 当CX/ECX0时重复 时重复 AND 与运算 TEST 测试.(两操作数作与运算 仅修改标志位,不回送结果 测试 两操作数作与运算,仅修改标志位 不回送结果) 两操作数作与运算 仅修改标志位 不回送结果
注意:此时的领空是模块USER32,领空就是在 注意:此时的领空是模块 ,
某一时刻, 某一时刻,CPU的CS:EIP所指向代码的所有者 的 所指向代码的所有者
几种用OD脱壳方法
几种用OD脱壳方法OD(Object Dump)即对象转储,是指将内存中的对象转化为文件或其他形式的过程。
脱壳是指从被加壳/保护的程序中提取可执行代码的过程。
以下是几种常见的用OD脱壳方法:1.静态脱壳:静态脱壳是指在未运行程序的情况下进行脱壳。
这种方法适用于一些简单的壳或保护机制。
静态脱壳一般包括以下步骤:-分析被加壳程序的文件结构,确定壳的类型和解密算法。
-定位加密/保护的代码段和目标程序的入口点。
-提取加密的代码段并进行解密。
-删除或替换壳代码,将解密的代码插入到目标程序的入口点。
2.动态脱壳:动态脱壳是指在运行被加壳程序的过程中进行脱壳。
这种方法更加复杂,但可以应对一些更强大的保护机制。
动态脱壳的步骤如下:- 使用调试器(如OllyDbg、IDA Pro等)加载被加壳程序,并设置断点。
-运行程序并观察其行为。
一般可以通过跟踪内存或执行流来确定代码解密、动态链接等操作。
-当程序执行到解密/动态链接等关键点时,暂停程序并检查相关内存中的加密数据。
-通过观察内存数据的变化和算法的操作,找出解密算法、关键数据等。
-使用调试器的功能(如修改内存、暂停/恢复执行等)来修改和恢复解密的数据,最终达到脱壳的目的。
3.虚拟机检测:有时候,加壳程序会在运行时检测是否在虚拟机中执行。
如果发现运行在虚拟机中,则不会执行解密操作。
因此,一种常见的脱壳方法是绕过虚拟机检测。
这可以通过修改虚拟机检测函数的返回值来实现。
通过调试器可以定位到虚拟机检测的相关代码,并修改相应的变量或寄存器值。
4.内存脱壳:部分加壳程序并不是一次性将整个程序都解密并运行,而是采用内存加载的方式,将加密的代码段逐步解密到内存中执行。
这种情况下,可以使用内存脱壳来获取完整的可执行文件。
内存脱壳的步骤如下:-使用调试器加载被加壳程序。
-执行程序,观察其行为并找到解密/加载代码的操作。
-在解密/加载代码执行前暂停程序,此时可使用调试器的内存修改功能,在内存中找到加密的代码段,并修改为解密后的代码。
od反编译工具用法
od反编译工具用法OD是一款常用的反编译工具,适用于Windows、Linux等操作系统。
它可以帮助研究人员、黑客等对二进制文件进行反汇编、调试、修改等操作。
使用OD反编译工具需要掌握一些基本的命令和用法。
1. 安装OD工具OD工具可在官网下载,也可使用Linux系统自带的软件包管理器进行安装。
Windows用户可在GitHub上下载。
2. 使用OD工具在Linux终端中输入od命令即可进入OD工具。
使用OD工具可以对可执行文件、共享库、内核模块等进行反汇编、调试、修改等操作。
3. 常用命令(1) od -t <type> <file>:以指定格式输出文件内容。
(2) od -N <bytes> <file>:输出指定字节数的文件内容。
(3) od -A <address> <file>:从指定地址开始输出文件内容。
(4) od -j <offset> <file>:从指定偏移量开始输出文件内容。
(5) od -x <file>:以十六进制格式输出文件内容。
(6) od -c <file>:以字符格式输出文件内容。
(7) od -t x1 <file>:以字节为单位输出文件内容。
(8) od -t d1 <file>:以十进制格式输出文件内容。
4. 反编译使用OD工具可以对二进制文件进行反编译。
在OD工具中输入'u main'命令即可反编译文件中的main函数。
反编译后可查看函数中的汇编代码和注释,便于对代码进行分析和修改。
总之,OD反编译工具是一款非常有用的工具,掌握其基本命令和用法可帮助研究人员、黑客等更好地对二进制文件进行反汇编、调试、修改等操作。
od破解软件教程破解教程
od破解软件教程破解教程希望大家互相学习学习,发现现在大家对于破解都不是很了解,很多人想学破解,但是去无从入手,所以在BCG小组大家的商议下,决定为大家写一个破解入门的教程,希望能大家了解破解有一些帮助,希望能有更多的人踏入破解的大门。
1.初级,修改程序,用ultraedit等工具修改exe文件,称暴力破解,简称爆破中级,追出软件的注册码高级,写出注册机2.常用破解工具(1)侦壳工具:PEiD(2)动静结合的OllyDbg引领破解工具的新潮流。
一,现在我们首先来学习下破解的初步,爆破~1.侦壳要破解一个软件首先要做的就是侦壳,要侦壳就要对壳有一定的了解,众所周知,软件作者用编程语言编写好软件后,是将它编译成扩展名为EXE的可执行文件。
编译为EXE 的目的有两点:(1)有一些版权信息需要保护起来,不能让别人随意改动,如作者的姓名、软件名称等;(2)需要给程序“减肥”,从而方便存储、使用和网上传输。
为了编译,会用到一些软件。
它们能将可执行文件压缩和对信息加密(图1),实现上述两个功能,这些软件称为加壳软件。
为软件加上的东东就称为“壳”。
加壳软件不同于一般的WinZIP、WinRAR等打包类压缩软件。
加壳软件是压缩可执行文件的,压缩后的文件可以直接运行。
最常见的加壳软件有3个:ASPACK 、UPX、PEcompact。
毕竟它们是主流,据统计,用它们加壳的软件约占市面所有软件的90%!其他不常用的加壳软件有ASPROTECT、PETITE 、NEOLITE、TELOCK等。
软件最常见的编程语言是Delphi,Visual Basic(简称VB),Visual C++(简称VC)。
了解些编程的知识,会让破解更加轻车熟路。
下面来说侦壳,现在比较常用侦壳软件就PeiD,他具有华丽的图形界面。
外壳整合(添加到鼠标右键)功能令使用更加方便,支持拖放操作。
配置时,务请将“扩展到鼠标右键”打上对号。
其使用方法是,鼠标点住,按鼠标右键,选"使用PEid扫描"即可;“壳”的信息就显示在底部。
od使用方法
转Draren总结的ollydbg v1.09d 中文版使用说明一点一滴的积累,也就会了.之所以选择ollydbg1.我的os是winXP,无法使用trw2000,而softice装了多次均未成功,还蓝屏死机多次.郁闷.2.友好的gui界面,不像softice.可以边干活边听歌,不像softice,把整个os都挂起了.多用两次,连时间都不知道了.3.强大的内存查看功能,再不用什么-d了,而且跳转方便,爽!一目了然.4.强大的右键菜单功能ollydbg的界面:菜单:文件:1.其中包括该菜单的下部有上次打开的纪录,该纪录保存有上次未清除的断点.2.附加.对付那些Anti-Debug程序.先运行程序,再运行od,文件-->附加.查看:1.执行模块(Alt+E),查看程序使用的动态链接库2.查看断点.Alt+B调试:1.运行(F9)加载程序后,运行!2.暂停(F12)3.单步进入(F7)遇见CALL进入!进入该子程序.4.单步跳过(F8)遇见CALL不进去!5.执行到返回(ALT+F9)就是执行到该子程的返回语句ollydbg的16进制编辑功能.类似与hiew,hex workshop查看-->文件二进制文件编辑功能.查看-->文件,打开的文件是二进制显示.选中要改变的机器指令,空格,修改,右击-->保存.ollydbg的四个区域左上角是cpu窗口,分别是地址,机器码,汇编代码,注释;注释添加方便,而且还能即时显示函数的调用结果,返回值.右上角是寄存器窗口,但不仅仅反映寄存器的状况,还有好多东东;双击即可改变Eflag的值,对于寄存器,指令执行后发生改变的寄存器会用红色显示. cpu窗口下面还有一个小窗口,显示当前操作改变的寄存器状态. 不错;左下角是内存窗口.可以ascii或者unicode两种方式显示内存信息;右下角的是当前堆栈情况,还有注释啊.F3选择打开程序.使用F9执行程序.下断点:1.对函数下下断点在代码区右击-->搜索-->当前模块中的名称(ctrl+N),在跳出来的对话框中选择需要下的断点函数.->右击->查找导入参考(enter),按F2下断点.如果有多个地方调用了该函数就这样操作。
XOB反编译密码使用OD查找方法
点击取消,打开工具,反编译,选择所需文件,点击确定
断在所下断点处,F7跟进或者f8后
VC程序下消息断点:_AfxDispatchCmdMsg函数里面下断点
第一步第三部:选择需要反编译文件,XOB密码位置输入假码12345678
第四部:打开OD
第五步:文件附加
点击附加后OD暂停在此位置,版本不同可能停留位置有所不同
点击OD调试重新开始
右键查找二进制字串,或者CTRL+B
输入E8 ?? ?? ?? ?? 83 C4 18 84 C0 74 08点确定,来到此处,F2下断
打开od点击附加后od暂停在此位置版本不同可能停留位置有所不同点击od调试重新开始ctrlb输入e883c41884c07408点确定来到此处f2f9运行期间strlf8忽略异常一直运行到打开eb8000点击取消打开工具反编译选择所需文件点击确定断在所下断点处f7跟进或者f8vc程序下消息断点
OD查找XOB反编译密码使用教程
od 查找函数
od 查找函数OD查找函数是一种非常常用的工具,它可以用来查找二进制文件中的特定序列或者值。
在软件开发、恶意代码分析和逆向工程等领域,OD 查找函数可以帮助我们识别恶意代码或者查找特定的二进制代码。
在本篇文章中,我们将详细介绍OD查找函数的基本用法和一些高级应用。
OD查找函数的基本用法OD(Open-Source Disassembler)是一种开源的反汇编器,它可以将二进制文件转化为汇编代码。
OD查找函数可以用来查找函数名、字符串、机器代码等。
它还可以在整个二进制文件中搜索一个特定的值,并且标注所有与之匹配的地址。
OD中的查找功能非常强大,可以通过使用正则表达式和通配符来过滤结果。
使用OD查找函数的基本步骤如下:1.在OD程序的命令行中输入以下格式的命令:```bashod -t <data_format> <binary_file> | grep <search_string>在这个命令中,<data_format>表示要查找的数据类型,可以是字节、字、双字等等。
例如,如果你想搜索以“abc”开头的字符串,你可以使用以下命令:```bashod -t c <binary_file> | grep ^abc```在这个命令中,“-t c”表示要查找的数据类型是字符,^abc表示要查找以“abc”开头的字符。
2.使用OD程序分析二进制文件,输入以下命令:```bashod -t <data_format> <binary_file>```这个命令将会输出二进制文件的十六进制格式以及可识别的ASCII字符。
3.如果你想查找二进制文件中的函数,你可以使用内置命令:```bashOD /r<start_address>:<end_address> <search_string>```其中,<start_address>是函数的起始地址,<end_address>是函数的结束地址,<search_string>是函数的名称。
OD使用教程18 - 解密系列【调试篇】
OD使用教程18
• 十八,是一个神奇的数字。每每提起,总让人心 旷神怡。例如十八精神,例如十八岁的天空,例 如有鱼油提出OD使用教程出到第十八讲就支持小 甲鱼。所以,咱这讲必须精彩!
• 小甲鱼认为,天网恢恢疏而不漏一直是句狗屁, 无孔不入才是逆向破解的基本精神!
• 创建模态对话框是由调话框是调用 CreateDialogParam函数实现。
• 它们的原型分别是:
– HWND DialogBoxParam (HINSTANCE hlnstance, LPCTSTR IpTemplateName, HWND hWndParent, DLGPROC IPDialogFunc, LPARAM dwlnitParam);
– HWND CreateDialogParam (HINSTANCE hlnstancem, LPCTSTR IpTemplateName, HWND hWndParent, DLGPROCIpDialogFunc, LPARAM dwlniParam);
• 它们之间的区别在于是否允许用户在不同窗口间进 行切换:模态对话框不允许,非模态对话框允许。
• 两者形成区别的原理是模态对话框由windows为它 内建一个消息循环,而非模态对话框的消息则是通 过用户程序中的消息循环派送的。具体可以参考下 小甲鱼的《Win32汇编语言程序设计》系列视频教 程。
OD使用教程18
• 正如天下无贼一直是空中楼阁般的愿望一样,加 密和破解是一个永恒的话题,有无孔不入的破解 存在,才能推动加密技术的更新和发展!
OD使用教程18
• 一直以来,小甲鱼总坚持以各种手段对软件进行 剖析力求突破,对的,今天我们还换个方法搞。
od 查找函数
od 查找函数
OD是一种十六进制、八进制和ASCII码的输出方式,常用于查看二进制文件的内容。
在Linux系统中,od命令是一个十分实用的工具,可以帮助我们查看并调试二进制文件。
在od命令中,我们还可以使用一些查找函数,来查找指定的内容。
1. 查找指定字符
我们可以使用参数-c来查找指定的字符:
$ od -c test.bin | grep 'a'
上述命令将在test.bin文件中查找字符'a',并以ASCII码的形式输出所有包含字符'a'的行。
2. 查找指定的十六进制值
我们可以使用参数-x来查找指定的十六进制值:
$ od -x test.bin | grep '1a'
上述命令将在test.bin文件中查找十六进制值'1a',并以十六进制的形式输出所有包含该值的行。
3. 查找指定的八进制值
我们可以使用参数-o来查找指定的八进制值:
$ od -o test.bin | grep '062'
上述命令将在test.bin文件中查找八进制值'062',并以八进制的形式输出所有包含该值的行。
4. 查找指定位模式
我们可以使用参数-b来查找指定位模式:
$ od -b test.bin | grep '111'
上述命令将在test.bin文件中查找二进制模式'111',并以二进制的形式输出所有包含该模式的行。
总结
通过使用od命令的查找函数,我们可以快速定位指定的内容,帮助我们更加高效地进行调试和分析工作。
汇编 od找基址方法
汇编od找基址方法
你好,这篇文章我尽量用四川方言、陕西方言和北京方言结合的方式来写,紧扣“汇编OD找基址方法”这个主题。
咱们先说说这汇编OD找基址的方法。
说白了啊,这就是个技术活,得靠
咱们这些搞技术的哥们儿来搞。
四川话来说,就是要“摸清楚”这个基址到底在哪儿。
陕西方言里,这就叫“寻摸”个东西出来。
首先啊,你得有个OD(OllyDbg)这样的反汇编工具,这就好比咱们手里
的放大镜,得靠它来看清楚代码的“庐山真面目”。
然后啊,你就得开始“扫描”这个程序的内存空间了,北京话讲就是“翻箱倒柜”地找。
在OD里,你可以设置一些条件来过滤出你感兴趣的部分,这就好比咱们
在菜市场里挑菜,只挑自己喜欢的。
然后啊,你就得开始“分析”这些代码了,看看它们都在干啥,哪些可能是我们要找的基址。
找基址这个过程啊,得有耐心,也得有经验。
有时候你可能得反复试错,才能找到正确的基址。
这就像咱们小时候玩捉迷藏,得反复试探,才能找到藏身的小伙伴。
不过啊,一旦你找到了基址,那就啥都好说了。
你就可以“操控”这个程序了,想让它干啥就干啥。
这就好比咱们掌握了遥控器的密码,想看啥节目就看啥节目。
所以说啊,汇编OD找基址这个方法,虽然听起来复杂,但只要你掌握了
技巧,就不难了。
四川话讲就是“熟能生巧”,陕西方言里叫“练出来的”,北京话就是“多练练就会了”。
好了,今天就跟大家聊到这儿,希望这篇文章能帮到你。
如果你还有其他
问题,随时问我啊!。
用OD分析某软件加密方法
00437042 jnz short woool.00437075
/******第二种加密开始********/
//计算两次保存两次
//首次
00437044 movzx ecx,bl
00437047 and cl,3f//与运算
0043704a add cl,3b//结果+3b
00437096 mov al,byte ptr ss:[esp+17]
0043709a add dl,dl
0043709c and al,3
0043709e add dl,dl
004370a0 or al,dl
004370a2 mov byte ptr ss:[esp+16],al
/******第一种加密方式结束*******/
还原加密思路如下:
di=02;
al=0;
bl=0;
for(int cd=0;cd<=length;cd++)
{
bl=char(cd);//这里不是实际代码,意思每次取2字节数据,实际还要修改
xor bl,0eb;异或Байду номын сангаас算
if(6-di!=0)//第一种加密方式
{
al=bl
al>>=2 //先右移2位
al&=0x3c;//与运算
bl&=0x3;//与运算
al|=bl;//或运算
al+=0x3b;//结果+3b
//写入al;
di+=2;
}
else//第二种加密方式
{
//首次
cl=bl;
OD破解威纶触摸屏XOB程序方法
威纶触摸屏XOB程序破解方法
当前介绍的方法是通过OD工具来实现的。
有一定的汇编基础,C++基础,一定的WINDOW编程基础,熟悉OD工具,熟悉触摸屏编程软件。
此方法会更好理解。
具体思路是
1.通过OD加载威纶通触摸屏编辑软件,
2.操作编辑软件反编译XOB文件。
3.点击反编译按钮后,在OD工具上触发相关事件。
粗略定位CALL.
中跟踪代码,找到关键CALL,修改并保存程序。
步骤为:
1.载入程序:
将威纶通触摸屏编辑软件easybuilder8000拖入OD工具。
2.粗略定义:
伟伦通触摸屏编辑软件easybuilder8000是通过delphi编写。
点击反编译按钮,编程软件会事先获取密码编辑框内容,对于编辑框内容的获取不是通过getdlgitemtexta,或getdlgitemtextw.在delphi中可通过sendmessage获取,在OD中ctrl+n查找相关类似函数,并全部添加断点。
之后按F9运行编程软件,进行反编译操作,按下编译按钮,粗略定位CALL.
在程序所有出现SendMessageW处添加断点,F9运行程序。
编辑软件运行后,按正常操作打开XOB文件,输入任意XOB密码9,点击反编译。
3.精定位CALL:
F8单步跟进,可看到按钮所执行的一系列代码。
找到关键字UNICODE "password error !!"。
往前找到第一个Jz,修改Jz代码跳过"password error !!"所在的代码段便可。
出自:工控编程吧
作者:编程吧站长。