好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 729341299 于 2019-12-17 16:35 编辑
很惭愧,注册了吾爱十一年。。。。到现在才第一次想起来学
也是多得最近有软件需求,故提起了尝试破解的心思,大佬勿喷,请多指教
以下正文:
1. PEID查壳:嗯,感觉应该是UPX,直接拖入OD
查壳
2. 拖入OD,提示分析,点否
不分析
3. 载入后看到压栈指令pushfd,使用esp定律,F8单步
ESP
3. 可以看到寄存器窗口ESP产生变化,选中后右键数据窗口跟随,在HEX数据窗口选中一行数据,设置硬件断点
硬件断点
4. 设置断点后F9运行,F8单步步入,发现单步后一直在循环,不死心继续F8,循环大概20次左右自动跳出,找到OEP
(这里个人觉得很奇怪,正常软件F9后肯定运行跑起来,但这里一直循环,也算误打误撞找的oep,希望有大大能给解释下?)
循环
5. 找到OEP,右键脱壳,记住红框处修正地址,不勾选重建输入表,确定导出脱壳程序
OEP
6. 这个时候还打不开,使用importREC重建,选中调试进程,在OEP处输入刚刚记住的修正地址,记得加上00,然后IAT自动搜索 -- 获取导入表 -- 修正转储 --保存到原目录
重建
顺序如图
重建2
7. 再查壳,VC++,程序正常运行,但还是好奇为什么EP段显示UPX0?
VC++
8. 第一次尝试破解
运行程序看看,这是个贴吧发帖工具,本身不收费,但插件收费,随便下个插件,打开发现有注册窗口,随意输入显示激活码无效,就拿这个查询看看
破解尝试1
9. 拖入OD,右键中文搜索 - 智能搜索,搜索“激活码无效”,还真的有,在附近找的“激活成功”字样,先双击看看“激活码无效”
破解尝试2
10. 发现其上方有个je跳转,尝试把它改成jmp无条件跳转,运行看看,发现还是显示激活码无效
无效je跳
发现还是显示激活码无效
无效
11. 没有头绪,尝试直接从激活成功入手,je改成jmp,运行看看,
成功je跳
还是显示激活码无效
无效2
12. 换一种方式,尝试暂停找窗口,载入OD,直接F9跑起,打开程序到注册窗口,OD里点暂停,按K调出堆栈窗口
这里本人不太会看,只能挨个测试,选中最后一个有结构的,右键显示调用
堆栈
13. 直接在第一个retn处F2下断,然后F8单步走一遍call到retn,再F7步入
retn下断
14. 来到这里,给第一个call下断,F9运行程序,发现程序无法运行
call下断
15. 2019年12月17日重新编辑更新破解历程
15.1 暂停法是对的,但前面方法有误,其实直接用插件 -- API断点设置工具 -- 常用断点设置,勾选“messagesboxA”下断即可
boxA下断
15.2 此时回到软件,打开界面,点击注册,会自动断下
断点回溯
15.3 进行回溯,F8单步向下,跑到上图第二个call处程序弹出“激活码失效”框,点击确定,回到OD继续单步,retn返回后,直接ctrl+F9,执行到返回,再继续F8单步,到达dll模块
dll模块
15.4 找段首下断,取消原messagesboxA断点,在过程中会发现“激活成功”字样,再往上会发现服务器验证链接,从段首F8单步向下,到达验证链接下的第一个call时会卡住
据查询到的资料应该是发验证包,此时可以F12暂停,再F9跑起程序即可成功步过
验证call
15.5 继续单步,在“激活成功”字样下方发现非常长的一个跳转,直接跳过一大片代码,来到最初验证失败的代码段,这应该就是大佬们常说的关键跳?
关键跳
15.6 尝试在寄存器双击Z的1改成0,让跳转失效,F9运行,成功注册
成功
15.7 至此,把je改为jnz,保存dll文件,替换程序插件目录文件,打开可顺利注册
16. Q&A:
Q1:至此又尝试换了其他几个堆栈显示调用,发现都无法找到注册框,小白不知应如何进行下一步,请大佬们指教?
A1:感谢@朱朱你堕落了 耐心教导!多得有大佬协助,勉强算挤进脱破门缝
Q2:上方第四点找OEP的问题,为何循环了几十次才出来OEP?是不是方法有问题?
A2:感谢@Ps出来的小赵 大佬解答,快捷键F4直接可以运行到指定位置
Q3:上方第七点提到的查壳问题,脱壳后查壳EP段显示UPX,是什么原因导致?程序可以正常运行,会影响后续破解?
A3:目前仍不知是否会有影响,但暂时判定为应该是手动脱壳拖不干净,使用脱壳机后脱壳检测为.text
Q4:关于15.4,“此时可以F12暂停,再F9跑起程序即可成功步过”其原理本人仍不清楚,@朱朱你堕落了 大佬解释也可以点T恢复线程,但仍不能理解,希望大佬们指教
A4:待解答
最后附上程序,感谢吾爱的大佬们教导,之后也会继续学习!
链接: https://pan.baidu.com/s/1J1fhbbxpx0kpmbWkCiwSNQ 提取码: 17xs
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|