huangni 发表于 2018-8-1 23:26:35

se2.4patch机器码成功,制作补丁无效,运行补丁程序直接retn

se2.4机器码具体patch图

和其他se版本貌似没有什么区别!
疑惑1:载入OD程序停在call上,貌似其他的本版都停在jmp上
二进制搜索windows api 函数 RegQueryValueEXA
Ctrl+B Ctrl+L两次找到:
00D9463F   > \E8 11000000   CALL 00D94655                            ;PUSH ASCII "RegQueryValueExA"
00D94644   .52 65 67 51 7>ASCII "RegQueryV"
00D9464D   >61            POPAD
00D9464E      6C            DB 6C                                    ;CHAR 'l'
00D9464F      75            DB 75                                    ;CHAR 'u'
00D94650      65            DB 65                                    ;CHAR 'e'
00D94651      45            DB 45                                    ;CHAR 'E'
00D94652      78            DB 78                                    ;CHAR 'x'
00D94653      41            DB 41                                    ;CHAR 'A'
00D94654   .00            ASCII 0
00D94655   >^ E9 78FCFFFF   JMP 00D942D2 \\此处跟随 一直跟到retn处
00D9465A   >57            PUSH EDI                                 ;ntdll.7C930228
00D9465B   .E9 BD000000   JMP 00D9471D

图三:
00D94274   > \61            POPAD
疑惑2:00D94275                                                          \\ 此处可否作为se_jmp_addr=00D94275
00D94275   .FF4424 08   INC DWORD PTR SS:               ;WolServe.00E2CD11
-------------------------------寄存器信息--------------------------------
EAX 0012E4D0 ASCII "SystemBiosVersion"         \\SBV_ADDR=0012E4D0

——————————————————————————————————————
00D94279   .9D            POPFD
00D9427A   .C3            RETN

EAX 0012E4D0 ASCII "SystemBiosVersion"
\\SBV_ADDR=0012E4D0
\\ SN_ADDR=0012E50C
偏移SN_ADDR=0012E50C-SBV_ADDR=0012E4D0=0x3c
跟随到数据窗口在0012E527下硬件写入断点
0012e527 下硬件断点 F9 两次 出现本机机器码,替换KEY文件对应的机器码 删除硬件断点F9运行
HEX:d7e2cab500082000c2060200008dfc04a07d060773175cc3946133af
D7 E2 CA B5 00 08 04 00 E3 06 05 00 00 01 02 03 04 05 06 07 4B 1F DF ED 54 45 DF FD

patch机器码程序跑起来
生产补丁
se_jmp_addr=00D94275
se_call_addr=00E0E643
SBV_ADDR=0012E4D0
SN_ADDR=0012E50C
偏移SN_ADDR=0012E50C-SBV_ADDR=0012E4D0=0x3c

F9 两次胸出现机器码删除断点,删除分析,程序停在\\00E0E611 E8 2D000000 CALL 00E0E643
                                                       找最近的jmp\\00E0E643 E9 95000000 JMP 00E0E6DD
00E0E611    E8 2D000000   CALL 00E0E643
00E0E616    BD 3CAE6A3C   MOV EBP, 0x3C6AAE3C
00E0E61B    5D            POP EBP                                  ; WolServe.00D88726
00E0E61C    087A 6E         OR BYTE PTR DS:, BH
00E0E61F    5C            POP ESP                                  ; WolServe.00D88726
00E0E620    9B            WAIT
00E0E621    F8            CLC
00E0E622    D219            RCR BYTE PTR DS:, CL
00E0E624    3A69 88         CMP CH, BYTE PTR DS:
00E0E627    2B8D 9C24CE00   SUB ECX, DWORD PTR SS:
00E0E62D    0000            ADD BYTE PTR DS:, AL
00E0E62F    66:8B1C24       MOV BX, WORD PTR SS:
00E0E633    9C            PUSHFD
00E0E634    66:871C24       XCHG WORD PTR SS:, BX
00E0E638    66:8B5C24 03    MOV BX, WORD PTR SS:
00E0E63D    877424 04       XCHG DWORD PTR SS:, ESI
00E0E641^ EB A5         JMP SHORT 00E0E5E8
00E0E643    E9 95000000   JMP 00E0E6DD


补丁的源码程序论坛里面的,E语言源码

补丁运行程序直接retn
或者是提示机器码错误
再或者提示内部错误
最后附上程序下载地址链接:链接:https://pan.baidu.com/s/1nPdJyMNkzPuckdSiWAsyLw 密码:61ie

Anakin 发表于 2018-8-3 22:36:37

楼主这是干嘛 请规范发帖谢谢请尊重版规

hanzhe123 发表于 2018-8-17 19:16:33

http://e.hiphotos.baidu.com/image/pic/item/0b7b02087bf40ad1365631d65a2c11dfa9ecce51.jpg没有问题哦
页: [1]
查看完整版本: se2.4patch机器码成功,制作补丁无效,运行补丁程序直接retn