吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6039|回复: 9
收起左侧

[分享] 破解交流mov eax, 0000270F是不是这么推算来的?

[复制链接]
冥界3大法王 发表于 2017-1-17 10:01
本帖最后由 冥界3大法王 于 2017-1-17 10:09 编辑
http://www.52pojie.cn/thread-574064-1-1.html

看了一下 初亦泽 老兄的大作:
它修改的是这里:
00570B4C      55            PUSH    EBP                                  修改为:  mov eax, 0000270F  如果改成mov eax,1当然也成立只是无限授权字样被打乱而已
00570B4D      8BEC          MOV     EBP,ESP                          ret
00570B4F      83C4 D8       ADD     ESP,-0x28
00570B52  |.  53            PUSH    EBX
我们关心的是270F是如何来的?


00571708   .  E8 3FF4FFFF   CALL    winchm.00570B4C                  ;  进去的地址是那个00570B4C(同时这句也是注册表之后,读取到注册名的地方)
0057170D   .  8BD8          MOV     EBX,EAX
0057170F   .  8BC3          MOV     EAX,EBX
00571711   .  83E8 01       SUB     EAX,0x1                                  ;  Switch (cases 0..270F) <==大家注意左边的这行英文 开关点270F
00571714   .  72 0B         JB      SHORT winchm.00571721
00571716   .  74 17         JE      SHORT winchm.0057172F
00571718   .  2D 0E270000   SUB     EAX,0x270E                       ;  看这里!显然这句很重要!我琢磨跟这句有直接关系!
0057171D   .  74 21         JE      SHORT winchm.00571740
0057171F   .  EB 30         JMP     SHORT winchm.00571751
00571721   >  A1 0C365E00   MOV     EAX,DWORD PTR DS:[0x5E360C]      ;  Case 0 of switch 00571711
00571726   .  33D2          XOR     EDX,EDX
00571728   .  E8 8F56E9FF   CALL    winchm.00406DBC
0057172D   .  EB 3E         JMP     SHORT winchm.0057176D
0057172F   >  A1 0C365E00   MOV     EAX,DWORD PTR DS:[0x5E360C]      ;  Case 1 of switch 00571711
00571734   .  BA 04185700   MOV     EDX,winchm.00571804              ;  UNICODE "Single-user License"
00571739   .  E8 7E56E9FF   CALL    winchm.00406DBC
0057173E   .  EB 2D         JMP     SHORT winchm.0057176D
00571740   >  A1 0C365E00   MOV     EAX,DWORD PTR DS:[0x5E360C]      ;  Case 270F of switch 00571711
00571745   .  BA 38185700   MOV     EDX,winchm.00571838              ;  UNICODE "Unlimited-user License"
0057174A   .  E8 6D56E9FF   CALL    winchm.00406DBC
0057174F   .  EB 1C         JMP     SHORT winchm.0057176D
00571751   >  8D55 E8       LEA     EDX,DWORD PTR SS:[EBP-0x18]      ;  Default case of switch 00571711

0x270F的常量只有几个
Peitu21.jpg

004171AA  |.  66:817D FE 0F>CMP     WORD PTR SS:[EBP-0x2],0x270F 显然这句好像也有些关系,因为与启动弹注册有关!

最后我们掌声有请 @初亦泽   同学来说说这个作业是如何得出结论的?

个人觉得他得修改方法很巧妙!应该有掌声
Peitu22.jpg
修改之后  得以实现跳向 无限授权~~

免费评分

参与人数 3吾爱币 +3 热心值 +3 收起 理由
WYWZ + 1 + 1 用心讨论,共获提升!
Anewbie + 1 + 1 用心讨论,共获提升!
一生挚爱 + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

初亦泽 发表于 2017-1-17 10:57
汇编语言的一个加减法而已

00571708   .  E8 3FF4FFFF   CALL    winchm.00570B4C                  ;  通过这个CALL给寄存器EAX返回一个值
0057170D   .  8BD8          MOV     EBX,EAX
0057170F   .  8BC3          MOV     EAX,EBX
00571711   .  83E8 01       SUB     EAX,0x1                          ;  这句的意思是把EAX里面存放的数值减一,再存入EAX,同时SUB指令也会影响标志寄存器ZF
00571714   .  72 0B         JB      SHORT winchm.00571721
00571716   .  74 17         JE      SHORT winchm.0057172F
00571718   .  2D 0E270000   SUB     EAX,0x270E             ;  EAX数值减0x270E,
0057171D   .  74 21         JE      SHORT winchm.00571740   ;可以看到这个跳到旗舰版的授权字样,所以关键就是让这个JE成立,那么上面SUB指令运行后EAX值应该为零,所以在最上面CALL返回的EAX值应该是 0x0+0x270E+0x1 =0x270F
0057171F   .  EB 30         JMP     SHORT winchm.00571751
00571721   >  A1 0C365E00   MOV     EAX,DWORD PTR DS:[0x5E360C]      ;  Case 0 of switch 00571711
00571726   .  33D2          XOR     EDX,EDX
00571728   .  E8 8F56E9FF   CALL    winchm.00406DBC
0057172D   .  EB 3E         JMP     SHORT winchm.0057176D
0057172F   >  A1 0C365E00   MOV     EAX,DWORD PTR DS:[0x5E360C]      ;  Case 1 of switch 00571711
00571734   .  BA 04185700   MOV     EDX,winchm.00571804              ;  UNICODE "Single-user License"
00571739   .  E8 7E56E9FF   CALL    winchm.00406DBC
0057173E   .  EB 2D         JMP     SHORT winchm.0057176D
00571740   >  A1 0C365E00   MOV     EAX,DWORD PTR DS:[0x5E360C]      ;  Case 270F of switch 00571711
00571745   .  BA 38185700   MOV     EDX,winchm.00571838              ;  UNICODE "Unlimited-user License"
0057174A   .  E8 6D56E9FF   CALL    winchm.00406DBC
0057174F   .  EB 1C         JMP     SHORT winchm.0057176D
00571751   >  8D55 E8       LEA     EDX,DWORD PTR SS:[EBP-0x18]      ;  Default case of switch 00571711

点评

另外破解补丁建议用最新的AT4REPatcher做,你的那个会误报病毒的  发表于 2017-1-17 11:26

免费评分

参与人数 2吾爱币 +4 热心值 +2 收起 理由
gray小灰 + 1 + 1 谢谢@Thanks!
冥界3大法王 + 3 + 1 感谢赐教,以为直接用上面显示的case swith字样直接做判断

查看全部评分

一生挚爱 发表于 2017-1-17 10:35
Anewbie 发表于 2017-1-17 10:52
各位老师都说过一句话:不会汇编语言的都成不了大牛。   我就是活生生的例子啊

点评

非也非也,是说不出个所以然的,只要能分析出个流程,并清楚的说出为什么这样,不为什么那样坚持下去就会进步的。  发表于 2017-1-17 10:56
Gnod 发表于 2017-1-17 11:09
又是汇编,lz能推荐个汇编教程不

点评

为啥克林顿没给您加999999欧元?  发表于 2017-1-17 11:12
blueocean2016 发表于 2017-1-17 13:19
新手学习,葱白
whyida 发表于 2017-1-17 19:28
本帖最后由 whyida 于 2017-1-17 19:31 编辑

关键 00571711   .  83E8 01       SUB     EAX,0x1                                  ;  Switch (cases 0..270F) <==大家注意左边的这行英文 开关点270F
非常明显的  Switch 语句, mov eax,0x270F  当eax的值为0x270F 则跳向成功。
以上只是根据所贴出代码的判断。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 06:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表