【简易破解】-玩玩破解,写给新人看(阶段练习1)-实践

破解心得分享:
有提示信息框练习:
1.先用字符串搜索“失败”“成功”定位到代码区没有可疑的跳转指令和窗口ID,F2下断点F8步入但找不到关键跳转位置和指令;断点取消另寻其他办法。
2.在搜索栏中看见了“请输入账号和密码”第三个可疑字符串,F2下断点并且运行不输入账号密码登录F8步入几步就运行不了了;
寻找字符串周围有发现下面有PUSH 52010001的窗口ID,再往下寻找有PUSH 5201000A,PUSH 52010C8E等 ID,猜测此处肯定有成功和失败的弹窗ID和弹窗call,接着找可疑跳转,往下五行就看见有个大的jmp跳转并且是之前F8没进入的地方:

用NOP填充重新运行程序(需要不输入账号密码进入断点,继续运行)发现会先弹出“请输入账号和密码”弹窗,确定后,再弹出“登陆失败弹窗”:
则此jmp跳转掉了“登陆失败”的弹窗call或者“请输入账号和密码”弹窗call,(这个jmp不是要修改的地方,修改回来,重新运行)就在这个跳转范围内寻找弹窗ID(此时寻找的是PUSH 5201****的ID并且前面要有PUSH 10001才符合弹窗ID的条件),往下寻找,发现了一个je条件跳转语句跳掉了一个弹窗ID并且跳掉了一个JMP跳转(此JMP跳转跳掉了接下来的另一个弹窗ID):

此时八九不离十就找到了成功和失败的弹窗ID,(这里分析了一下是不正确就跳转并执行失败弹窗call),将此je挑战NOP填充掉就行了。(还可以将EAX里的值换为1等等)。

我还尝试了其他办法:
1.(没运行时)用查找PUSH 10001找弹窗ID能很快找到关键位置并破解(有4个正好1,2个是);
2.MessageBoxA断点断不下来,用GetWindowTextA能端下来并一路F8过了几个retn(记住这里要运行输入账号密码登录才能进入登陆失败相关位置,不然找不到关键位置如窗口ID)就能到关键位置并破解;
3.登陆失败字符串附近无窗口ID应该是MessageBoxA函数无法拦截登录失败弹窗的原因;

提示未注册练习:
1.API断点设置中找不到SetWindowTextA函数就在查找-->当前模块中的名称-->打SETWIINDOWSTEXTA-->选中右击在每个参考上设置断点设置函数断点;
2.然后运行,输入账号密码登录F8步入返回到关键位置(不要继续F8了);

3.往上下寻找可疑跳转,发现上面有个je条件跳转跳转掉了几个pushID并且跳转到的地方上一行也是一个jmp跳转跳过了一个pushID,这个就是关键跳转,NOP掉就行了;


如有错误请指出,欢迎大家讨论!!!

THE END
喜欢就支持以下吧
点赞0
分享
评论 抢沙发
  • 管埋员的头像-小北的自留地

    昵称

  • 取消
    昵称