阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

手机号码,快捷登录

老司机
查看: 2578|回复: 6

[原创] 通达部分源代码不能正常还原的解决方法(高手必看)

[复制链接]
  • TA的每日心情
    开心
    2011-10-31 07:58
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2011-9-18 11:01:14 | 显示全部楼层 |阅读模式
         通达的php并不是都能通过dezend还原成源代码,但却可以还原成opcode,如utility_all.php就不能正常还原,你若能读懂下面的opcode代码,就没有任何问题了,并可以据此手工还原出php代码,高手必看!

    反编译utility_all.php时,就是在以下函数第60行出现异常的,看不懂的抽空教大家。

    function netMatch( )
    {
         0  RECV                         [-]   0[1] $network - 1 -
         1  RECV                         [-]   0[1] $ip - 2 -
         2  USER_OPCODE                  [-]   0[0] =trim( ... )
         3  SEND_VAR                     [-]  61[0]  - $network -
         4  DO_FCALL_BY_NAME             [-]   1[0] $Var_24 -  -
         5  ASSIGN                       [-]   0[1] $Var_48 - $network - $Var_24
         6  USER_OPCODE                  [-]   0[0] =trim( ... )
         7  SEND_VAR                     [-]  61[0]  - $ip -
         8  DO_FCALL_BY_NAME             [-]   1[0] $Var_24 -  -
         9  ASSIGN                       [-]   0[1] $Var_48 - $ip - $Var_24
        10  USER_OPCODE                  [-]   0[0] =strpos( ... )
        11  SEND_VAR                     [-]  61[0]  - $network -
        12  SEND_VAL                     [-]  61[0]  - "-" -
        13  DO_FCALL_BY_NAME             [-]   2[0] $Var_24 -  -
        14  ASSIGN                       [-]   0[1] $Var_48 - $d - $Var_24
        15  IS_IDENTICAL                 [-]   0[0] $Tmp_1 - $d - FALSE
        16  JMPZ                         [-]   0[0]  - $Tmp_1->62
        17  USER_OPCODE                  [-]   0[0] =explode( ... )
        18  SEND_VAL                     [-]  61[0]  - "%2F" -
        19  SEND_VAR                     [-]  61[0]  - $network -
        20  DO_FCALL_BY_NAME             [-]   2[0] $Var_24 -  -
        21  ASSIGN                       [-]   0[1] $Var_48 - $ip_arr - $Var_24
        22  USER_OPCODE                  [-]   0[0] =preg_match( ... )
        23  SEND_VAL                     [-]  61[0]  - "%40%5Cd%2A%5C.%5Cd%2A%5C.%5Cd%2A%5C.%5Cd%2A%40" -
        24  FETCH_DIM_FUNC_ARG           [-]   2[0] $Var_24 - $ip_arr - 0
        25  SEND_VAR                     [-]  61[0]  - $Var_24 -
        26  SEND_VAR                     [-]  61[0]  - $matches -
        27  DO_FCALL_BY_NAME             [-]   3[0] $Var_24 -  -
        28  JMPNZ                        [-]   0[0]  - $Var_24->31
        29  ASSIGN_CONCAT                [-] 147[1] $Var_24 - $ip_arr - 0
        30  OP_DATA                      [-]   0[0] [0]".0" - $Var_0
        31  USER_OPCODE                  [-]   0[0] =ip2long( ... )
        32  FETCH_DIM_FUNC_ARG           [-]   1[0] $Var_0 - $ip_arr - 0
        33  SEND_VAR                     [-]  61[0]  - $Var_0 -
        34  DO_FCALL_BY_NAME             [-]   1[0] $Var_0 -  -
        35  ASSIGN                       [-]   0[1] $Var_24 - $network_long - $Var_0
        36  USER_OPCODE                  [-]   0[0] =ip2long( ... )
        37  FETCH_DIM_FUNC_ARG           [-]   1[0] $Var_0 - $ip_arr - 1
        38  SEND_VAR                     [-]  61[0]  - $Var_0 -
        39  DO_FCALL_BY_NAME             [-]   1[0] $Var_0 -  -
        40  ASSIGN                       [-]   0[1] $Var_24 - $x - $Var_0
        41  USER_OPCODE                  [-]   0[0] =long2ip( ... )
        42  SEND_VAR                     [-]  61[0]  - $x -
        43  DO_FCALL_BY_NAME             [-]   1[0] $Var_24 -  -
        44  FETCH_DIM_R                  [-]   0[0] $Var_48 - $ip_arr - 1
        45  IS_EQUAL                     [-]   0[0] $Tmp_0 - $Var_24 - $Var_48
        46  JMPZ                         [-]   0[0]  - $Tmp_0->49
        47  QM_ASSIGN                    [-]   0[0] $Tmp_0 - $x -
        48  JMP                          [-]   0[0]  - ->53 -
        49  FETCH_DIM_R                  [-]   0[0] $Var_24 - $ip_arr - 1
        50  SUB                          [-]   0[0] $Tmp_2 - 32 - $Var_24
        51  SL                           [-]   0[0] $Tmp_1 - -1 - $Tmp_2
        52  QM_ASSIGN                    [-]   0[0] $Tmp_0 - $Tmp_1 -
        53  ASSIGN                       [-]   0[1] $Var_24 - $mask - $Tmp_0
        54  USER_OPCODE                  [-]   0[0] =ip2long( ... )
        55  SEND_VAR                     [-]  61[0]  - $ip -
        56  DO_FCALL_BY_NAME             [-]   1[0] $Var_0 -  -
        57  ASSIGN                       [-]   0[1] $Var_24 - $ip_long - $Var_0
        58  BW_AND                       [-]   0[0] $Tmp_1 - $ip_long - $mask
        59  BW_AND                       [-]   0[0] $Tmp_2 - $network_long - $mask
        60  IS_EQUAL                     [-]   0[0] $Tmp_0 - $Tmp_1 - $Tmp_2
        61  RETURN                       [-]   0[0]  - $Tmp_0 -
        62  USER_OPCODE                  [-]   0[0] =ip2long( ... )
        63  USER_OPCODE                  [-]   0[0] =trim( ... )
        64  USER_OPCODE                  [-]   0[0] =substr( ... )
        65  SEND_VAR                     [-]  61[0]  - $network -
        66  SEND_VAL                     [-]  61[0]  - 0 -
        67  SEND_VAR                     [-]  61[0]  - $d -
        68  DO_FCALL_BY_NAME             [-]   3[0] $Var_0 -  -
        69  SEND_VAR_NO_REF              [-]   4[0]  - $Var_0 -
        70  DO_FCALL_BY_NAME             [-]   1[0] $Var_0 -  -
        71  SEND_VAR_NO_REF              [-]   4[0]  - $Var_0 -
        72  DO_FCALL_BY_NAME             [-]   1[0] $Var_0 -  -
        73  ASSIGN                       [-]   0[1] $Var_24 - $from - $Var_0
        74  USER_OPCODE                  [-]   0[0] =ip2long( ... )
        75  USER_OPCODE                  [-]   0[0] =trim( ... )
        76  USER_OPCODE                  [-]   0[0] =substr( ... )
        77  SEND_VAR                     [-]  61[0]  - $network -
        78  ADD                          [-]   0[0] $Tmp_0 - $d - 1
        79  SEND_VAL                     [-]  61[0]  - $Tmp_0 -
        80  DO_FCALL_BY_NAME             [-]   2[0] $Var_0 -  -
        81  SEND_VAR_NO_REF              [-]   4[0]  - $Var_0 -
        82  DO_FCALL_BY_NAME             [-]   1[0] $Var_0 -  -
        83  SEND_VAR_NO_REF              [-]   4[0]  - $Var_0 -
        84  DO_FCALL_BY_NAME             [-]   1[0] $Var_0 -  -
        85  ASSIGN                       [-]   0[1] $Var_24 - $to - $Var_0
        86  USER_OPCODE                  [-]   0[0] =ip2long( ... )
        87  SEND_VAR                     [-]  61[0]  - $ip -
        88  DO_FCALL_BY_NAME             [-]   1[0] $Var_0 -  -
        89  ASSIGN                       [-]   0[1] $Var_24 - $ip - $Var_0
        90  IS_SMALLER_OR_EQUAL          [-]   0[0] $Tmp_0 - $from - $ip
        91  JMPZ_EX                      [-]   0[0] $Tmp_0 - $Tmp_0->93
        92  IS_SMALLER_OR_EQUAL          [-]   0[0] $Tmp_0 - $ip - $to
        93  RETURN                       [-]   0[0]  - $Tmp_0 -
        94  HANDLE_EXCEPTION             [-] 200[0]  -  -  -
    }
    楼主热帖
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2012-8-10 09:57
  • 签到天数: 141 天

    [LV.7]常住居民III

    发表于 2011-9-18 14:43:50 | 显示全部楼层
    哇,这是那个大侠的马甲啊~~~~~~~~~!
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    无聊
    2020-7-26 16:28
  • 签到天数: 490 天

    [LV.9]以坛为家II

    发表于 2011-10-20 09:56:18 | 显示全部楼层
    好啊,大师给翻译下一啊!opcode代码不懂啊!
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    郁闷
    2012-11-6 11:35
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    发表于 2011-11-22 12:50:02 | 显示全部楼层
    我也向要反编译源代码,怎么弄啊,谁知道啊
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    奋斗
    2016-3-18 10:16
  • 签到天数: 602 天

    [LV.9]以坛为家II

    发表于 2011-11-22 12:59:50 | 显示全部楼层
    汇编出来的。难以理解了:L:L:L:L
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2013-3-1 16:46
  • 签到天数: 238 天

    [LV.7]常住居民III

    发表于 2011-12-7 08:39:14 | 显示全部楼层
    好啊,大师给翻译下一啊!opcode代码不懂啊!不过没有看到LZ的解决办法,期待一下
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情

    2017-8-22 11:18
  • 签到天数: 1510 天

    [LV.Master]伴坛终老

    发表于 2011-12-7 08:53:23 | 显示全部楼层
                    opcode代码不懂,有空楼主教教我们这些小虾米。呵……
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表