使用OllyDbg从零开始Cracking 第三十章PCODE概要1.docVIP

  • 9
  • 0
  • 约 22页
  • 2017-07-09 发布于湖北
  • 举报

使用OllyDbg从零开始Cracking 第三十章PCODE概要1.doc

使用OllyDbg从零开始Cracking 第三十章PCODE概要1

第三十章-P-CODE-Part2 (本章CrackMe支持库MSVBVM50.DLL) 本章我们继续讨论P-CODE。 以下是我从JBDUC的教程里收集的一些操作码: 6c → ILdRf 将指定操作数压入堆栈 1b → LitStr5 将字符串压入堆栈 fb → Lead0 30 → EqStr 比较两个字符串(与Lead0配合使用) 2f → FFree1Str 释放内存空间 1a → FFree1Ad 释放内存空间 0f → VCallAd 通过虚拟机运行操作码 1c → BranchF 条件跳转指令,如果栈顶的值为false则跳转(相当于汇编指令JNE/JNZ) 1d → BranchT 条件跳转指令,如果栈顶的值为true则跳转(相当于汇编指令JE/JZ) 1e → Branch 无条件跳转(嘿嘿,相当于汇编指令JMP) fc → Lead1 c8 → End 终止程序(与Lead1配合使用) f3 → LitI2 将立即数压入堆栈 f4 → LitI2_Byte 将指定数据转化为字节整型并压入堆栈 70 → FStrI2 将栈顶的WORD型元素保存到内存单元中,然后执行出栈操作 6b → FLdI2 将WORD型参数压入堆栈 a9 → AddI2 栈顶两个WORD型元素相加,相加的结果置于栈顶 ad → SubI2 栈顶两个WORD型元素相减,相减的结果置

文档评论(0)

1亿VIP精品文档

相关文档