小甲鱼OD知识_第1页
小甲鱼OD知识_第2页
小甲鱼OD知识_第3页
小甲鱼OD知识_第4页
小甲鱼OD知识_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ODOD基本快捷键及功能基本快捷键及功能加载目标文件调试加载目标文件调试设置OllyDbg中断在程序的入口点。名词注释 S y s t e m b r e a k p o i n t : 系 统 断 点 , O l l y D b g 用 C r e a t e P r o c e s s A 加 载DEBUG_ONLY_THIS_PROCESS参数执行,程序运行之后会触发一个INT13,在系统空间里。 Entry point of main module:主模块的入口点,即文件的入口点。 WinMain:程序的WinMain()函数入口点。加载目标文件调试加载目标文件调试1.虚拟地址:一般情

2、况下,同一程序的同一条指令在不同系统环境下此值相同。2.机器码:这就是CPU执行的机器代码。3.汇编指令:和机器码对应的程序代码。调试技巧总结调试技巧总结1.F2下断点,Alt+b打开断点编辑器,可编辑所有下过的断点,空格键可快速切换断点状态。2.当位于某个CALL中,这时想返回到调用这个CALL的地方时,可以按“Ctrl+F9”快捷键执行返回功能。这样OD就会停在遇到的第一个返回命令(如RET、RETF或IRET)。3.如果跟进系统DLL提供的API函数中,此时想返回到应用程序领空里,可以按快捷键“Alt+F9”执行返回到用户代码命令。调试技巧总结调试技巧总结4.所谓领空,实际上就是指在某一

3、时刻,CPU执行的指令所在的某段代码的所有者。5.如004013F7这类地址一般是可执行文件领空,7C8114AB这类大地址一般是系统DLL所在的地址空间。6.程序通常读取文本框内容的字符串用的是以下两个函数: GetDlgItemTextA(GetDlgItemTextW) GetWindowTextA(GetWindowTextW)调试技巧总结调试技巧总结7.一般我们要结合经验通过猜测的方式多尝试几遍设陷阱,找出相关的函数。8.按“Ctrl+G”键打开跟随表达式的窗口。9.也可以通过“Ctrl+N”键打开应用程序的导入表(输入表),然后查看应用程序总共导入了哪些函数来以此推断需要在哪里挖坑

4、下陷阱!10.关于返回值,汇编代码的返回值约定是存放在eax这个寄存器里边的,如果32位的eax不够存放返回值,系统会将返回值放在内存某个位置并把该位置的地址放在eax返回。关于寄存器关于寄存器寄存器就好比是CPU身上的口袋,方便CPU随时从里边拿出需要的东西来使用。今天的程序中我们涉及到九个寄存器: EAX:扩展累加寄存器 EBX:扩展基址寄存器 ECX:扩展计数寄存器 EDX:扩展数据寄存器 ESI:扩展来源寄存器 EDI:扩展目标寄存器关于寄存器关于寄存器寄存器就好比是CPU身上的口袋,方便CPU随时从里边拿出需要的东西来使用。今天的程序中我们涉及到九个寄存器: EAX:扩展累加寄存器

5、EBX:扩展基址寄存器 ECX:扩展计数寄存器 EDX:扩展数据寄存器 ESI:扩展来源寄存器 EDI:扩展目标寄存器关于关于CALLCALL指令指令很多朋友都问过如何“找CALL”,但很遗憾,从没有朋友问过为什么要“找CALL”。call XXX; 等于 push eip; 然后 jmp XXX;call有以下几种方式: call 404000h ;直接跳到函数或过程的地址 call eax ;函数或过程地址存放在eax call dword ptr eax关于关于CALLCALL call dword ptr eax+5 call dword ptr ;执行一个系统API关于关于movmo

6、v指令指令mov指令格式:mov dest, src这是一个很容易理解的指令,mov指令将src的内容拷贝到dest,mov指令总共有以下几种扩展: movs/movsb/movsw/movsd edi,esi:这些变体按串/字节/字/双字为单位将esi寄存器指向的数据复制到edi寄存器指向的空间。 movsx符号位扩展,byte-word,word-dword (扩展后高位全用符号位填充),然后实现mov。 movzx零扩展,byte-word,word-dword(扩展后高位全用0填充),然后实现mov。关于关于cmpcmp指令指令cmp指令格式:cmp dest, srccmp指令比较d

7、est和src两个操作数,并通过比较结果设置C/O/Z标志位。cmp指令大概有以下几种格式: cmp eax, ebx ;如果相等,Z标志位置1,否则0. cmp eax, 404000 ;将eax和404000地址处的dword型数据相比较并同上置位。 cmp 404000, eax ;同上。标志位标志位在逆向中,你真正需要关心的标志位只有三个,也就是cmp指令能修改的那三个:Z/O/C。 Z标志位(0标志),这个标志位是最常用的,运算结果为0时候,Z标志位置1,否则置0。 O标志位(溢出标志),在运行过程中,如操作数超出了机器能表示的范围则称为溢出,此时OF位置1,否则置0。 C标志位(进

8、位标志),记录运算时从最高有效位产生的进位值。例如执行加法指令时,最高有效位有进位时置1,否则置0。逻辑运算逻辑运算关于关于testtest指令指令test指令格式:test dest, src这个指令和and指令一样,对两个操作数进行按位的与运算,唯一不同之处是不将与的结果保存到dest。即本指令对两个操作数的内容均不进行修改,仅是在逻辑与操作后,对标志位重新置位。小甲鱼很负责任地告诉大家该指令的实战形态百分之九十九是酱紫:test eax, eax(如果eax的值为0,则Z标志位置1)关于条件跳转指令关于条件跳转指令条件跳转指令,就是根据各种不同标志位的条件判断是否成立,条件成立则跳转。N

9、o picture you say a j8patchpatchpatch也就是我们平时所说的补丁。所谓给程序打补丁就是我们对程序破解所进行的修改,就是说像我们衣服破了,如果没有打补丁,就会走光的意思。OllyDBG的“/”可以查看所有打过的补丁。PEPE文件结构文件结构PE文件结构: DOS header DOS stub PE File Header Image Optional Header Section Table Data Directories SectionsNo picture you say a J8小结小结GetModuleHandleA这个API函数用于获取程序的Ima

10、geBase(基址)这个程序的MessageBox的OwnerHandle(父窗口句柄)为0(NULL),我们可以将这个值改为一个不存在的值,例如1,这样它就找不到老豆,就不会被显示出来。名词注释: VA(VirtualAddress,虚拟地址) RVA(RelativeVirtualAddress,相对虚拟地址) EP(EntryPoint,程序入口点)关于关于SEHSEHSEH(Structured Exception Handling),即结构化异常处理。SEH是Windows操作系统提供的功能,跟开发工具无关。Windows程序设计中最重要的理念就是消息传递,事件驱动。当GUI应用程序

11、触发一个消息时,系统将把该消息放入消息队列,然后去查找并调用窗体的消息处理函数(CALLBACK),传递的参数当然就是这个消息。关于关于SEHSEH我们同样可以把异常也当作是一种消息,应用程序发生异常时就触发了该消息并告知系统。系统接收后同样会找它的“回调函数”,也就是我们的异常处理例程。当然,如果我们在程序中没有做异常处理的话,系统也不会置之不理,它将弹出我们常见的应用程序错误框,然后结束该程序。所以,当我们改变思维方式,以CALLBACK 的思想来看待 SEH,SEH 将不再神秘。VBVB破解的关键破解的关键针对变量:_vbaVarTstEq_vbaVarTstEq_vbaVarTstNe

12、_vbaVarCompEq _vbaVarCompEq _vbaVarCompLe _vbaVarCompLt _vbaVarCompGe _vbaVarCompGt _vbaVarCompNe 针对字符串:_vbaStrCmp_vbaStrCmp_vbaStrComp_vbaStrCompVar_vbaStrLike_vbaStrTextComp_vbaStrTextLikeODOD使用教程使用教程1818创建模态对话框是由调用DialogBoxParam 函数实现的,而创建非模态对话框是调用CreateDialogParam函数实现。它们的原型分别是: HWND DialogBoxParam (HINSTANCE hlnstance, LPCTSTR IpTemplateNa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论