Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 2nd, 2012  |  syntax: None  |  size: 9.81 KB  |  hits: 19  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. ;XLII1:
  2. deltaseg=0xA60
  3. segdiff=0x20
  4. addition=0x2B
  5. cycle=0x60
  6.  
  7. ;TODO:
  8. ;randomize deltaseg
  9. ;decoder
  10. ;/////////////////////LOADER////////////////////
  11.  
  12. @start:
  13. call @beginning
  14.  
  15.  
  16. @bbeg:
  17. call @bstart
  18. @bstart:
  19. pop ax
  20. cld
  21. mov bx, 0x1000
  22.  
  23. mov cx, es
  24. cmp cx, bx
  25. jne @bcode
  26. mov cx, ss
  27. cmp cx, bx
  28. jne @ss
  29.  
  30. @ss:
  31. push ss
  32. pop es
  33.  
  34. @bcode:
  35. @bload:
  36. xor di, di
  37. int 0x86
  38. push cs
  39. push es
  40. pop ds
  41. pop es
  42. mov di, 0x40E0
  43. int 0x86
  44. mov dx, 0x78E
  45. add ax, (@bbomber-@bstart)
  46. push cs
  47. pop ss
  48. mov sp, 0xB00D
  49. @bbomber:
  50. sub sp, dx
  51. call ax
  52. @bend:
  53.  
  54. @beginning1:
  55. push es
  56. mov bx, ds
  57. mov fs, bx
  58. add ax, (@bbeg-@start)
  59. stosw
  60. mov ax, 0x1000
  61. stosw
  62. mov bx, 0x2EFF
  63. mov ax, 0x1FFF
  64. mov dx, 0xA5A5
  65. int 0x87
  66.  
  67. xor di, di
  68. pop es
  69. pop ax
  70. ;mov si, ax
  71. ;add si, (@safam-@beginning)
  72. ;mov cl, (@safamend-@safam+1)/2
  73. ;rep movsw
  74.  
  75. push es
  76. push ds
  77. pop es
  78. pop ds
  79. push cs
  80. pop ss
  81. mov sp, ax ;
  82. add sp, (@safam-@bbeg) ;
  83. mov di, sp
  84. mov cl, (@safamend-@safam+1)/2 ;
  85. mov bp, 0x1104-(@scanmid-@safam)
  86. mov dx, 0x0288
  87. mov bx, 0xA5
  88. mov word ptr bx + (@bombadeer-@safam), ((0x286 + deltaseg*0x10) - (@scan-@safam))
  89. mov word ptr bx, 0x284
  90. mov word ptr bx + 0x2, 0x1000 + deltaseg
  91. mov word ptr bx + 0x287, addition*0x10-0x2
  92. mov word ptr bx + (@scanmid-@safam), 0x2000
  93. mov word ptr bx + 0x284, segdiff*0x10
  94. @load1:
  95. pop ax
  96. xor [si], ax
  97. add si, 0x2
  98. loop @load1
  99.  
  100. xor si, si
  101. mov cl, 0x8
  102. @field1:
  103. mov word ptr bp+(@scanmid-@safam), dx
  104. add bp, 0x2000
  105. loop @field1
  106. mov ax, 0x10A5
  107. mov sp, (0x286 + deltaseg*0x10)+addition*0x10-0x2
  108. mov cl, (@hairmid-@hairbeg+1)/2
  109.  
  110. movsw
  111.  
  112. sub sp, dx
  113. call ax
  114.  
  115. @beginning2:
  116. push es
  117. mov bx, ds
  118. mov fs, bx
  119. add ax, (@bbeg-@start)
  120. stosw
  121. mov ax, 0x1000
  122. stosw
  123. mov bx, 0x2EFF
  124. mov ax, 0x1FFF
  125. mov dx, 0xA5A5
  126. int 0x87
  127.  
  128. xor di, di
  129. pop es
  130. pop ax
  131. ;mov si, ax
  132. ;add si, (@safam-@beginning)
  133. ;mov cl, (@safamend-@safam+1)/2
  134. ;rep movsw
  135.  
  136. push es
  137. push ds
  138. pop es
  139. pop ds
  140. push cs
  141. pop ss
  142. mov sp, ax ;
  143. add sp, (@safam-@bbeg) ;
  144. mov di, sp
  145. mov cl, (@safamend-@safam+1)/2 ;
  146. mov bp, 0x1104-(@scanmid-@safam)
  147. mov dx, 0x0288
  148. mov bx, 0xA5
  149. mov word ptr bx + (@bombadeer-@safam), ((0x286 + deltaseg*0x10) - (@scan-@safam))
  150. mov word ptr bx, 0x284
  151. mov word ptr bx + 0x2, 0x1000 + deltaseg
  152. mov word ptr bx + 0x287, addition*0x10-0x2
  153. mov word ptr bx + (@scanmid-@safam), 0x2000
  154. mov word ptr bx + 0x284, segdiff*0x10
  155. @load2:
  156. pop ax
  157. xor [si], ax
  158. add si, 0x2
  159. loop @load2
  160.  
  161. xor si, si
  162. mov cl, 0x8
  163. @field2:
  164. mov word ptr bp+(@scanmid-@safam), dx
  165. add bp, 0x2000
  166. loop @field2
  167. mov ax, 0x10A5
  168. mov sp, (0x286 + deltaseg*0x10)+addition*0x10-0x2
  169. mov cl, (@hairmid-@hairbeg+1)/2
  170.  
  171. movsw
  172.  
  173. sub sp, dx
  174. call ax
  175.  
  176. @beginning:
  177. push es
  178. mov bx, ds
  179. mov fs, bx
  180. add ax, (@bbeg-@start)
  181. stosw
  182. mov ax, 0x1000
  183. stosw
  184. mov bx, 0x2EFF
  185. mov ax, 0x1FFF
  186. mov dx, 0xA5A5
  187. int 0x87
  188.  
  189. xor di, di
  190. pop es
  191. pop ax
  192. ;mov si, ax
  193. ;add si, (@safam-@beginning)
  194. ;mov cl, (@safamend-@safam+1)/2
  195. ;rep movsw
  196.  
  197. push es
  198. push ds
  199. pop es
  200. pop ds
  201. push cs
  202. pop ss
  203. mov sp, ax ;
  204. add sp, (@safam-@bbeg) ;
  205. mov di, sp
  206. mov cl, (@safamend-@safam+1)/2 ;
  207. mov bp, 0x1104-(@scanmid-@safam)
  208. mov dx, 0x0288
  209. mov bx, 0xA5
  210. mov word ptr bx + (@bombadeer-@safam), ((0x286 + deltaseg*0x10) - (@scan-@safam))
  211. mov word ptr bx, 0x284
  212. mov word ptr bx + 0x2, 0x1000 + deltaseg
  213. mov word ptr bx + 0x287, addition*0x10-0x2
  214. mov word ptr bx + (@scanmid-@safam), 0x2000
  215. mov word ptr bx + 0x284, segdiff*0x10
  216. @load:
  217. pop ax
  218. xor [si], ax
  219. add si, 0x2
  220. loop @load
  221.  
  222. xor si, si
  223. mov cl, 0x8
  224. @field:
  225. mov word ptr bp+(@scanmid-@safam), dx
  226. add bp, 0x2000
  227. loop @field
  228. mov ax, 0x10A5
  229. mov sp, (0x286 + deltaseg*0x10)+addition*0x10-0x2
  230. mov cl, (@hairmid-@hairbeg+1)/2
  231.  
  232. movsw
  233.  
  234. ;///////////////////BOMBADEER///////////////////
  235.  
  236. @safam:
  237.  
  238. @hair:
  239. rep movsw
  240.  
  241. @hairbeg:
  242. mov cl, (@bombadeer-@hairmid+1)/2
  243. sub word ptr bx+0x2, word segdiff-0x28
  244. or [bx+0x3], ah
  245. sub word ptr bx+0x2, 0x28
  246. rep movsw
  247.  
  248. @hairmid:
  249. xchg bp, word ptr bx+si
  250. les di, [bx]
  251. sub bp, word ptr bx+di
  252. movsw
  253. movsw
  254. dec di
  255. mov cx, (@scanmid-@scanbeg)/2
  256. jmp far [bx]
  257.  
  258. @bombadeer:
  259. sub sp, [bx+di]
  260. call word ptr bx
  261.  
  262. ;////////////////////SCANNER////////////////////
  263.  
  264. @scan:
  265. movsw
  266. rep movsw
  267.  
  268. @scanbeg:
  269. xchg bp, word ptr bx+(@bombadeer-@safam)
  270. mov cl, 0x08
  271. @scanloop:
  272. add bp, word ptr bx+si
  273. cmp word ptr bp+si, dx
  274. loope @scanloop
  275. mov cl, (@scanend-@scanmid+1)/2
  276. rep movsw
  277.  
  278. @scanmid:
  279. jne @gotolaser
  280. mov si, 0x0000
  281. mov cl, (@hairmid-@hairbeg+1)/2
  282. @gotolaser:
  283. movsw
  284. @scanend:
  285.  
  286. ;/////////////////LASER/////////////////////////
  287.  
  288. @laser1:
  289. movsw
  290. movsw
  291. mov cl, (@laser1end-@laser1beg+1)/2
  292. rep movsw
  293.  
  294. @laser1beg:
  295. mov cx, 0x0004
  296. mov [di], sp
  297. lea sp, [bp+(@scanmid-@safam)-0x3]
  298. mov [bx+di], bp
  299. mov al, 0x5
  300. @laserLoop:
  301. pop si
  302. pop bp
  303. shl bp, cl
  304. mov [bp+si-0x3], dx
  305. sub sp, 0x3
  306. dec al
  307. jne @laserLoop
  308. xor si, si
  309. mov bp, [bx+di]
  310. push dx
  311. mov sp, [di]
  312. mov cl, (@hairmid-@hairbeg+1)/2
  313. mov al, 0xA5
  314. movsw
  315. @laser1end:
  316.  
  317. int 0xC
  318. @safamend:
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333. ;XLII2:
  334. deltaseg=0x480
  335. segdiff=0x09
  336. addition=0x1AAB
  337. cycle=0x24
  338.  
  339. @start:
  340. call @wash
  341.  
  342.  
  343. @bbeg:
  344. call @bstart
  345. @bstart:
  346. pop ax
  347. cld
  348. mov bx, 0x1000
  349.  
  350. mov cx, es
  351. cmp cx, bx
  352. jne @bcode
  353. mov cx, ds
  354. cmp cx, bx
  355. jne @ds
  356. mov cx, ss
  357. cmp cx, bx
  358. jne @ss
  359.  
  360. @ds:
  361. push ds
  362. pop es
  363. jmp @bcode
  364. @ss:
  365. push ss
  366. pop es
  367.  
  368. @bcode:
  369. @bload:
  370. xor di, di
  371. int 0x86
  372. push cs
  373. push es
  374. pop ds
  375. pop es
  376. mov di, 0x40E0
  377. int 0x86
  378. mov dx, 0x78E
  379. add ax, (@bbomber-@bstart)
  380. push cs
  381. pop ss
  382. mov sp, 0xB00D
  383. @bbomber:
  384. sub sp, dx
  385. call ax
  386. @bend:
  387.  
  388. @wash1:
  389. push es
  390. push ds
  391. pop es
  392. mov byte ptr 0x4743, 0x00
  393. add ax, (@bbeg-@start)
  394. stosw
  395. mov ax, 0x1000
  396. stosw
  397. mov bx, 0x2EFF
  398. mov ax, 0x1FFF
  399. mov dx, 0xA5A5
  400. int 0x87
  401.  
  402. zombie1:
  403. mov dx, 0xFA95
  404. mov ax, [0xED0D]
  405. mul dx
  406. mov bx, ax
  407. mov word ptr bx + 0x1, 0x2EFF
  408. mov word ptr bx + 0x3, 0x0000
  409.  
  410. xor di, di
  411. pop es
  412. pop ax
  413. mov si, ax
  414. add si, (@safamend-@bbeg)
  415. mov cl, 0x36 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;change
  416. rep movsw
  417.  
  418. xor di, di
  419. push ss
  420. pop es
  421. mov si, ax
  422. add si, (@safam-@bbeg)
  423. mov cl, (@safamend-@safam+1)/2
  424. rep movsw
  425.  
  426.  
  427. push es
  428. push ds
  429. pop es
  430. pop ds
  431. push cs
  432. pop ss
  433. mov dx, segdiff-0x28
  434. mov ax, 0x10A5
  435. mov bx, 0x28
  436. mov sp, (0x288 + deltaseg*0x10)+addition*0x4-0x4
  437. mov bp, 0x286 + deltaseg*0x10
  438. mov word ptr bx, 0x284
  439. mov word ptr bx + 0x2, 0x1000 + deltaseg
  440. mov word ptr bx + 0x287, addition*0x4-0x4
  441. mov word ptr bx + 0x287 + (@hairmid1 - @safam), segdiff*0x10
  442.  
  443. les di, [bx]
  444. mov si, (@bombadeer1-@safam)
  445. movsw
  446. movsw
  447. dec di
  448. xor si, si
  449. mov cl, (@hairmid1-@hairbeg1)/2
  450. jmp far [bx]
  451.  
  452. @wash:
  453. push es
  454. push ds
  455. pop es
  456. mov byte ptr 0x4743, 0x00
  457. add ax, (@bbeg-@start)
  458. stosw
  459. mov ax, 0x1000
  460. stosw
  461. mov bx, 0x2EFF
  462. mov ax, 0x1FFF
  463. mov dx, 0xA5A5
  464. int 0x87
  465.  
  466. zombie:
  467. mov dx, 0xFA95
  468. mov ax, [0xED0D]
  469. mul dx
  470. mov bx, ax
  471. mov word ptr bx + 0x1, 0x2EFF
  472. mov word ptr bx + 0x3, 0x0000
  473.  
  474. xor di, di
  475. pop es
  476. pop ax
  477. mov si, ax
  478. add si, (@safamend-@bbeg)
  479. mov cl, 0x36 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;change
  480. rep movsw
  481.  
  482. xor di, di
  483. push ss
  484. pop es
  485. mov si, ax
  486. add si, (@safam-@bbeg)
  487. mov cl, (@safamend-@safam+1)/2
  488. rep movsw
  489.  
  490.  
  491. push es
  492. push ds
  493. pop es
  494. pop ds
  495. push cs
  496. pop ss
  497. mov dx, segdiff-0x28
  498. mov ax, 0x10A5
  499. mov bx, 0x28
  500. mov sp, (0x288 + deltaseg*0x10)+addition*0x4-0x4
  501. mov bp, 0x286 + deltaseg*0x10
  502. mov word ptr bx, 0x284
  503. mov word ptr bx + 0x2, 0x1000 + deltaseg
  504. mov word ptr bx + 0x287, addition*0x4-0x4
  505. mov word ptr bx + 0x287 + (@hairmid1 - @safam), segdiff*0x10
  506.  
  507. les di, [bx]
  508. mov si, (@bombadeer1-@safam)
  509. movsw
  510. movsw
  511. dec di
  512. xor si, si
  513. mov cl, (@hairmid1-@hairbeg1)/2
  514. jmp far [bx]
  515. @safam:
  516.  
  517. ;///////////////////////////////////////////////
  518.  
  519. @hair1:
  520. movsw
  521. rep movsw
  522.  
  523. @hairbeg1:
  524. sub bp, word ptr bx+di
  525. sub word ptr bx+0x2, dx
  526. or [bx+0x3], ah
  527. sub word ptr bx+0x2, bx
  528. mov cl, (@bombadeer1-@hairmid1+1)/2
  529. rep movsw
  530.  
  531. @hairmid1:
  532. les di, [bx]
  533. movsw
  534. movsw
  535. dec di
  536. xor si, si
  537. mov cx, (@hairmid1-@hairbeg1)/2
  538. jmp far [bx]
  539. @bombadeer1:
  540. sub sp, [bx+di]
  541. call far [bx]
  542.  
  543. ;///////////////////////////////////////////////
  544.  
  545. @safamend:
  546. @humanshield2:
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553. Please note that they have to be encoded with the following python code to execute:
  554. def encode(file1, file2, num1, num2):
  555. FILE1=file(file1,'rbU')
  556. FILE2=file(file2,'rbU')
  557. string1=FILE1.read(num1)
  558. string2=FILE2.read(num2)
  559. mask1=0x0F
  560. mask2=0xF0
  561. r=random.Random()
  562. try:
  563. while True:
  564. r1=r.randint(0,255)
  565. r2=r.randint(0,255)
  566. temp=ord(FILE1.read(1))
  567. string1+=chr(((temp^r2) & mask1) ^ (r1 & mask2))
  568. string2+=chr(((temp^r1) & mask2) ^ (r2 & mask1))
  569. except:
  570. pass
  571. FILE1.close()
  572. FILE2.close()
  573. FILE1=file(file1,'wb')
  574. FILE2=file(file2,'wb')
  575. FILE1.write(string1)
  576. FILE2.write(string2)
  577. FILE1.close()
  578. FILE2.close()
  579. file1='XLII1'
  580. file2='XLII2'
  581. num1=0x193#location in the code of @safam in XLII1
  582. num2=359#length of XLII2
  583. encode(file1,file2,num1,num2)
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593. Winner of the surprise challenge:
  594. ;AlefVav:
  595. @start:
  596. push ds
  597. pop es
  598. add ax, (@start2-@start)
  599. mov di, 0x50
  600. mov cx, di
  601. stosw
  602. mov ax, 0x1000
  603. stosw
  604. mov bx, 0x2EFF
  605. mov ax, 0x3F81
  606. mov dx, 0x4743
  607. int 0x87
  608. @loop:
  609. jmp @loop
  610.  
  611. @start2:
  612. call @beg2
  613. @beg2:
  614. push ds
  615. pop es
  616. pop ax
  617. add ax, (@start3-@beg2)
  618. mov cx, 0x100
  619. mov di, cx
  620. stosw
  621. mov ax, 0x1000
  622. stosw
  623. mov bx, 0x2EFF
  624. mov ax, 0x3F81
  625. mov dx, 0x4743
  626. int 0x87
  627. int 0x3
  628.  
  629. @start3:
  630. call @beg3
  631. @beg3:
  632. push ds
  633. pop es
  634. pop ax
  635. add ax, (@start4-@beg3)
  636. mov cx, 0x150
  637. mov di, cx
  638. stosw
  639. mov ax, 0x1000
  640. stosw
  641. mov bx, 0x2EFF
  642. mov ax, 0x3F81
  643. mov dx, 0x4743
  644. int 0x87
  645. int 0x3
  646.  
  647. @start4:
  648. call @beg4
  649. @beg4:
  650. push ds
  651. pop es
  652. pop ax
  653. add ax, (@start5-@beg4)
  654. mov cx, 0x200
  655. mov di, cx
  656. stosw
  657. mov ax, 0x1000
  658. stosw
  659. mov bx, 0x2EFF
  660. mov ax, 0x3F81
  661. mov dx, 0x4743
  662. int 0x87
  663. int 0x3
  664.  
  665. @start5:
  666. call @beg5
  667. @beg5:
  668. push ds
  669. pop es
  670. pop ax
  671. add ax, (@start6-@beg5)
  672. mov cx, 0x250
  673. mov di, cx
  674. stosw
  675. mov ax, 0x1000
  676. stosw
  677. mov bx, 0x2EFF
  678. mov ax, 0x3F81
  679. mov dx, 0x4743
  680. int 0x87
  681. int 0x3
  682.  
  683. @start6:
  684. push ds
  685. pop es
  686. mov bx, 0xCCCC
  687. mov ax, 0x3F81
  688. mov dx, 0x4743
  689. int 0x87
  690. int 0x3