好友
阅读权限10
听众
最后登录1970-1-1
|
手上有一个中国地图控件(ChinaMap.ocx),使用了下没有注册的部分省份被锁定,无法使用,于是就用OD加载看了下:
查看代码,找到了如下一段:
11012D85 . 8B75 08 MOV ESI,DWORD PTR SS:[EBP+8]
11012D88 . 8B46 64 MOV EAX,DWORD PTR DS:[ESI+64]
11012D8B . 50 PUSH EAX
11012D8C . 68 3C250011 PUSH ChinaMap.1100253C ; UNICODE "712CcAiyY99"
11012D91 . FF15 68100011 CALL DWORD PTR DS:[<&MSVBVM60.__vbaStrCmp>] ; MSVBVM60.__vbaStrCmp
比较字符串
11012D97 . 8BC8 MOV ECX,EAX
11012D99 . 66:8BC7 MOV AX,DI
11012D9C . F7D9 NEG ECX
11012D9E . 66:99 CWD
11012DA0 . 66:BB 0300 MOV BX,3
11012DA4 . 1BC9 SBB ECX,ECX
11012DA6 . 66:F7FB IDIV BX
11012DA9 . 41 INC ECX
11012DAA . 66:4A DEC DX
11012DAC . 66:F7DA NEG DX
11012DAF . 1BD2 SBB EDX,EDX
11012DB1 . F7DA NEG EDX
11012DB3 . 0BCA OR ECX,EDX 改为AND ECX,EDX
11012DB5 . 75 7B JNZ SHORT ChinaMap.11012E32 改为JZ
11012DB7 . 8B16 MOV EDX,DWORD PTR DS:[ESI]
11012DB9 . 56 PUSH ESI
11012DBA . 33FF XOR EDI,EDI
即上面的地址为11012D91有比较语句,这个是静态分析,所以没有调试,只能看下代码了,发现地址上11012D8C 为静态 的值,比较后,还不是直接跳转,而是在经过运算才判断,一时看不懂,就转到了有JNZ的11012DB5 ,经过分析,这个控件只是部分相同的没有用,这句语句上面就是OR,刚好OR的意思只要有部分正确就正解的意思,我就猜想应该可以在此做文章,于是改为AND,然后跳转指令也修改,这样就避开了部分可用的限制,保存控件测试.
测试可用:如下图所示:
,原来甘肃不可用的,点击了下能显示出来了,控件也被破解了,这是本人第一次破解,有点巧合,运气好,哈哈........
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|