HOME 生活记录运维/编程
作者/来源:yixinu.com
栏目:运维/编程
日期:2012-11-14 07:42:43
在 官网: http://wingware.com/  下载wing 4.1 for ubuntu (32位)
安装wing 4.1
安装完成后 启动Wing IDE 4.1

    选择 Obtain or extend a trial license   ,选择 continue 。
进入目录 :/usr/lib/wingide4.1/bin/2.5 ,复制src.zip ,然后放在桌面解压 ,

获得process目录下的abstract.pyo文件。

 
   在网址:http://pypi.python.org/pypi/unpyclib/0.8.1 下载unpyclib-0.8.1.tar.gz ,然后解压到 /usr/local/lib/python2.6/dist-packages/中,或者解压到桌面
(/home下常用位置都可以)
把刚才解压的abstract.pyo放到unpyclib库目录下面,与application.py一起,然后执行命令进行反汇编:python application.py -d abstract.pyo > abstract.txt 。

    获得abstract.txt文件,用gedit打开,查找 ” 000001E2 " 这个地址 ,
文件打开如下:
                                     code:
000050C2                                 STR: 'tx00x00dx01x00x83x01x00|x01x00dx02x00<x6x00tx01x00D].x00}x03x00|x01x00ix02x00...' (2F 03 00 00 74 00 00 64 01 00 83 01...)
                                         00000000     74 - LOAD_GLOBAL         '_'
                                         00000003     64 - LOAD_CONST          'expired'
                                         00000006     83 - CALL_FUNCTION      
                                         00000009     7C - LOAD_FAST           'lic'
                                         0000000C     64 - LOAD_CONST          'daysleft'
                                         0000000F     3C - STORE_SUBSCR       
                                         00000010     78 - SETUP_LOOP          -> 00000049
                                         00000013     74 - LOAD_GLOBAL         'kRequiredLicenseFields'
                                         00000016     44 - GET_ITER           
                                         00000017     5D - FOR_ITER            -> 00000048
                                         0000001A     7D - STORE_FAST          'key'
                                         0000001D     7C - LOAD_FAST           'lic'
                                         00000020     69 - LOAD_ATTR           'has_key'
                                         00000023     7C - LOAD_FAST           'key'
                                         00000026     83 - CALL_FUNCTION      
                                         00000029     70 - JUMP_IF_TRUE        -> 00000044
                                         0000002C     01 - POP_TOP            
                                         0000002D     74 - LOAD_GLOBAL         'kLicenseCorrupt'
                                         00000030     74 - LOAD_GLOBAL         '_'
                                         00000033     64 - LOAD_CONST          'Missing a required line %s'
                                         00000036     83 - CALL_FUNCTION      
                                         00000039     7C - LOAD_FAST           'key'
                                         0000003C     16 - BINARY_MODULO      
                                         0000003D     66 - BUILD_TUPLE        
                                         00000040     53 - RETURN_VALUE       
                                         00000041     71 - JUMP_ABSOLUTE       -> 00000017
                                         00000044     01 - POP_TOP            
                                         00000045     71 - JUMP_ABSOLUTE       -> 00000017
                                         00000048     57 - POP_BLOCK          
                                         00000049     7C - LOAD_FAST           'self'
                                         0000004C     69 - LOAD_ATTR           '_ValidatePlatform'
                                         0000004F     7C - LOAD_FAST           'lic'
                                         00000052     64 - LOAD_CONST          'license'
                                         00000055     19 - BINARY_SUBSCR      
                                         00000056     7C - LOAD_FAST           'lic'
                                         00000059     64 - LOAD_CONST          'os'
                                         0000005C     19 - BINARY_SUBSCR      
                                         0000005D     83 - CALL_FUNCTION      
                                         00000060     5C - UNPACK_SEQUENCE    
                                         00000063     7D - STORE_FAST          'err'
                                         00000066     7D - STORE_FAST          'msg'
                                         00000069     7C - LOAD_FAST           'err'
                                         0000006C     64 - LOAD_CONST          None
                                         0000006F     6A - COMPARE_OP          "!="
                                         00000072     6F - JUMP_IF_FALSE       -> 00000083
                                         00000075     01 - POP_TOP            
                                         00000076     7C - LOAD_FAST           'err'
                                         00000079     7C - LOAD_FAST           'msg'
                                         0000007C     66 - BUILD_TUPLE        
                                         0000007F     53 - RETURN_VALUE       
                                         00000080     6E - JUMP_FORWARD        -> 00000084
                                         00000083     01 - POP_TOP            
                                         00000084     7C - LOAD_FAST           'self'
                                         00000087     69 - LOAD_ATTR           '_ValidateProduct'
                                         0000008A     7C - LOAD_FAST           'lic'
                                         0000008D     64 - LOAD_CONST          'product'
                                         00000090     19 - BINARY_SUBSCR      
                                         00000091     83 - CALL_FUNCTION      
                                         00000094     5C - UNPACK_SEQUENCE    
                                         00000097     7D - STORE_FAST          'err'
                                         0000009A     7D - STORE_FAST          'msg'
                                         0000009D     7C - LOAD_FAST           'err'
                                         000000A0     64 - LOAD_CONST          None
                                         000000A3     6A - COMPARE_OP          "!="
                                         000000A6     6F - JUMP_IF_FALSE       -> 000000B7
                                         000000A9     01 - POP_TOP            
                                         000000AA     7C - LOAD_FAST           'err'
                                         000000AD     7C - LOAD_FAST           'msg'
                                         000000B0     66 - BUILD_TUPLE        
                                         000000B3     53 - RETURN_VALUE       
                                         000000B4     6E - JUMP_FORWARD        -> 000000B8
                                         000000B7     01 - POP_TOP            
                                         000000B8     7C - LOAD_FAST           'self'
                                         000000BB     69 - LOAD_ATTR           '_ValidateVersion'
                                         000000BE     7C - LOAD_FAST           'lic'
                                         000000C1     64 - LOAD_CONST          'version'
                                         000000C4     19 - BINARY_SUBSCR      
                                         000000C5     83 - CALL_FUNCTION      
                                         000000C8     5C - UNPACK_SEQUENCE    
                                         000000CB     7D - STORE_FAST          'err'
                                         000000CE     7D - STORE_FAST          'msg'
                                         000000D1     7C - LOAD_FAST           'err'
                                         000000D4     64 - LOAD_CONST          None
                                         000000D7     6A - COMPARE_OP          "!="
                                         000000DA     6F - JUMP_IF_FALSE       -> 000000EB
                                         000000DD     01 - POP_TOP            
                                         000000DE     7C - LOAD_FAST           'err'
                                         000000E1     7C - LOAD_FAST           'msg'
                                         000000E4     66 - BUILD_TUPLE        
                                         000000E7     53 - RETURN_VALUE       
                                         000000E8     6E - JUMP_FORWARD        -> 000000EC
                                         000000EB     01 - POP_TOP            
                                         000000EC     79 - SETUP_EXCEPT        -> 000001A2
                                         000000EF     74 - LOAD_GLOBAL         'CreateActivationRequest'
                                         000000F2     7C - LOAD_FAST           'lic'
                                         000000F5     83 - CALL_FUNCTION      
                                         000000F8     7D - STORE_FAST          'lichash'
                                         000000FB     7C - LOAD_FAST           'lic'
                                         000000FE     64 - LOAD_CONST          'activation'
                                         00000101     19 - BINARY_SUBSCR      
                                         00000102     7D - STORE_FAST          'act30'
                                         00000105     7C - LOAD_FAST           'act30'
                                         00000108     69 - LOAD_ATTR           'replace'
                                         0000010B     64 - LOAD_CONST          '-'
                                         0000010E     64 - LOAD_CONST          ''
                                         00000111     83 - CALL_FUNCTION      
                                         00000114     64 - LOAD_CONST          3
                                         00000117     1F - SLICE+1            
                                         00000118     7D - STORE_FAST          'act'
                                         0000011B     74 - LOAD_GLOBAL         'textutils'
                                         0000011E     69 - LOAD_ATTR           'BaseConvert'
                                         00000121     7C - LOAD_FAST           'act'
                                         00000124     74 - LOAD_GLOBAL         'textutils'
                                         00000127     69 - LOAD_ATTR           'BASE30'
                                         0000012A     74 - LOAD_GLOBAL         'textutils'
                                         0000012D     69 - LOAD_ATTR           'BASE16'
                                         00000130     83 - CALL_FUNCTION      
                                         00000133     7D - STORE_FAST          'hexact'
                                         00000136     78 - SETUP_LOOP          -> 0000015B
                                         00000139     74 - LOAD_GLOBAL         'len'
                                         0000013C     7C - LOAD_FAST           'hexact'
                                         0000013F     83 - CALL_FUNCTION      
                                         00000142     64 - LOAD_CONST          20
                                         00000145     6A - COMPARE_OP          "<"
                                         00000148     6F - JUMP_IF_FALSE       -> 00000159
                                         0000014B     01 - POP_TOP            
                                         0000014C     64 - LOAD_CONST          '0'
                                         0000014F     7C - LOAD_FAST           'hexact'
                                         00000152     17 - BINARY_ADD         
                                         00000153     7D - STORE_FAST          'hexact'
                                         00000156     71 - JUMP_ABSOLUTE       -> 00000139
                                         00000159     01 - POP_TOP            
                                         0000015A     57 - POP_BLOCK          
                                         0000015B     64 - LOAD_CONST          0
                                         0000015E     74 - LOAD_GLOBAL         'config'
                                         00000161     5F - STORE_ATTR          '_locale_valid'
                                         00000164     74 - LOAD_GLOBAL         'control'
                                         00000167     69 - LOAD_ATTR           'validate'
                                         0000016A     7C - LOAD_FAST           'lichash'
                                         0000016D     7C - LOAD_FAST           'lic'
                                         00000170     64 - LOAD_CONST          'os'
                                         00000173     19 - BINARY_SUBSCR      
                                         00000174     7C - LOAD_FAST           'lic'
                                         00000177     64 - LOAD_CONST          'version'
                                         0000017A     19 - BINARY_SUBSCR      
                                         0000017B     7C - LOAD_FAST           'lic'
                                         0000017E     64 - LOAD_CONST          'version'
                                         00000181     19 - BINARY_SUBSCR      
                                         00000182     69 - LOAD_ATTR           'find'
                                         00000185     64 - LOAD_CONST          '.'
                                         00000188     83 - CALL_FUNCTION      
                                         0000018B     20 - SLICE+2            
                                         0000018C     7C - LOAD_FAST           'hexact'
                                         0000018F     83 - CALL_FUNCTION      
                                         00000192     7D - STORE_FAST          'valid'
                                         00000195     74 - LOAD_GLOBAL         'config'
                                         00000198     69 - LOAD_ATTR           '_locale_valid'
                                         0000019B     7D - STORE_FAST          'valid'
                                         0000019E     57 - POP_BLOCK          
                                         0000019F     6E - JUMP_FORWARD        -> 000001AF
                                         000001A2     01 - POP_TOP            
                                         000001A3     01 - POP_TOP            
                                         000001A4     01 - POP_TOP            
                                         000001A5     64 - LOAD_CONST          0
                                         000001A8     7D - STORE_FAST          'valid'
                                         000001AB     6E - JUMP_FORWARD        -> 000001AF
                                         000001AE     58 - END_FINALLY        
                                         000001AF     7C - LOAD_FAST           'valid'
                                         000001B2     70 - JUMP_IF_TRUE        -> 000001C9
                                         000001B5     01 - POP_TOP            
                                         000001B6     74 - LOAD_GLOBAL         'kLicenseCorrupt'
                                         000001B9     74 - LOAD_GLOBAL         '_'
                                         000001BC     64 - LOAD_CONST          'Invalid license activation'
                                         000001BF     83 - CALL_FUNCTION      
                                         000001C2     66 - BUILD_TUPLE        
                                         000001C5     53 - RETURN_VALUE       
                                         000001C6     6E - JUMP_FORWARD        -> 000001CA
                                         000001C9     01 - POP_TOP            
                                         000001CA     7C - LOAD_FAST           'self'
                                         000001CD     69 - LOAD_ATTR           '_GetTermDaysLeft'
                                         000001D0     7C - LOAD_FAST           'lic'
                                         000001D3     83 - CALL_FUNCTION      
                                         000001D6     7D - STORE_FAST          'daysleft'
                                         000001D9     7C - LOAD_FAST           'daysleft'
                                         000001DC     64 - LOAD_CONST          -1
                                         000001DF     6A - COMPARE_OP          "=="
                                         000001E2     6F - JUMP_IF_FALSE       -> 000001F9


找到STR: 'tx00x00dx01x00x83x01x00|x01x00dx02x00<x6x00tx01x00D].x00}x03x00|x01x00ix02x00...' (2F 03 00 00 74 00 00 64 01 00 83 01...) 前面的地址
我的是:000050C2 。(可能不同哦)

找到地址: 0000001DF        000001E2

计算abstract.pyo中 要修改的 地址是多少:直接在终端启动 python,我的是2.6.5版本,hex(0x50C2+0x01E2)
我的结果:0x52a4 。
然后sudo vim -b abstract.pyo
在命令模式下键入 命令
:%!xxd

在命令模式下查找地址
:/0x52a0 (与计算结果 0x52a4 不一样,0x52a4找不到,不明白 )
修改6a为70

然后键入 :%!xxd -r
推出保存  :wq

最后,也是最终目的,然后将src.zip解压,用刚才更改好的abstract.pyo替换src.zip中process目录下的abstract.pyo ,然后在压缩为src.zip ,最后制作好的src.zip替换原来的/bin/2.5/目录下的src.zip

最后重启 Wing IDE 即可。
分享到:

Copyright © 2013-2014 yixinu.com 湘ICP备14004402号

QQ:316686606  Email: 316686606@qq.com