Advertisement
Guest User

Untitled

a guest
Jan 31st, 2013
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.70 KB | None | 0 0
  1. <html><head><title>comtube sender</title>
  2.  
  3. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  4.  
  5. <script>
  6.  
  7. var MD5 = function (string) {
  8.  
  9.  
  10.  
  11. function RotateLeft(lValue, iShiftBits) {
  12.  
  13. return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits));
  14.  
  15. }
  16.  
  17.  
  18.  
  19. function AddUnsigned(lX,lY) {
  20.  
  21. var lX4,lY4,lX8,lY8,lResult;
  22.  
  23. lX8 = (lX & 0x80000000);
  24.  
  25. lY8 = (lY & 0x80000000);
  26.  
  27. lX4 = (lX & 0x40000000);
  28.  
  29. lY4 = (lY & 0x40000000);
  30.  
  31. lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
  32.  
  33. if (lX4 & lY4) {
  34.  
  35. return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
  36.  
  37. }
  38.  
  39. if (lX4 | lY4) {
  40.  
  41. if (lResult & 0x40000000) {
  42.  
  43. return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
  44.  
  45. } else {
  46.  
  47. return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
  48.  
  49. }
  50.  
  51. } else {
  52.  
  53. return (lResult ^ lX8 ^ lY8);
  54.  
  55. }
  56.  
  57. }
  58.  
  59.  
  60.  
  61. function F(x,y,z) { return (x & y) | ((~x) & z); }
  62.  
  63. function G(x,y,z) { return (x & z) | (y & (~z)); }
  64.  
  65. function H(x,y,z) { return (x ^ y ^ z); }
  66.  
  67. function I(x,y,z) { return (y ^ (x | (~z))); }
  68.  
  69.  
  70.  
  71. function FF(a,b,c,d,x,s,ac) {
  72.  
  73. a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
  74.  
  75. return AddUnsigned(RotateLeft(a, s), b);
  76.  
  77. };
  78.  
  79.  
  80.  
  81. function GG(a,b,c,d,x,s,ac) {
  82.  
  83. a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
  84.  
  85. return AddUnsigned(RotateLeft(a, s), b);
  86.  
  87. };
  88.  
  89.  
  90.  
  91. function HH(a,b,c,d,x,s,ac) {
  92.  
  93. a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
  94.  
  95. return AddUnsigned(RotateLeft(a, s), b);
  96.  
  97. };
  98.  
  99.  
  100.  
  101. function II(a,b,c,d,x,s,ac) {
  102.  
  103. a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));
  104.  
  105. return AddUnsigned(RotateLeft(a, s), b);
  106.  
  107. };
  108.  
  109.  
  110.  
  111. function ConvertToWordArray(string) {
  112.  
  113. var lWordCount;
  114.  
  115. var lMessageLength = string.length;
  116.  
  117. var lNumberOfWords_temp1=lMessageLength + 8;
  118.  
  119. var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;
  120.  
  121. var lNumberOfWords = (lNumberOfWords_temp2+1)*16;
  122.  
  123. var lWordArray=Array(lNumberOfWords-1);
  124.  
  125. var lBytePosition = 0;
  126.  
  127. var lByteCount = 0;
  128.  
  129. while ( lByteCount < lMessageLength ) {
  130.  
  131. lWordCount = (lByteCount-(lByteCount % 4))/4;
  132.  
  133. lBytePosition = (lByteCount % 4)*8;
  134.  
  135. lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount)<<lBytePosition));
  136.  
  137. lByteCount++;
  138.  
  139. }
  140.  
  141. lWordCount = (lByteCount-(lByteCount % 4))/4;
  142.  
  143. lBytePosition = (lByteCount % 4)*8;
  144.  
  145. lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition);
  146.  
  147. lWordArray[lNumberOfWords-2] = lMessageLength<<3;
  148.  
  149. lWordArray[lNumberOfWords-1] = lMessageLength>>>29;
  150.  
  151. return lWordArray;
  152.  
  153. };
  154.  
  155.  
  156.  
  157. function WordToHex(lValue) {
  158.  
  159. var WordToHexValue="",WordToHexValue_temp="",lByte,lCount;
  160.  
  161. for (lCount = 0;lCount<=3;lCount++) {
  162.  
  163. lByte = (lValue>>>(lCount*8)) & 255;
  164.  
  165. WordToHexValue_temp = "0" + lByte.toString(16);
  166.  
  167. WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);
  168.  
  169. }
  170.  
  171. return WordToHexValue;
  172.  
  173. };
  174.  
  175.  
  176.  
  177. function Utf8Encode(string) {
  178.  
  179. string = string.replace(/\r\n/g,"\n");
  180.  
  181. var utftext = "";
  182.  
  183.  
  184.  
  185. for (var n = 0; n < string.length; n++) {
  186.  
  187.  
  188.  
  189. var c = string.charCodeAt(n);
  190.  
  191.  
  192.  
  193. if (c < 128) {
  194.  
  195. utftext += String.fromCharCode(c);
  196.  
  197. }
  198.  
  199. else if((c > 127) && (c < 2048)) {
  200.  
  201. utftext += String.fromCharCode((c >> 6) | 192);
  202.  
  203. utftext += String.fromCharCode((c & 63) | 128);
  204.  
  205. }
  206.  
  207. else {
  208.  
  209. utftext += String.fromCharCode((c >> 12) | 224);
  210.  
  211. utftext += String.fromCharCode(((c >> 6) & 63) | 128);
  212.  
  213. utftext += String.fromCharCode((c & 63) | 128);
  214.  
  215. }
  216.  
  217.  
  218.  
  219. }
  220.  
  221.  
  222.  
  223. return utftext;
  224.  
  225. };
  226.  
  227.  
  228.  
  229. var x=Array();
  230.  
  231. var k,AA,BB,CC,DD,a,b,c,d;
  232.  
  233. var S11=7, S12=12, S13=17, S14=22;
  234.  
  235. var S21=5, S22=9 , S23=14, S24=20;
  236.  
  237. var S31=4, S32=11, S33=16, S34=23;
  238.  
  239. var S41=6, S42=10, S43=15, S44=21;
  240.  
  241.  
  242.  
  243. string = Utf8Encode(string);
  244.  
  245.  
  246.  
  247. x = ConvertToWordArray(string);
  248.  
  249.  
  250.  
  251. a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;
  252.  
  253.  
  254.  
  255. for (k=0;k<x.length;k+=16) {
  256.  
  257. AA=a; BB=b; CC=c; DD=d;
  258.  
  259. a=FF(a,b,c,d,x[k+0], S11,0xD76AA478);
  260.  
  261. d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756);
  262.  
  263. c=FF(c,d,a,b,x[k+2], S13,0x242070DB);
  264.  
  265. b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE);
  266.  
  267. a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF);
  268.  
  269. d=FF(d,a,b,c,x[k+5], S12,0x4787C62A);
  270.  
  271. c=FF(c,d,a,b,x[k+6], S13,0xA8304613);
  272.  
  273. b=FF(b,c,d,a,x[k+7], S14,0xFD469501);
  274.  
  275. a=FF(a,b,c,d,x[k+8], S11,0x698098D8);
  276.  
  277. d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF);
  278.  
  279. c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);
  280.  
  281. b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE);
  282.  
  283. a=FF(a,b,c,d,x[k+12],S11,0x6B901122);
  284.  
  285. d=FF(d,a,b,c,x[k+13],S12,0xFD987193);
  286.  
  287. c=FF(c,d,a,b,x[k+14],S13,0xA679438E);
  288.  
  289. b=FF(b,c,d,a,x[k+15],S14,0x49B40821);
  290.  
  291. a=GG(a,b,c,d,x[k+1], S21,0xF61E2562);
  292.  
  293. d=GG(d,a,b,c,x[k+6], S22,0xC040B340);
  294.  
  295. c=GG(c,d,a,b,x[k+11],S23,0x265E5A51);
  296.  
  297. b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA);
  298.  
  299. a=GG(a,b,c,d,x[k+5], S21,0xD62F105D);
  300.  
  301. d=GG(d,a,b,c,x[k+10],S22,0x2441453);
  302.  
  303. c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681);
  304.  
  305. b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8);
  306.  
  307. a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6);
  308.  
  309. d=GG(d,a,b,c,x[k+14],S22,0xC33707D6);
  310.  
  311. c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87);
  312.  
  313. b=GG(b,c,d,a,x[k+8], S24,0x455A14ED);
  314.  
  315. a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905);
  316.  
  317. d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8);
  318.  
  319. c=GG(c,d,a,b,x[k+7], S23,0x676F02D9);
  320.  
  321. b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);
  322.  
  323. a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942);
  324.  
  325. d=HH(d,a,b,c,x[k+8], S32,0x8771F681);
  326.  
  327. c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122);
  328.  
  329. b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C);
  330.  
  331. a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44);
  332.  
  333. d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9);
  334.  
  335. c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60);
  336.  
  337. b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);
  338.  
  339. a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6);
  340.  
  341. d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA);
  342.  
  343. c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085);
  344.  
  345. b=HH(b,c,d,a,x[k+6], S34,0x4881D05);
  346.  
  347. a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039);
  348.  
  349. d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);
  350.  
  351. c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);
  352.  
  353. b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665);
  354.  
  355. a=II(a,b,c,d,x[k+0], S41,0xF4292244);
  356.  
  357. d=II(d,a,b,c,x[k+7], S42,0x432AFF97);
  358.  
  359. c=II(c,d,a,b,x[k+14],S43,0xAB9423A7);
  360.  
  361. b=II(b,c,d,a,x[k+5], S44,0xFC93A039);
  362.  
  363. a=II(a,b,c,d,x[k+12],S41,0x655B59C3);
  364.  
  365. d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92);
  366.  
  367. c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D);
  368.  
  369. b=II(b,c,d,a,x[k+1], S44,0x85845DD1);
  370.  
  371. a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F);
  372.  
  373. d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);
  374.  
  375. c=II(c,d,a,b,x[k+6], S43,0xA3014314);
  376.  
  377. b=II(b,c,d,a,x[k+13],S44,0x4E0811A1);
  378.  
  379. a=II(a,b,c,d,x[k+4], S41,0xF7537E82);
  380.  
  381. d=II(d,a,b,c,x[k+11],S42,0xBD3AF235);
  382.  
  383. c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB);
  384.  
  385. b=II(b,c,d,a,x[k+9], S44,0xEB86D391);
  386.  
  387. a=AddUnsigned(a,AA);
  388.  
  389. b=AddUnsigned(b,BB);
  390.  
  391. c=AddUnsigned(c,CC);
  392.  
  393. d=AddUnsigned(d,DD);
  394.  
  395. }
  396.  
  397.  
  398.  
  399. var temp = WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d);
  400.  
  401.  
  402.  
  403. return temp.toLowerCase();
  404.  
  405. }
  406.  
  407. function save2url(u,p,f,t)
  408. {
  409. location.hash=u+'/'+p+'/'+f+'/'+t
  410. }
  411.  
  412. function send_url(u,p,f,t,m)
  413.  
  414. {
  415.  
  416. base_url='http://api.comtube.ru/scripts/sms_api/sendsms.php?'
  417.  
  418. params='charset=utf-8&from='+f+'&message='+encodeURIComponent(m.replace(/ /g,'+')).replace(/\!/g,'%21').replace(/\"/g,"%7E").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\'/g,"%27").replace(/\%2B/g,"+").replace(/\*/g,"%2a")+'&to='+t+'&type=html&username='+u+'&'
  419.  
  420. if(m!='')
  421. {
  422. return base_url + params + 'signature=' +MD5(params+'&password='+p)
  423.  
  424. }
  425. }
  426.  
  427.  
  428.  
  429. function tariff_url(u,p,t)
  430.  
  431. {
  432.  
  433. base_url='http://api.comtube.ru/scripts/tariffs_api/tariffs_api.php?'
  434.  
  435. params='number='+t+'&srvcode=SMSOUT&type=html&username='+u+'&'
  436.  
  437. return base_url + params + 'signature=' +MD5(params+'&password='+p)
  438.  
  439. }
  440.  
  441.  
  442.  
  443. function balance_url(u,p)
  444.  
  445. {
  446.  
  447. base_url='http://api.comtube.ru/scripts/balance/balance.php?'
  448.  
  449. params='charset=utf-8&type=html&username='+u+'&'
  450.  
  451. return base_url + params + 'signature=' +MD5(params+'&password='+p)
  452.  
  453. }
  454.  
  455. function state_url(u,p,i)
  456.  
  457. {
  458.  
  459. base_url='http://api.comtube.ru/scripts/sms_api/smsstatus.php?'
  460.  
  461. params='charset=utf-8&id='+i+'&number=&type=html&username='+u+'&'
  462.  
  463. return base_url + params + 'signature=' +MD5(params+'&password='+p)
  464.  
  465. }
  466.  
  467. </script>
  468.  
  469. </head>
  470.  
  471. <body onload=hash_update() onhashchange=hash_update()><table>
  472. <tbody><tr><td>login</td><td><input id="s_u" type="text" onchange=save2url(document.getElementById("s_u").value,document.getElementById("s_p").value,document.getElementById("s_f").value,document.getElementById("s_t").value)></td></tr>
  473. <tr><td>password</td><td><input id="s_p" type="text" onchange=save2url(document.getElementById("s_u").value,document.getElementById("s_p").value,document.getElementById("s_f").value,document.getElementById("s_t").value)></td></tr>
  474. <tr><td>from</td><td><input id="s_f" type="text" onchange=save2url(document.getElementById("s_u").value,document.getElementById("s_p").value,document.getElementById("s_f").value,document.getElementById("s_t").value)></td></tr>
  475. <tr><td>to</td><td><input id="s_t" type="text" onchange=save2url(document.getElementById("s_u").value,document.getElementById("s_p").value,document.getElementById("s_f").value,document.getElementById("s_t").value)></td></tr>
  476. <tr><td colspan="2"><textarea width="100%" id="s_m"></textarea></td></tr></tbody></table>
  477.  
  478. <script>
  479.  
  480. function hash_update()
  481. {
  482.  
  483. if(location.hash.indexOf('#')>=0){t=location.hash.split('#')[1].split('/');
  484. document.getElementById("s_u").value=t[0];
  485. document.getElementById("s_p").value=t[1];
  486. document.getElementById("s_f").value=t[2];
  487. document.getElementById("s_t").value=t[3];}
  488. }
  489. </script>
  490.  
  491.  
  492.  
  493.  
  494.  
  495. <div id="lo"></div>
  496.  
  497. <input value="send" onclick='var h=send_url(document.getElementById("s_u").value,document.getElementById("s_p").value,document.getElementById("s_f").value,document.getElementById("s_t").value,document.getElementById("s_m").value);document.getElementById("lo").innerHTML="<a href=\""+h+"\">"+h+"</a>"' type="button">
  498.  
  499. <br><input value="tariff" onclick='document.getElementById("oframe").src=tariff_url(document.getElementById("s_u").value,document.getElementById("s_p").value,document.getElementById("s_t").value)' type="button">
  500.  
  501. <input value="balance" onclick='document.getElementById("oframe").src=balance_url(document.getElementById("s_u").value,document.getElementById("s_p").value)' type="button"><br>
  502. <input id="s_i" type="text"><input value="state" onclick='document.getElementById("oframe").src=state_url(document.getElementById("s_u").value,document.getElementById("s_p").value,document.getElementById("s_i").value)' type="button"><br>
  503. <iframe id="oframe" frameborder="0" height="200"></iframe>
  504. </body></html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement