4.再来看看逆向——OD的简介】的更多相关文章

目录 1.前言 2.一些设置和配置 3.开始了解OD 代码窗口 数据窗口 小端序问题 前言 前3节主要写了恶意代码用到的手段,接下来先写一下关于逆向调试的一些内容.毕竟逆向比较难理解一点. 一些配置和设置 编译器的配置 这里逆向分析用之前防双开的程序.在逆向时,不同的编译器不同的配置编译出来的汇编代码会有所不同,我这里用的是VS2015,编译为Release版本,毕竟debug版本很少在实际逆向时见到,最后在项目属性处把随机地址关掉就可以了(方便调试),然后就可以生成程序开始逆向 快捷方式设置…
1 为汇编代码对应的地址窗口 2 为汇编代码对应的十六进制机器码窗口 3 为反汇编窗口 4 为反汇编代码对应的注释信息窗口 5 为寄存器信息窗口 6 为当前执行到的反汇编代码的信息窗口 7~9 为数据所在的内存地址,十六进制,ASCII 码 10~12 为栈地址,存放的数据,对应说明信息 13 为 CmdBar 插件显示的命令行窗口…
一.安装python解释器 官网: https://www.python.org/downloads/windows/ 自行下载安装,添加环境变量 #测试安装是否成功 windows --> 运行 --> 输入cmd ,然后回车,弹出cmd程序,输入python,如果能进入交互环境 ,代表安装成功. #多版本共存演示 注意:在安装目录下找到python.exe,拷贝一份,命名为python2.exe或python3.exe,一定要保留原版,因为pip工具会调用它. 二.变量的定义 1)例如 #…
顾名思义,就是位集合(bit set),是从JDK 1.0就出现的东西,后面的版本又慢慢强化. 我们说学习一样东西,最好是场景驱动 - 要考虑它的使用场景,这样才有意义. 那么,BitSet的应用场景是什么? 我个人的体会是,用于统计,统计整数相关的东西.但这么说未免太空泛了,我们先来看一下它的用法吧. 直接上例子: @Test public void test(){ BitSet set = new BitSet(10); //10 bits set //set() 设为true set.se…
32位第五讲,逆向实战干货,快速定位扫雷内存. 首先,在逆向之前,大家先对OD有一个认识. 一丶OD的使用 标号1: 反汇编窗口 (显示代码的地址,二进制指令,汇编代码,注释) 标号2: 寄存器窗口(显示通用寄存器,段寄存器,以及浮点协处理器,32位中还有多媒体寄存器) 标号3: 信息窗口 (这个主要是显示当你运行到的程序的位置处的信息) 标号4: 数据窗口   (内存中的数据,可以在这里查看内存) 标号5:堆栈窗口 (查看栈中的内容,以及变量的内容) 标号6,标号7,标号8 ,属于工具窗口,不…
作者:Crazyman_Army 原文来自:https://bbs.ichunqiu.com/thread-43041-1-1.html 0×00 序言: 1.自从上次笔者调戏完盗取文件密码大黑客后,这激发了笔者的创作热情,就给大家带来程序逆向系列,当然有一些地方还是有所欠缺,请大家在私聊中指出我文中的错误,我会加以改正. 2.本篇教程每篇文章都会在附件中给出一个程序逆向例子,所用到的知识都会在该篇文章中体现,有兴趣的同学可以自己实践实践 3.为什么要学习逆向破解? a.你可以汉化一些软件给予大…
上一篇:逆向---02.je & jmp & jnz .OD调试 基础知识:(栗子中也会说的)栗子:链接: https://pan.baidu.com/s/1qZbbTvQ 密码: ifup 1.寄存器的知识:(C里面的一些基础,一般用32位的比较多) 2.关于运行后搜索中文字符串的说明:没壳怎么都行,有时候有壳不一定要脱壳再OD调试,直接带壳破解也是可以的(下节课说下带壳用中文搜索) 3.快速找跳转的技巧,右击来自xxx的跳转,转到xxx 4.寄存器窗口看不见了,点击寄存器窗口的内容部分…
上一篇:逆向---01.Nop.中文字符串搜索.保存修改后程序 OD调试基础:(01.02篇练手工具:https://pan.baidu.com/s/1kW2qlCz) nop是删除跳转,你别问我,我看不见也听不见 je是条件跳转,满足条件就跳转,不满足就不跳转 jnz也是条件跳转,不满足条件就跳转 jmp是无条件跳转,管你啥呢,先跳再说  (姑且可以这么理解) 快捷键:F2下断点.F8单步执行,F9运行,重新载入:点 << 按键 (在工具栏下方的图标栏中) EIP是32位机的指令寄存器,Z标…
转载:http://m.blog.csdn.net/ilnature2008/article/details/54912854 IDA简介 IDA是业界一个功能十分强大的反汇编工具,是安全渗透人员进行逆向安全测试的必备工具,其强大的静态反汇编和逆向调试功能能够帮助安全测试人员发现代码级别的高危致命安全漏洞,当然其价格也不便宜,国内一个license从几千到一万多不等.现在结合windows试用版的IDA,简单介绍一下其基本使用. IDA基本界面 现使用C语言编写一个简单的主程序,代码如下: 可以…
名词注释 System breakpoint:系统断点,OllyDbg用CreateProcessA加载DEBUG_ONLY_THIS_PROCESS参数执行,程序运行之后会触发一个INT13,在系统空间里. Entry point of main module:主模块的入口点,即文件的入口点. WinMain:程序的WinMain()函数入口点 OD的设置中-选项-事件中设置 OD快捷键熟悉 1.F2 下断点, 2.Alt+b 打开断点编辑器,可编辑所有下过的断点 3.空格键 可快速切换断点状…
参考:linux 基本命令详解 cat,tac,nl,more,less,head,tail,od 命令more,less,head,tail,cat,tac,od,nl等是是使用Linux系统常用的几个浏览与查看文件命令.其中more,less,tail我最常用. 如果我们要查阅一个档案的内容时,该如何是好呢?这里有相当多有趣的指令可以来分享一下: 最常使用的显示档案内容的指令可以说是 cat 与 more 及 less 了!此外,如果我们要查看一个很大型的档案 (好几百MB时),但是我们只需…
程序: 运行程序 点击“Verify” 关闭该程序,启动 OD 再运行程序 逆向: 用 OD 载入程序 按 F8 往下走 执行完这个 call 指令就弹出了对话框 这个 call 指令调用了 DialogBoxParam 函数创建模态对话框 如果步入该函数的话,会跳到动态链接库中 如果按 Alt+F9 让程序回到执行区域的时候停下也不行 DialogBoxParam 函数具体实现什么样的操作由参数 IpDialogFunc 决定,IpDialogFunc 为指向模态对话框过程的指针 IpDial…
程序: 这个窗口显示这是一个需要去除的 Nag 窗口 点击“确定” 用 PEiD 看一下 这是一个用汇编语言写的程序 逆向: 用 OD 载入程序 Nag 窗口的标题和文本 右键 -> 查找 -> 所有参考文本字串 只有这两条 下一个断点,跑一下程序 该 NAG 窗口还是弹出来了 点击“确定” 然后关掉程序,始终没有停在断点处 说明该处只是干扰项 往上拉 看到一些奇怪的字符,这些是 OD 识别不了的一些代码 右键 -> 分析 -> 从模块中删除分析 代码就变得正常了 第一个 call…
程序: 运行程序 弹出一个对话框,点击 OK 来到主界面,点击 Help -> Register Now 这是输入注册码的地方 按关闭程序的按钮 会提示剩下 30 天的使用时间 用 Resscope 载入程序 在 Dialog 下找到程序要退出时的那个对话框 在 100 处找到该对话框 103 为 lpTemplateName 对话框模板 逆向: 用 OD 载入程序 右键 -> 查找 -> 所有命令 64 为 100 的十六进制 找到很多 push 0x64 的指令 右键 -> 在…
对话框: 对话框从类型上分为两类:modal 对话框和 modeless 对话框,就是模态对话框和非模态对话框,也有叫成模式和非模式 模态对话框不允许用户在不同窗口间进行切换,非模态对话框允许用户在不同窗口间进行切换 两者形成区别的原理是模态对话框由 windows 为它内建一个消息循环,而非模态对话框的消息则是通过用户程序中的消息循环派送的 创建模态对话框是由调用 DialogBoxParam 函数实现的,而创建非模态对话框是调用 CreatDialogParam 函数实现 程序: 点击 SE…
程序: 打开程序 出现一个 NAG 窗口 这是主界面 点击 Exit 程序出现 NAG 窗口,然后退出 用 PEiD 看一下 是用 VC++ 6.0 写的程序 逆向: 用 OD 载入程序 跑一下程序 出现 NAG 窗口时暂停 按 Alt+K 显示调用堆栈 这个是 MFC 的对话框,双击来到它所在的地方 下一个断点,重新跑一下程序 OD 停在了断点处 按 F8 往下走一步 NAG 窗口出现了 过了几秒就往下走了一步了 按 F9 运行 程序又停在了这个断点处 按一下 F8 主窗口出现了 点击 Exi…
程序: 运行程序 点击 Start,它就会进行对系统的扫描 点击 About -> Enter Registration Code 随便输入一下内容,点击 OK,会弹出该弹窗 用 PEiD 看一下 该程序是用 Microsoft Visual C++ 6.0 写的 逆向: 用 OD 载入程序 右键 -> 查找 -> 所有模块间的调用 键盘直接敲 getwindowtext 找到几个 GetWindowTextA,A 为 ASCII 码,W 为 Unicode 右键 -> 在每个调用…
程序: 运行程序 界面显示的是未注册 点击 Help -> About 点击 Use Reg Key 这里输入注册码 用 PEiD 看一下 该程序是用 Delphi 6.0 - 7.0 写的 逆向: 用 OD 打开程序 右键 -> 查找 -> 所有参考文本字串 然后右键 -> 查找文本 搜索 这里有个是 accepted 为接受,failed 为失败 双击到 accepted 处 如果程序执行到这里则说明,注册码是可以的 在 Delphi 中,push 后的 retn 指令相当于…
前话: VB 程序用 OD 进行逆向的话,可以先查找相关的变量和字符串,以寻找突破口 变量: __vbaVarTstEq __vbaVarCompEq __vbaVarTstNe __vbaVarCompLe __vbaVarCompLt __vbaVarCompGe __vbaVarCompGt __vbaVarCompNe 字符串: __vbaStrCmp __vbaStrComp __vbaStrCompVar __vbaStrLike __vbaStrTextComp __vbaStrT…
程序: 运行 弹出 NAG 窗口,提示要花 20 美元注册 然后会进入主窗口 提示剩余 5 天的使用时间 点击,菜单栏 -> Help -> About 显示未注册版本 逆向: 用 OD 打开程序 首先把剩余 5 天的字符串作为切入点 先按 F9 运行一下程序 右键 -> 查找 -> 所有参考文本字串 右键 -> 查找文本 要把整个范围勾选上 继续查找看看,按 Ctrl+L 这个和第一个是一样的 双击第一个查找到的结果,跳到该字符串所在的位置 这个地方的上一条语句是一个 jn…
作者:Crazyman_Army 原文来自:https://bbs.ichunqiu.com/thread-43469-1-1.html 0x00知识回顾 (由于笔者省事,没开XP虚拟机,而且没关闭ASLR,所以每次重载的内存地址会不一样) 在第一章的内容中,笔者已经讲了OllyDbg(简称OD)的界面介绍以及基础的操作,普及了常用的汇编指令 上次课在底下的附件中,我留下了一个演示样例,大家载入OD后搜索到字符串点击跟踪到反汇编窗口的时候会发现与第一章所讲的程序的框架不太一样. 尤其可见多出了很…
程序: Keyfile.dat 里的内容 该文件中要至少有 9 个 ReverseMe.A: 运行程序 用 OD 打开该程序,运行 弹出的是错误的对话框 该程序发现 OD 对它的调试,所以该程序对 OD 进行反调试 重新载入程序,按 F8 往下走 这个循环是对 Keyfile.dat 的内容进行判断的 循环过来,来到一个 call 语句 执行该 call 语句就会弹出那个弹窗 这个 call 指令调用的函数就在下面 这个地方调用了一个 IsDebuggerPresent 函数 该函数判断程序进程…
本章节我们将学习OD脚本的使用与编写技巧,脚本有啥用呢?脚本的用处非常的大,比如我们要对按钮事件进行批量下断点,此时使用自动化脚本将大大减小我们的工作量,再比如有些比较简单的压缩壳需要脱壳,此时我们也可以写出属于自己的脱壳脚本,以后遇到了对应的壳就可以使用对应脚本快速的搞定,好了废话不多说,开始进入今天的正题吧. ------------------------------------------------------------本章难度:★☆☆☆☆☆☆☆☆☆课程课件:CM_15.zip---…
F2:设置断点,只要在光标定位的位置(上图中灰色条)按F2键即可,再按一次F2键则会删除断点. F8:单步步过.每按一次这个键执行一条反汇编窗口中的一条指令,遇到 CALL 等子程序不进入其代码. F7:单步步入.功能同单步步过(F8)类似,区别是遇到 CALL 等子程序时会进入其中,进入后首先会停留在子程序的第一条指令上. F4:运行到选定位置.作用就是直接运行到光标所在位置处暂停. F9:运行.按下这个键如果没有设置相应断点的话,被调试的程序将直接开始运行. CTR+F9:执行到返回.此命令…
关于版本控制: 很久以前,人们苦于对写过的代码进行版本的管理,经常过了一段时间想恢复原来写过的代码却又忘了不知道丢到哪儿去了,有的人用加上时间后缀来命名文件的方法,便于后期维护,但是这样做的麻烦也很大,时间一长,自己也会忘了什么时候保存文件是干嘛用的,而且万一自己的电脑坏掉了造成文件丢失,那么先前的努力都要从头再来.于是人们就想能否有好的版本控制系统来控制版本并能方便的回溯. ----下面是从git-scm.com上摘抄过来的一段关于版本控制的说明(关于Git的一本向导书籍,在线网址是http:…
相关学习资料 http://hi.baidu.com/hucyuansheng/item/bf2bfddefd1ee70ad68ed04d http://en.wikipedia.org/wiki/Instant_Messaging_and_Presence_Protocol https://www.trillian.im/impp/ http://en.wap.wikipedia.org/wiki/Presence_and_Instant_Messaging http://zh.wikiped…
OD调试9—实例:深入分析代码完成软件破解  爆破,是最初级的解决方案,不到万不得已,我们不直接修改JNZ通关.因为这样子的话,我们就享受不到破解.逆向的真正乐趣了. 了解程序背后按照剧情发展经常会出的一些走法,逆向程序的算法,才能体会逆向的真正乐趣! 所以,今天的主题是:是男人,就跟进去吧~ 这次还是使用一个比较简单的程序,不然太复杂的话,一步步跟进程序可能会把自己搞崩溃,脑子恐怕不够搞.大家凭自己的能力,能进入多少就进入多少,一分不少,一寸不多!能力是培养出来的,耐心! 试验软件:MrBil…
简介 Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本.这个 Web 框架看起来有些像web.py 或者 Google 的 webapp,不过为了能有效利用非阻塞式服务器环境,这个 Web 框架还包含了一些相关的有用工具 和优化. Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快.得利于其 非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千…
前一段时间逆向一个程序时发现是.net的,然后用OD和IDA都调试不了,最后上网查了一下原来.net的逆向要用专门的工具.这里推荐大家一篇文章去了解一下逆向.net的一些工具简介:http://www.17ky.net/gh/94.html 其中,我觉得dnSpy算是.net逆向的一把利器(ILSpy要配合Reflexil才能稍有作为,Reflector要收费且也要配合Reflexil才好用),然后我自己写了一个简单的登录界面来进行研究.程序是用WPF写的,其中的核心代码是 private vo…
IDA Pro基本简介 IDA加载完程序后,3个立即可见的窗口分别为IDA-View,Named,和消息输出窗口(output Window). IDA图形视图会有执行流,Yes箭头默认为绿色,No箭头默认为红色,蓝色表示默认下一个执行块. 在寄存器窗口中显示着每个寄存器当前的值和对应在反汇编窗口中的内存地址.函数在进入时都会保存堆栈地址EBP和ESP,退出函数时恢复. 选择菜单Debugger下的Start process(也可以按F9键)来开始调试.调试会让程序在电脑中执行,所以IDA会提示…