软件安全——Crack二进制文件(续)

0x00 写在前面

  • 上面一篇文章(软件安全——Crack二进制文件)讲了我的个人的野路子,这篇文章就来说说老师的解法叭(主要是老师突然让交作业)。

0x01 实验步骤

  1. 用CodeBlocks把代码生成Release版本可执行文件。

  2. 用IDA打开可执行文件,得到反汇编代码,然后用快捷键(空格键)将视图切换为代码视图,结果见图1。
    软件安全——Crack二进制文件(续)_第1张图片

  3. 用OllyDBG工具打开文件,使用快捷键(Ctrl+G)直接跳到在IDA中找到的VA地址(401C96H)。选中该指令(REPE),按F2下断点,进行调试运行,观察。此处有不止一种的解决方法,我选择将该指令用空指令(NOP)填充掉。结果如图2所示。
    软件安全——Crack二进制文件(续)_第2张图片

  4. 用PEview打开文件,找到内存地址对应的文件偏移地址,结果如图3所示。

    软件安全——Crack二进制文件(续)_第3张图片

  5. 使用010Editor(同样是一款比较好用的十六进制编辑器)打开文件,修改相应位置的数据,将1096H处的C875H(JNZ SHORT LOC_401C60)修改为9090H(NOP NOP)并保存,结果如图4所示。

    软件安全——Crack二进制文件(续)_第4张图片

  6. 运行破解后的可执行文件文件,结果如图5所示。

    图 5 破解后文件

你可能感兴趣的:(软件安全)