home *** CD-ROM | disk | FTP | other *** search
/ Xentax forum attachments archive / xentax.7z / 6660 / doa5Udecrypt.7z / doa5Udecrypt.bms
Encoding:
Text File  |  2013-09-30  |  3.5 KB  |  78 lines

  1. endian big
  2. set MEMORY_FILE binary "\x45\x78\x63\x65\x70\x74\x20\x61\x73\x20\x65\x78\x70\x72\x65\x73\x73\x6C\x79\x20\x61\x75\x74\x68\x6F\x72\x69\x7A\x65\x64\x2C\x20\x69\x74\x20\x69\x73\x20\x73\x74\x72\x69\x63\x74\x6C\x79\x20\x70\x72\x6F\x68\x69\x62\x69\x74\x65\x64\x20\x74\x6F\x20\x72\x65\x70\x72\x6F\x64\x75\x63\x65\x2C\x20\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x2C\x20\x65\x78\x68\x69\x62\x69\x74\x20\x6F\x72\x20\x6D\x6F\x64\x69\x66\x79\x20\x74\x68\x69\x73\x20\x73\x6F\x66\x74\x77\x61\x72\x65\x20\x61\x6E\x64\x20\x61\x6E\x79\x20\x6F\x66\x20\x69\x74\x73\x20\x63\x6F\x6E\x74\x65\x6E\x74\x73\x2C\x20\x69\x6E\x63\x6C\x75\x64\x69\x6E\x67\x20\x61\x75\x64\x69\x6F\x20\x61\x6E\x64\x20\x76\x69\x73\x75\x61\x6C\x20\x63\x6F\x6E\x74\x65\x6E\x74\x73\x2E\x20\x42\x79\x20\x77\x61\x79\x20\x6F\x66\x20\x65\x78\x61\x6D\x70\x6C\x65\x2C\x20\x74\x6F\x20\x63\x61\x70\x74\x75\x72\x65\x2C\x20\x63\x6F\x70\x79\x20\x6F\x72\x20\x64\x6F\x77\x6E\x6C\x6F\x61\x64\x20\x61\x6E\x79\x20\x6F\x66\x20\x74\x68\x65\x20\x63\x6F\x6E\x74\x65\x6E\x74\x73\x20\x69\x6E\x20\x74\x68\x69\x73\x20\x73\x6F\x66\x74\x77\x61\x72\x65\x2C\x20\x69\x6E\x63\x6C\x75\x64\x69\x6E\x67\x20\x61\x75\x64\x69\x6F\x20\x61\x6E\x64\x20\x76\x69\x73\x75\x61\x6C\x20\x63\x6F\x6E\x74\x65\x6E\x74\x73\x2C\x20\x6F\x6E\x74\x6F\x20\x61\x6E\x79\x20\x68\x61\x72\x64\x77\x61\x72\x65\x20\x6F\x72\x20\x6F\x74\x68\x65\x72\x20\x73\x6F\x66\x74\x77\x61\x72\x65\x20\x73\x6F\x75\x72\x63\x65\x20\x6D\x65\x64\x69\x61\x20\x66\x6F\x72\x20\x61\x6E\x79\x20\x70\x75\x72\x70\x6F\x73\x65\x2C\x20\x62\x79\x20\x74\x68\x65\x20\x49\x6E\x74\x65\x72\x6E\x65\x74\x20\x6F\x72\x20\x61\x6E\x79\x20\x6F\x74\x68\x65\x72\x20\x73\x6F\x75\x72\x63\x65\x2C\x20\x69\x73\x20\x73\x74\x72\x69\x63\x74\x6C\x79\x20\x70\x72\x6F\x68\x69\x62\x69\x74\x65\x64\x2E\x20\x52\x65\x76\x65\x72\x73\x65\x64\x20\x65\x6E\x67\x69\x6E\x65\x65\x72\x69\x6E\x67\x2C\x20\x64\x65\x63\x6F\x6D\x70\x69\x6C\x69\x6E\x67\x20\x6F\x72\x20\x64\x69\x73\x61\x73\x73\x65\x6D\x62\x6C\x79\x20\x6F\x66\x20\x74\x68\x69\x73\x20\x73\x6F\x66\x74\x77\x61\x72\x65\x20\x69\x73\x20\x61\x6C\x73\x6F\x20\x73\x74\x72\x69\x63\x74\x6C\x79\x20\x70\x72\x6F\x68\x69\x62\x69\x74\x65\x64\x2E"
  3. get SIZE asize
  4. get NAME basename
  5. string NAME + .dec
  6. set counter 0
  7. set offset 0
  8. get TSIZE long
  9. get NULL short
  10. get null byte
  11. get KEY1 byte
  12. savepos END
  13. get KEY2 short
  14. math KEY2 ^ 0x789C
  15. findloc START string "\x00\x00"
  16. math START - END
  17. math START & 0xFF
  18. math KEY1 ^ START
  19. math KEY1 * 0x10000
  20. math KEY1 + KEY2
  21. math KEY1 ^ 0x657074
  22. PutVarChr MEMORY_FILE2 0 KEY1 threebyte
  23.  
  24. set counter 0
  25. For i = 0 < 0x20A
  26. GetVarChr TMP MEMORY_FILE i
  27. goto counter MEMORY_FILE2
  28. get test byte MEMORY_FILE2
  29. Math TMP ^ test
  30. PutVarChr MEMORY_FILE i TMP
  31. math counter + 1
  32. if counter == 3
  33. set counter 0
  34. endif
  35. Next i
  36.  
  37. set MEMORY_FILE2 binary ""
  38. set counter 0
  39. set offset 4
  40. goto 4
  41. append
  42. Do
  43. goto counter MEMORY_FILE
  44. get test byte MEMORY_FILE
  45. math counter + 1
  46. if counter == 522
  47. set counter 0
  48. endif
  49. get test2 byte
  50. if test2 != 0
  51. if test2 != test
  52. math test2 ^ test
  53. endif
  54. endif
  55. putVarChr MEMORY_FILE2 offset test2 byte
  56. math offset + 1
  57. While offset != SIZE
  58. next
  59. goto 0 MEMORY_FILE2
  60. Do
  61. findloc START string "\x78\x9C" MEMORY_FILE2
  62. math START - 2
  63. goto START MEMORY_FILE2
  64. get ZSIZE short MEMORY_FILE2
  65. savepos OFFSET MEMORY_FILE2
  66. math ZSIZE - 0x8000
  67. if TSIZE < 0x4000
  68. clog MEMORY_FILE3 OFFSET ZSIZE TSIZE MEMORY_FILE2
  69. set TSIZE 0
  70. else
  71. clog MEMORY_FILE3 OFFSET ZSIZE 0x4000 MEMORY_FILE2
  72. math TSIZE - 0x4000
  73. endif
  74. math START + ZSIZE
  75. goto START MEMORY_FILE2
  76. While TSIZE != 0
  77. get TSIZE asize MEMORY_FILE3
  78. log name 0 TSIZE MEMORY_FILE3