本文起于兴趣爱好,不作商业用途,若有人以此赢利,一切后果与本人无关。
===========================================================
因附件大小限制,执行程序上传不了,有兴趣自己修改试试。
===============================================
0067A75F . A1 4CA5A700 MOV EAX,DWORD PTR DS:[A7A54C]
0067A764 . 8B00 MOV EAX,DWORD PTR DS:[EAX]
0067A766 . 8B40 68 MOV EAX,DWORD PTR DS:[EAX+68]
0067A769 . 50 PUSH EAX
0067A76A . 6A 00 PUSH 0
0067A76C . E8 AFDCD8FF CALL GraspStd.00408420
0067A771 . 83C4 30 ADD ESP,30
0067A774 . 66:83E8 FE SUB AX,0FFFE
//判断有没有狗,ax的值从CALL GraspStd.00408420中获取
0067A778 . 0F84 E2010000 JE GraspStd.0067A960
0067A77E . 66:FFC8 DEC AX
0067A781 . 0F84 AD010000 JE GraspStd.0067A934
0067A787 . 66:FFC8 DEC AX
0067A78A . 0F85 F6020000 JNZ GraspStd.0067AA86
00408420中给ax赋值的句子(没狗)
004C1576 |. 8943 08 MOV DWORD PTR DS:[EBX+8],EAX
004C1579 |. 8B4424 0C MOV EAX,DWORD PTR SS:[ESP+C]
004C157D |. 8943 0C MOV DWORD PTR DS:[EBX+C],EAX
004C1580 |. EB 04 JMP SHORT GraspStd.004C1586
004C1582 8B4424 08 MOV EAX,DWORD PTR SS:[ESP+8]
//没狗的情况下跳转到上面这句,给eax赋值,结果是:0FFFE,
在这里,将esp+8改成esp就可以跳过没有狗的情况,值是02,如果改成其它的
比如esp+2,其结果是0,那就需要注册,而改成esp的时候不需要注册。
004C1586 |> 83C4 10 ADD ESP,10
004C1589 |. 5B POP EBX
004C158A |. 5D POP EBP
================
经修改,,做了一张进货单的测试,没有问题。不过没有多做单子测试有没有过期的情况,不过这个相对较简单,如有过期情况,进行跟踪,即可更改过了。
未做多机测试。 |