欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

答复

答复

代码:
.text:000129A9                 mov     dword_1327C, 11E1h

.text:000129B3                 mov     dword_13284, 1137h

.text:000129BD                 mov     dword_13274, 1179h

.text:000129C7                 mov     dword_13268, 42h

.text:000129D1                 mov     dword_13280, 1205h

.text:000129DB                 mov     dword_13264, 228h

.text:000129E5                 mov     dword_13290, 154h

.text:000129EF                 mov     dword_13278, 22Ch

.text:000129F9                 mov     dword_13270, 0C4h

.text:00012A03                 mov     dword_1328C, 114h

这个地方是判断操作系统是2003后初始化的地方,这些数值应该都是未公开的数据
根据操作系统不同数值也会不同,我们注意到把dword_1328C初始化为114h
代码:
.text:00011C17                 mov     eax, dword_1328C

.text:00011C1C                 mov     eax, [eax+esi]

.text:00011C1F                 mov     [ebp+Object], eax

这个地方取esi+dword_1328C即esi+114h的地方的数据保存到ebp+Object
代码:
.text:00011C93                 mov     eax, [ebp+Object]

.text:00011C96                 cmp     eax, ebx

.text:00011C98                 jz      short loc_11CDB

.text:00011C98

.text:00011C9A                 mov     eax, [eax+14h]

.text:00011C9D                 mov     eax, [eax]

.text:00011C9F                 mov     esi, [eax+24h]

这个地方取上面保存的数值为eax,然后再取[eax+14h]的值,而当dword_1328C等于114h的
时候,[esi+114h]=3,这样mov     eax, [eax+14h]就是mov     eax, [3+14h]造成错误,导致系统重启,所以说这个114h数值不适合2003,更确切的说不适合2003sp2吧,可能这个数适合某个版本的2003,经过调试2003sp2下的这个数值应该是124h
所以我们要做的就是把mov     dword_1328C, 114h改成mov     dword_1328C, 124h

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功