静态分析破解一OCX控件
手上有一个中国地图控件(ChinaMap.ocx),使用了下没有注册的部分省份被锁定,无法使用,于是就用OD加载看了下:查看代码,找到了如下一段:
11012D85 .8B75 08 MOV ESI,DWORD PTR SS:
11012D88 .8B46 64 MOV EAX,DWORD PTR DS:
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:
11012DB9 .56 PUSH ESI
11012DBA .33FF XOR EDI,EDI
即上面的地址为11012D91有比较语句,这个是静态分析,所以没有调试,只能看下代码了,发现地址上11012D8C 为静态 的值,比较后,还不是直接跳转,而是在经过运算才判断,一时看不懂,就转到了有JNZ的11012DB5 ,经过分析,这个控件只是部分相同的没有用,这句语句上面就是OR,刚好OR的意思只要有部分正确就正解的意思,我就猜想应该可以在此做文章,于是改为AND,然后跳转指令也修改,这样就避开了部分可用的限制,保存控件测试.
测试可用:如下图所示:,原来甘肃不可用的,点击了下能显示出来了,控件也被破解了,这是本人第一次破解,有点巧合,运气好,哈哈........
这个属于和谐他的限制,
若有注册的话试下爆他的注册,多种尝试多种经验。 and的作用是连接的意思么 谢谢分享。慢慢学点东西。 没怎么看明白,学习中.... 1354669803 发表于 2012-9-21 16:55 static/image/common/back.gif
and的作用是连接的意思么
这里的AND就是与的意思,作用是原本部分的开放改为全部开放,要联系下一语句解释 Chief 发表于 2012-9-21 15:38 static/image/common/back.gif
这个属于和谐他的限制,
若有注册的话试下爆他的注册,多种尝试多种经验。
这个控件没有发现注册入口,原本以为是把控件的某一属性修改为注册值就可以了,结果看到这控件只有几个属性,一一试了都没作用,所以只好和谐他的限制了
页:
[1]