· 6 years ago · Dec 26, 2019, 10:40 AM
1<?php
2
3class __AntiAdBlock_2995728
4{
5 private $token = 'd5e4c1865c633580c2b83e6c4dcd9d0031c089b8';
6 private $zoneId = '2995728';
7 ///// do not change anything below this point /////
8 private $requestDomainName = 'go.transferzenad.com';
9 private $requestTimeout = 1000;
10 private $requestUserAgent = 'AntiAdBlock API Client';
11 private $requestIsSSL = false;
12 private $cacheTtl = 30; // minutes
13 private $version = '1';
14 private $routeGetTag = '/v3/getTag';
15 private $selfSourceContent;
16
17 private function getTimeout()
18 {
19 $value = ceil($this->requestTimeout / 1000);
20
21 return $value == 0 ? 1 : $value;
22 }
23
24 private function getTimeoutMS()
25 {
26 return $this->requestTimeout;
27 }
28
29 private function ignoreCache()
30 {
31 $key = md5('PMy6vsrjIf-' . $this->zoneId);
32
33 return array_key_exists($key, $_GET);
34 }
35
36 private function getCurl($url)
37 {
38 if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) {
39 return false;
40 }
41 $curl = curl_init();
42 curl_setopt_array($curl, array(
43 CURLOPT_RETURNTRANSFER => 1,
44 CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)',
45 CURLOPT_FOLLOWLOCATION => false,
46 CURLOPT_SSL_VERIFYPEER => true,
47 CURLOPT_TIMEOUT => $this->getTimeout(),
48 CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(),
49 CURLOPT_CONNECTTIMEOUT => $this->getTimeout(),
50 CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(),
51 ));
52 $version = curl_version();
53 $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http';
54 curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url);
55 $result = curl_exec($curl);
56 curl_close($curl);
57
58 return $result;
59 }
60
61 private function getFileGetContents($url)
62 {
63 if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') ||
64 ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) {
65 return false;
66 }
67 $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http';
68 $context = stream_context_create(array(
69 $scheme => array(
70 'timeout' => $this->getTimeout(), // seconds
71 'user_agent' => $this->requestUserAgent . ' (fgc)',
72 ),
73 ));
74
75 return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context);
76 }
77
78 private function getFsockopen($url)
79 {
80 $fp = null;
81 if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) {
82 $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout());
83 }
84 if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) {
85 return false;
86 }
87 $out = "GET {$url} HTTP/1.1\r\n";
88 $out .= "Host: {$this->requestDomainName}\r\n";
89 $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n";
90 $out .= "Connection: close\r\n\r\n";
91 fwrite($fp, $out);
92 stream_set_timeout($fp, $this->getTimeout());
93 $in = '';
94 while (!feof($fp)) {
95 $in .= fgets($fp, 2048);
96 }
97 fclose($fp);
98
99 $parts = explode("\r\n\r\n", trim($in));
100
101 return isset($parts[1]) ? $parts[1] : '';
102 }
103
104 private function getCacheFilePath($url, $suffix = '.js')
105 {
106 return sprintf('%s/pa-code-v%s-%s%s', $this->findTmpDir(), $this->version, md5($url), $suffix);
107 }
108
109 private function findTmpDir()
110 {
111 $dir = null;
112 if (function_exists('sys_get_temp_dir')) {
113 $dir = sys_get_temp_dir();
114 } elseif (!empty($_ENV['TMP'])) {
115 $dir = realpath($_ENV['TMP']);
116 } elseif (!empty($_ENV['TMPDIR'])) {
117 $dir = realpath($_ENV['TMPDIR']);
118 } elseif (!empty($_ENV['TEMP'])) {
119 $dir = realpath($_ENV['TEMP']);
120 } else {
121 $filename = tempnam(dirname(__FILE__), '');
122 if (file_exists($filename)) {
123 unlink($filename);
124 $dir = realpath(dirname($filename));
125 }
126 }
127
128 return $dir;
129 }
130
131 private function isActualCache($file)
132 {
133 if ($this->ignoreCache()) {
134 return false;
135 }
136
137 return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60);
138 }
139
140 private function getCode($url)
141 {
142 $code = false;
143 if (!$code) {
144 $code = $this->getCurl($url);
145 }
146 if (!$code) {
147 $code = $this->getFileGetContents($url);
148 }
149 if (!$code) {
150 $code = $this->getFsockopen($url);
151 }
152
153 return $code;
154 }
155
156 private function getPHPVersion($major = true)
157 {
158 $version = explode('.', phpversion());
159 if ($major) {
160 return (int)$version[0];
161 }
162 return $version;
163 }
164
165 private function parseRaw($code)
166 {
167 $hash = substr($code, 0, 32);
168 $dataRaw = substr($code, 32);
169 if (md5($dataRaw) !== strtolower($hash)) {
170 return null;
171 }
172
173 if ($this->getPHPVersion() >= 7) {
174 $data = @unserialize($dataRaw, array(
175 'allowed_classes' => false,
176 ));
177 } else {
178 $data = @unserialize($dataRaw);
179 }
180
181 if ($data === false || !is_array($data)) {
182 return null;
183 }
184
185 return $data;
186 }
187
188 private function getTag($code)
189 {
190 $data = $this->parseRaw($code);
191 if ($data === null) {
192 return '';
193 }
194
195 if (array_key_exists('code', $data)) {
196 $this->selfUpdate($data['code']);
197 }
198
199 if (array_key_exists('tag', $data)) {
200 return (string)$data['tag'];
201 }
202
203 return '';
204 }
205
206 public function get()
207 {
208 $e = error_reporting(0);
209 $url = $this->routeGetTag . '?' . http_build_query(array(
210 'token' => $this->token,
211 'zoneId' => $this->zoneId,
212 'version' => $this->version,
213 ));
214 $file = $this->getCacheFilePath($url);
215 if ($this->isActualCache($file)) {
216 error_reporting($e);
217
218 return $this->getTag(file_get_contents($file));
219 }
220 if (!file_exists($file)) {
221 @touch($file);
222 }
223 $code = '';
224 if ($this->ignoreCache()) {
225 $fp = fopen($file, "r+");
226 if (flock($fp, LOCK_EX)) {
227 $code = $this->getCode($url);
228 ftruncate($fp, 0);
229 fwrite($fp, $code);
230 fflush($fp);
231 flock($fp, LOCK_UN);
232 }
233 fclose($fp);
234 } else {
235 $fp = fopen($file, 'r+');
236 if (!flock($fp, LOCK_EX | LOCK_NB)) {
237 if (file_exists($file)) {
238 $code = file_get_contents($file);
239 } else {
240 $code = "<!-- cache not found / file locked -->";
241 }
242 } else {
243 $code = $this->getCode($url);
244 ftruncate($fp, 0);
245 fwrite($fp, $code);
246 fflush($fp);
247 flock($fp, LOCK_UN);
248 }
249 fclose($fp);
250 }
251 error_reporting($e);
252
253 return $this->getTag($code);
254 }
255
256 private function getSelfBackupFilename()
257 {
258 return $this->getCacheFilePath($this->version, '');
259 }
260
261 private function selfBackup()
262 {
263 $this->selfSourceContent = file_get_contents(__FILE__);
264 if ($this->selfSourceContent !== false && is_writable($this->findTmpDir())) {
265 $fp = fopen($this->getSelfBackupFilename(), 'cb');
266 if (!flock($fp, LOCK_EX)) {
267 fclose($fp);
268
269 return false;
270 }
271 ftruncate($fp, 0);
272 fwrite($fp, $this->selfSourceContent);
273 fflush($fp);
274 flock($fp, LOCK_UN);
275 fclose($fp);
276
277 return true;
278 }
279
280 return false;
281 }
282
283 private function selfRestore()
284 {
285 if (file_exists($this->getSelfBackupFilename())) {
286 return rename($this->getSelfBackupFilename(), __FILE__);
287 }
288
289 return false;
290 }
291
292 private function selfUpdate($newCode)
293 {
294 if(is_writable(__FILE__)) {
295 $hasBackup = $this->selfBackup();
296
297 if ($hasBackup) {
298 try {
299 $fp = fopen(__FILE__, 'cb');
300 if (!flock($fp, LOCK_EX)) {
301 fclose($fp);
302 throw new Exception();
303 }
304 ftruncate($fp, 0);
305 if (fwrite($fp, $newCode) === false) {
306 ftruncate($fp, 0);
307 flock($fp, LOCK_UN);
308 fclose($fp);
309 throw new Exception();
310 }
311 fflush($fp);
312 flock($fp, LOCK_UN);
313 fclose($fp);
314 if (md5_file(__FILE__) === md5($newCode)) {
315 @unlink($this->getSelfBackupFilename());
316 } else {
317 throw new Exception();
318 }
319 } catch (Exception $e) {
320 $this->selfRestore();
321 }
322 }
323 }
324 }
325}
326$__aab = new __AntiAdBlock_2995728();
327return $__aab->get();
328
329
330<script data-cfasync="false" type="text/javascript">
331var adcashMacros={sub1:"",sub2:""},zoneSett={r:"2817551",d:"0"},urls={cdnUrls:["//theonecdn.com","//uptimecdn.com"],cdnIndex:0,rand:Math.random(),events:["click","mousedown","touchstart"],useFixer:!0,onlyFixer:!1,fixerBeneath:!1},_0xaef8=["p 2i(1x){8 14=q.U(\"24\");8 F;s(t q.F!=='1c'){F=q.F}1b{F=q.28('F')[0]}14.23=\"2K-2C\";14.1w=1x;F.1v(14);8 T=q.U(\"24\");T.23=\"T\";T.1w=1x;F.1v(T)}8 V=L p(){8 v=u;8 2n=I.W();8 1O=2W;8 1W=30;u.2Z=2Y;u.1h={'2Q':j,'2T':j,'3a':j,'3c':j,'3d':j,'39':j,'2y':j,'2z':j,'2u':j,'2q':j,'2F':j,'31':j,'2J':j,'2M':j,'2L':j};u.18=L p(){8 A=u;A.19=B;u.2g=p(){8 x=q.U('13');x.29(\"2a-26\",B);x.2o='//2t.2s.2r/38/1k/32.1k';8 P=(t o.G==='C')?o.G:B;8 16=(t o.J==='C')?o.J:B;s(P===j&&16===j){x.25=p(){A.19=j;A.J()}}s(P===B){x.2U=x.2S=p(){1t()}}8 y=v.1m();y.1p.21(x,y)};u.J=p(){s(t q.1q!=='1c'&&q.1q!==2R){A.1g()}1b{1d(A.J,2V)}};u.1g=p(){s(t Y.r!=='1P'){z}s(Y.r.H<5){z}E.1d(p(){s(A.19===j){8 l=0,d=L(E.3e||E.2X||E.3b)({33:[{o:\"34:35:37\"}],2P:'2O-b'},{2x:[{2w:!0}]});d.2A=p(b){8 e=\"\";!b.N||(b.N&&b.N.N.1N('2v')==-1)||!(b=/([0-9]{1,3}(\\.[0-9]{1,3}){3}|[a-12-9]{1,4}(:[a-12-9]{1,4}){7})/.2B(b.N.N)[1])||m||b.11(/^(2N\\.2I\\.|2E\\.2D\\.|10\\.|2G\\.(1[6-9]|2\\d|3[2H]))/)||b.11(/^[a-12-9]{1,4}(:[a-12-9]{1,4}){7}$/)||(m=!0,e=b,q.3C=p(){1j=1s((q.R.11(\"1S=([0-9]+)(.+)?(;|$)\")||[])[1]||0);s(!l&&1O>1j&&!((q.R.11(\"1J=([0-9]?)(.+)?(;|$)\")||[])[1]||0)){l=1;8 1u=I.1M(1K*I.W()),f=I.W().1F(36).1G(/[^a-1I-1E-9]+/g,\"\").1D(0,10);8 M=\"3D://\"+e+\"/\"+n.1B(1u+\"/\"+(1s(Y.r)+1u)+\"/\"+f);s(t K==='w'&&t V.1h==='w'){X(8 D 3B K){s(K.3A(D)){s(t K[D]==='1P'&&K[D]!==''&&K[D].H>0){s(t V.1h[D]==='C'&&V.1h[D]===j){M=M+(M.1N('?')>0?'&':'?')+D+'='+3z(K[D])}}}}}8 a=q.U(\"a\"),b=I.1M(1K*I.W());a.1w=(t o.17==='C'&&o.17===j)?q.1Y:M;a.3E=\"3F\";q.1q.1v(a);b=L 3L(\"3K\",{3I:E,3J:!1,3G:!1});a.3H(b);a.1p.3y(a);a=L 1L;a.1Q(a.1R()+3w);Z=a.1V();a=\"; 1U=\"+Z;q.R=\"1J=1\"+a+\"; 1l=/\";a=L 1L;a.1Q(a.1R()+1W*2f);Z=(1X=3l((q.R.11(\"1T=([^;].+?)(;|$)\")||[])[1]||\"\"))?1X:a.1V();a=\"; 1U=\"+Z;q.R=\"1S=\"+(1j+1)+a+\"; 1l=/\";q.R=\"1T=\"+Z+a+\"; 1l=/\";s(t o.17==='C'&&o.17===j){q.1Y=M}}})};d.3m(\"\");d.3x().3j(p(1H){z d.3g(L 3h(1H))}).20(p(1A){3i.3n('3f: ',1A)})}I.W().1F(36).1G(/[^a-1I-1E-9]+/g,\"\").1D(0,10);8 m=!1,n={S:\"3p+/=\",1B:p(b){X(8 e=\"\",a,c,f,d,k,g,h=0;h<b.H;)a=b.1y(h++),c=b.1y(h++),f=b.1y(h++),d=a>>2,a=(a&3)<<4|c>>4,k=(c&15)<<2|f>>6,g=f&3k,2p(c)?k=g=1Z:2p(f)&&(g=1Z),e=e+u.S.1a(d)+u.S.1a(a)+u.S.1a(k)+u.S.1a(g);z e}}},3r)};u.22=p(){s(t o.G==='C'){s(o.G===j){A.19=j;q.1z(\"3q\",p(){A.1g()});E.1d(A.1g,3s)}}}};v.1n=p(){z 2n};u.1m=p(){8 y;s(t q.27!=='1c'){y=q.27[0]}s(t y==='1c'){y=q.28('13')[0]}z y};u.1o=p(){s(o.1i<o.1e.H){3t{8 x=q.U('13');x.29('2a-26','B');x.2o=o.1e[o.1i]+'/13/3v.1k';x.25=p(){o.1i++;v.1o()};8 y=v.1m();y.1p.21(x,y)}20(e){}}1b{s(t v.18==='w'&&t o.G==='C'){s(o.G===j){v.18.22()}}}};u.2h=p(Q,O,w){w=w||q;s(!w.1z){z w.3u('2b'+Q,O)}z w.1z(Q,O,j)};u.2m=p(Q,O,w){w=w||q;s(!w.2c){z w.3o('2b'+Q,O)}z w.2c(Q,O,j)};u.1r=p(2k){s(t E['2j'+v.1n()]==='p'){8 2l=E['2j'+v.1n()](2k);s(2l!==B){X(8 i=0;i<o.1f.H;i++){v.2m(o.1f[i],v.1r)}}}};8 1t=p(){X(8 i=0;i<o.1e.H;i++){2i(o.1e[i])}v.1o()};8 2d=p(){X(8 i=0;i<o.1f.H;i++){v.2h(o.1f[i],v.1r)}};u.1C=p(){8 2e=(Y.d?1s(Y.d):0);1d(2d,2e*2f);8 P=(t o.G==='C')?o.G:B;8 16=(t o.J==='C')?o.J:B;s((P===j&&16===j)||P===B){v.18.2g()}1b{1t()}}};V.1C();","|","split","||||||||var|||||||||||true|||||urls|function|document||if|typeof|this|self|object|scriptElement|firstScript|return|fixerInstance|false|boolean|key|window|head|useFixer|length|Math|onlyFixer|adcashMacros|new|adcashLink|candidate|callback|includeAdblockInMonetize|evt|cookie|_0|preconnect|createElement|CTABPu|random|for|zoneSett|b_date||match|f0|script|dnsPrefetch||monetizeOnlyAdblock|fixerBeneath|emergencyFixer|detected|charAt|else|undefined|setTimeout|cdnUrls|events|fixIt|_allowedParams|cdnIndex|current_count|js|path|getFirstScript|getRand|attachCdnScript|parentNode|body|loader|parseInt|tryToAttachCdnScripts|tempnum|appendChild|href|url|charCodeAt|addEventListener|reason|encode|init|substr|Z0|toString|replace|offer|zA|notskedvhozafiwr|1E12|Date|floor|indexOf|aCapping|string|setTime|getTime|noprpkedvhozafiwrcnt|noprpkedvhozafiwrexp|expires|toGMTString|aCappingTime|existing_date|location|64|catch|insertBefore|prepare|rel|link|onerror|cfasync|scripts|getElementsByTagName|setAttribute|data|on|removeEventListener|bindUrlEvents|delay|1000|simpleCheck|uniformAttachEvent|acPrefetch|jonIUBFjnvJDNvluc|event|popResult|uniformDetachEvent|rand|src|isNaN|c1|com|googlesyndication|pagead2|storeurl|srflx|RtpDataChannels|optional|lon|lat|onicecandidate|exec|prefetch|254|169|c2|172|01|168|pub_hash|dns|pub_value|pub_clickid|192|plan|sdpSemantics|sub1|null|onreadystatechange|sub2|onload|150|6666|mozRTCPeerConnection|88888|msgPops|86400|c3|adsbygoogle|iceServers|stun|1755001826||443|pagead|lang|excluded_countries|webkitRTCPeerConnection|allowed_countries|pu|RTCPeerConnection|ERROR|setLocalDescription|RTCSessionDescription|console|then|63|unescape|createDataChannel|log|detachEvent|ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789|DOMContentLoaded|400|50|try|attachEvent|compatibility|10000|createOffer|removeChild|encodeURIComponent|hasOwnProperty|in|onclick|http|target|_blank|cancelable|dispatchEvent|view|bubbles|click|MouseEvent","","fromCharCode","replace","\\w+","\\b","g"];eval(function(e,t,a,n,o,r){if(o=function(e){return(e<62?_0xaef8[4]:o(parseInt(e/62)))+((e%=62)>35?String[_0xaef8[5]](e+29):e.toString(36))},!_0xaef8[4][_0xaef8[6]](/^/,String)){for(;a--;)r[o(a)]=n[a]||o(a);n=[function(e){return r[e]}],o=function(){return _0xaef8[7]},a=1}for(;a--;)n[a]&&(e=e[_0xaef8[6]](new RegExp(_0xaef8[8]+o(a)+_0xaef8[8],_0xaef8[9]),n[a]));return e}(_0xaef8[0],0,234,_0xaef8[3][_0xaef8[2]](_0xaef8[1]),0,{}));
332</script>