动态调整实验技术
实验内容
实验过程(包含实验过程中出现的问题及解决办法)
2.动态实验爆破crackme.exe时 在虚拟机中打开ollydbg 打开程序 ctrl +g 运行到401026处 在这一行时 修改汇编指令 把 je short 0040103D 修改为 jmp short 0040103D 把条件指令 je 修改为无条件跳转指令 jmp 然后把修改好的指令重新保存成新的文件
运行效果如下:make me think your HD is a CD-Rom
在修改tracem.exd 文件时 原文件的显示为输入选项 输入的用户名 和序列号都会显示错误
可以采用爆破法让我们无论输入什么用户名和序列号都能显示成功
具体可以使用OllyDbg打开文件
在编译界面输入Ctrl + g 打开窗口 输入Get DlgItemTextA 打开窗口显示到76053DE5地址 在这里可以查看显示的我们的输入的序列号和用户名然后我们可以用 F8 查看接下里的每行地址 通过对照看每一行的意思
使用爆破法时 在004011F5h 处点击 再点击空格键修改指令 把004011F5h 的指令修改为nop 然后再赋值保存修改后的文件 命名保存 这样就可以任意的输入信息
输入任意信息显示都是成功
3.反解出35.exe 的password
在虚拟机中打开ollydbg 打开程序35.exe
使用单步调试 发现是哪一步是密码输入 并且再把密码加密
在地址:00401045 的作用是调入函数 这一步也是在停止 在程序页面输入密码
在接下来的地址004015
通过与0x7D异或
a =[0x1F,0x08,0x13,0x13,0x04,0x22,0x0E,0x11,0x4D,0x0D,0x18,0x3D,0x1B,0x11,0x1C,0x0F,0x18,0x50,0x12,0x13,0x53,0x1E,0x12,0x10]
和0x7D异或解密
Python代码如下
在这里插入代码片
a =[0x1F,0x08,0x13,0x13,0x04,0x22,0x0E,0x11,0x4D,0x0D,0x18,0x3D,0x1B,0x11,0x1C,0x0F,0x18,0x50,0x12,0x13,0x53,0x1E,0x12,0x10]
for i in a:
c=i^0x7D
print(chr(c),end="")
反解出密码:bunny_sl0pe@flare-on.com
让程序在ollydbg中运行 然后在程序页面输入密码 回车