本帖最后由 成熟的美羊羊 于 2021-2-20 15:10 编辑
软件连接: https://wws.lanzouj.com/igblDlveyuf
主要思路: {
这个提示是动态分配的 , 但是:
既然给我错误提示 , 总要访问有错误提示的地方 , 才能给我提示吧(滑稽)
给我们自己输入的假码 下内存访问断点, 似乎也是可行的(我没有试)
}
OD内存断点的使用
PYG5.4Crackers作业验证之CrackMe (我也不知道叫什么名字,拿到这个CrackMe的时候就叫这个)
第一步 , 先查壳(是VMP就扔掉 , 滑稽) 发现是UPX壳 , 脱壳我也不会 , 直接载入OD吧
F9运行起来~ , 并Ctrl+G在GetWindowTextA这个函数先断点
任意输入假码 , 并点击确定
然后 , 程序会断在GetWindowTextA这个函数上 , 如果继续往下走 , 可能就会遇到跟我一样的情况 , 具体看图
第二步 , 观察错误提示 , 可以发现 "注册码错误"这个字符串 , 返回OD , ALT+M键打开内存窗口 , 也可以通过点击OD上方的M打开内存窗口
第三步 , CTRL+B , OD点击ASCII右边的编辑框 , 输入注册码错误 , 输入完之后 , 可能看起来像乱码 , 但是问题不大(滑稽)
第四步 , 在0X2561E0右边 , 左键选择不超过"注册码错误!"这个大小, 然后右键选择断点 , 然后会出现内存访问断点 , 点击它(这里截图不了)
第五步 , 重新点击确定, 可以发现OD断下了 , 并在右下角的堆栈窗口中发现了一个返回到 , 点击它 , 按下Enter键
第六步, 如果发现没有任何字符串 , 右键 , 选择中文字符串 , 然后返回即可 , 往上翻翻 , 把0X46818A这个地址的汇编NOP掉就成功破解了 , 如果要内存取消断点 , 在OD左下角的窗口右键,就可以找到了这个功能了
成功截图
|