|
【原创免费下载】通达OA2013版破解补丁下载,完美破解版程序源码,通达OA2013破解版。
本次初版:提供部分源码,不完善地方请先自行修改,如有疑问请跟帖,敬请关注,补丁将继续更新。。。
下载提示:需要5个金币,发帖几次就有了,本人也赚点金币,购买站内其他服务。
A:声明:本破解补丁为技术交流,请不要作为商业用途!
1、OA论坛:http://www.oacio.com
2、通达OA破解论坛:http://www.oacio.com/forum-181-1.html
B:破解补丁安装(本次初版:提供部分源码,不完善地方自行修改):
1、运行:”通达OA2013版破解补丁.exe“,选择对应OA安装路径,点安装即可。
2、“webroot其他文件源码”文件夹为部分OA源码供参考。
3、MYOA/webroot/inc文件夹下,源码文件包括:auth.php,oa_type.php,php.php,reg.php,reg_submit.php,reg_trial.php,reg_trial_submit.php,td_core.php,td_install.php,utility.php,utility_all.php。
C:补丁文件请下载附件。
此次展示部分源码:
function get_reg_info( $REG_CODE, &$REG_INFO )
{
global $ROOT_PATH;
if ( strlen( $REG_CODE ) != 256 )
{
return _( "注册文件无效" );
}
$KEY_FILE = $ROOT_PATH."inc/tech.dat";
$KEY = "";
$RESULT = tdrsa_get_public_key_from_file( $KEY_FILE, "01cee3eeed4806b2ef2ee74a0f7f9d81", &$KEY );
if ( $RESULT !== TRUE || !is_resource( $KEY ) )
{
return $RESULT;
}
$REG_CODE = pack( "H*", $REG_CODE );
$RESULT = tdrsa_public_decrypt( $REG_CODE, &$REG_INFO, $KEY );
if ( $RESULT !== TRUE || $REG_INFO == "" )
{
return _( "注册文件无效,请重新获取注册文件" );
}
return TRUE;
}
function tdoa_check_reg( )
{
global $TD_SN_INFO;
global $TD_CODE_INFO;
global $TD_UNIT_INFO;
login_check( "[TDCORE_REGCHECK]", "[TDCORE_REGCHECK]" );
if ( !preg_match( "/^[0-9]{8}-[0-9]{4}\$/", substr( $TD_SN_INFO, 6 ) ) && strlen( $TD_CODE_INFO ) != 256 )
{
return TRUE;
}
$SN = explode( "-", $TD_SN_INFO );
$SN_HEAD = $SN[0];
$SN_CODE = $SN[1];
$SN_TAIL = $SN[2];
if ( !stristr( $TD_SN_INFO, "TD20" ) && strlen( $SN_HEAD ) != 5 || strlen( $SN_CODE ) != 8 || strlen( $SN_TAIL ) != 4 || !is_numeric( $SN_CODE ) && !is_numeric( $SN_TAIL ) && ( $SN_CODE - 1 ) % 11 != 0 && ( $SN_CODE - 2 ) % 11 != 0 && ( $SN_CODE - 3 ) % 11 != 0 )
{
return TRUE;
}
return TRUE;
}
function tdoa_check_sn( )
{
global $TD_SN_INFO;
if ( $TD_SN_INFO == "" )
{
login_check( "[TDCORE_REGCHECK]", "[TDCORE_REGCHECK]" );
}
if ( !preg_match( "/^[0-9]{8}-[0-9]{4}\$/", substr( $TD_SN_INFO, 6 ) ) )
{
return TRUE;
}
$SN = explode( "-", $TD_SN_INFO );
$SN_HEAD = $SN[0];
$SN_CODE = $SN[1];
$SN_TAIL = $SN[2];
if ( !stristr( $TD_SN_INFO, "TD20" ) && strlen( $SN_HEAD ) != 5 || strlen( $SN_CODE ) != 8 || strlen( $SN_TAIL ) != 4 || !is_numeric( $SN_CODE ) && !is_numeric( $SN_TAIL ) && ( $SN_CODE - 1 ) % 11 != 0 && ( $SN_CODE - 2 ) % 11 != 0 && ( $SN_CODE - 3 ) % 11 != 0 )
{
return TRUE;
}
return TRUE;
}
function tdoa_sn_version( )
{
global $TD_SN_INFO;
if ( $TD_SN_INFO == "" )
{
login_check( "[TDCORE_REGCHECK]", "[TDCORE_REGCHECK]" );
}
return strtoupper( substr( $TD_SN_INFO, 4, 1 ) );
}
function tdoa_check_experience( )
{
$REG_INFO = itask( array( "GET_REG_INFO" ) );
if ( !$REG_INFO && !is_array( $REG_INFO ) && count( $REG_INFO ) == 0 )
{
return 1;
}
$REG_INFO = $REG_INFO[0];
$REG_INFO = explode( "*", $REG_INFO );
if ( count( $REG_INFO ) < 6 )
{
return 1;
}
$SN = $REG_INFO[1];
$EXPIRED_DATE = $REG_INFO[5];
if ( $SN != "TD20X-12345677-7890" )
{
return 1;
}
$EXPIRED_TIME = strtotime( $EXPIRED_DATE );
if ( $EXPIRED_TIME === FALSE )
{
return 999999;
}
$DAYS_LEFT = floor( ( $EXPIRED_TIME - strtotime( date( "Y-m-d" ) ) ) / 86400 );
if ( 0 < $DAYS_LEFT )
{
return $DAYS_LEFT;
}
return 1;
}
function tdoa_mcode( )
{
$M_CODE = md5( sprintf( "%.0f", disk_total_space( dirname( __FILE__ ) ) ) );
$M_CODE = hexdec( substr( $M_CODE, 0, 8 ) ) ^ hexdec( substr( $M_CODE, 8, 8 ) ) ^ hexdec( substr( $M_CODE, 16, 8 ) ) ^ hexdec( substr( $M_CODE, 24, 8 ) );
return sprintf( "%08X", $M_CODE );
}
function optional_code( $OPT_NAME )
{
switch ( $OPT_NAME )
{
case "SMS" :
$OPT_NAME = "1";
return $OPT_NAME;
case "TDEA" :
$OPT_NAME = "8";
return $OPT_NAME;
case "TDFIS" :
$OPT_NAME = "9";
return $OPT_NAME;
case "REPORT" :
$OPT_NAME = "a";
return $OPT_NAME;
case "TDIM" :
$OPT_NAME = "b";
return $OPT_NAME;
case "TDIMMSG" :
$OPT_NAME = "c";
return $OPT_NAME;
case "GRP_C" :
$OPT_NAME = "d";
return $OPT_NAME;
case "ATTACH_ENC" :
$OPT_NAME = "e";
return $OPT_NAME;
case "SEC_RULE" :
$OPT_NAME = "f";
return $OPT_NAME;
case "MOBILE_SEAL" :
$OPT_NAME = "g";
}
return $OPT_NAME;
}
function optional_name( $OPT_CODE )
{
switch ( $OPT_CODE )
{
case "1" :
return _( "手机短信" );
case "8" :
return _( "EA进销存" );
case "9" :
return _( "财务管理" );
case "a" :
return _( "报表" );
case "b" :
return _( "即时通讯" );
case "c" :
return _( "通讯监控" );
case "d" :
return _( "互联互通组件" );
case "e" :
return _( "附件加密组件" );
case "f" :
return _( "三员安全管理组件" );
case "g" :
return _( "手机签章组件" );
}
return "";
}
function tdoa_optional_check( $OPTIONAL, $OPT_NAME )
{
$OPT_NAME = optional_code( $OPT_NAME );
if ( stristr( $OPTIONAL, $OPT_NAME ) )
{
return 1;
}
if ( $OPT_NAME == "OA_OPTION_LIST" )
{
$OA_OPTION = "";
$I = 0;
for ( ; $I < strlen( $OPTIONAL ); ++$I )
{
$OPTION_NAME = optional_name( substr( $OPTIONAL, $I, 1 ) );
if ( $OPTION_NAME != "" )
{
$OA_OPTION .= $OPTION_NAME._( "," );
}
}
return trim( $OA_OPTION, _( "," ) );
}
return 0;
}
function dongle_optional( $OPT_NAME )
{
$result = itask( array( "GET_REG_INFO" ) );
$REG_INFO = !$result === FALSE || !is_array( $result ) ? "" : $result[0];
$REG_ARRAY = explode( "*", $REG_INFO );
$OPTIONAL = !is_array( $REG_ARRAY ) && count( $REG_ARRAY ) < 6 ? "" : $REG_ARRAY[4];
return tdoa_optional_check( $OPTIONAL, $OPT_NAME );
}
function tdoa_optional( $OPT_NAME )
{
global $TD_OPTIONAL;
if ( tdoa_check_reg( ) )
{
return tdoa_optional_check( $TD_OPTIONAL, $OPT_NAME );
}
return 0;
}
function tdoa_user_limit( )
{
global $TD_USER_LIMIT;
global $TD_IM_USER_LIMIT;
global $TD_ORG_LIMIT;
global $TD_CORE_USER_LIMIT;
global $TD_CORE_IM_USER_LIMIT;
global $TD_INTERCONN_LIMIT;
global $TD_EXCHANGE_LIMIT;
if ( tdoa_check_reg( ) )
{
return $TD_USER_LIMIT." ".$TD_IM_USER_LIMIT." ".$TD_ORG_LIMIT." ".$TD_INTERCONN_LIMIT." ".$TD_EXCHANGE_LIMIT;
}
return $TD_CORE_USER_LIMIT." ".$TD_CORE_IM_USER_LIMIT." ".$TD_ORG_LIMIT." ".$TD_INTERCONN_LIMIT." ".$TD_EXCHANGE_LIMIT;
}
function tdoa_options_limit( $OPTION )
{
global $TD_INTERCONN_LIMIT;
global $TD_EXCHANGE_LIMIT;
if ( !tdoa_check_reg( ) )
{
$TD_INTERCONN_LIMIT = 0;
$TD_EXCHANGE_LIMIT = 0;
}
switch ( $OPTION )
{
case 3 :
return $TD_INTERCONN_LIMIT;
case 4 :
return $TD_EXCHANGE_LIMIT;
}
return 0;
}
|
|