好友
阅读权限40
听众
最后登录1970-1-1
|
本帖最后由 冥界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的常量只有几个
004171AA |. 66:817D FE 0F>CMP WORD PTR SS:[EBP-0x2],0x270F 显然这句好像也有些关系,因为与启动弹注册有关!
最后我们掌声有请 @初亦泽 同学来说说这个作业是如何得出结论的?
个人觉得他得修改方法很巧妙!应该有掌声
修改之后 得以实现跳向 无限授权~~ |
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|