OD脚本编写资料与示例.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OD脚本编写资料与示例

OD脚本编写资料与示例 OllyScript脚本语言是一个种类汇编的语言。你使用它来控制ODbgScript和脚本运算. 在后面的文档中, “源操作数” 和 “目的操作数”表示以下含义: - 十六进制常数,既没有前缀也没有后缀。 (例如:是00FF, 而不是 0x00FF 和 00FFh的形式) 十进制常数,在后缀中加点. (例如:100. 128. 也可以是浮点数128.56,浮点数只能保留小数点后2位) - 变量,这个变量必须在使用前用Var进行定义 - 32位寄存器 (EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP, EIP)。 16位寄存器 (AX, BX, CX, DX, SI, DI, BP, SP) 8位的寄存器(AL, AH, ... DL, DH) - 被中括号括起来的内存地址 (例如:[401000] 指向内存地址为401000里存放分数据, [ecx] 指向内存地址为寄存器ecx里存放分数据). - 一个标志位,带有感叹号前缀(!CF, !PF, !AF, !ZF, !SF, !DF, !OF) - 字符串,也可叫数据序列。其格式为: #6A0000# (数值在两个“#”号之间),两个“#”号之间必须包含至少有一个数值。 1234567ABCDEF - 包含“?”通配符的字符串。比如 #6A??00# 或者 #6?0000# 3.1.1 保留变量 ------------------------ $RESULT ------- RESULT 保存某些函数的返回值,比如FIND函数,等等。 在ODbgScript的脚本调试窗口,你能观察到它的变换,并且可以修改它. $VERSION -------- VERSION ODBGScript的版本信息,整个是系统保留变量名. 例: cmp $VERSION, 1.47 //比较是否大于 1.47版 ja version_above_147 3.1.2 指令 -------------- #INC 文件名 --------- 一个脚本文件包含另外一个脚本.就像调用子程序一样.两个脚本中的变量名不能相同. 例: #inc test.txt #LOG ---- 开始记录运行指令 指令会显示在OllyDbg的log窗口中,每条记录前都会加上“--”的前缀 例: #log ADD 目的操作数,源操作数 ------------- ADD 源操作数与目的操作数相加,并把相加的结果保存到目的操作数中,支持字符串相加. 例: add x, 0F // x=x+F add eax, x //eax=eax+x add [401000], 5 //[401000]=[401000]+5 浮点数相加 add x,16.50 //x=x+16.50 (字符串相加) add y, times // 如果在次之前y=1000 ,则在执行完此指令之后y=1000 times AI -- Animate Into 在OllyDbg中执行“自动步入” [Animate into]操作。 相当于在OllyDbg中按下CTRL+F7 例: ai ALLOC 大小 ---------- 申请内存, 你能读/写/执行. 例: alloc 1000 //新申请内存,大小为1000,返回结果$RESULT放着申请的内存开始地址. free $RESULT, 1000 AN 地址 ------- ANalyze 从指定地址处,对代码进行分析。 例: an eip // 相当于在OllyDbg中按 Ctrl+A键 AND 目的操作数, 源操作数 ------------- AND 源操作数与目的操作数进行逻辑与操作,并将结果保存到到目的操作数中。 例: and x, 0F //x=xf and eax, x //eax=eaxx and [401000], 5 //[401000]=[401000]5 AO -- Animate Over 在OllyDbg中执行“自动步过” [Animate over]操作。 相当于在OllyDbg中按下CTRL+F8 例: ao ASK 问题 ------------

文档评论(0)

pt540099 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档