Сейчас на форуме: vasilevradislav, Magister Yoda, site-pro (+5 невидимых)

 eXeL@B —› Крэки, обсуждения —› Понять алгоритм шифрования и вытащить файлы из контейнера (BMS алгоритм)
Посл.ответ Сообщение

Ранг: 0.7 (гость)
Активность: 0=0
Статус: Участник

Создано: 05 декабря 2012 18:57 · Поправил: Sorcerer666h
· Личное сообщение · #1

Декриптование выполняется с помощью программы:
http://aluigi.org/papers/quickbms.zip

и скрипта к ней:
Code:
  1. idstring "SBPAK V 1.0\r\n\0\0\0"
  2. get DUMMY long      # ever the same
  3. get DUMMY long      # ever the same
  4. get MYXOR long      # it's ever 0xffffffff so it can be used to autoguess the value
  5. math MYXOR &= 0xff
  6. math MYXOR ^= 0xff
  7. filexor MYXOR
  8. print "xor value %MYXOR%"
  9.  
  10. get DUMMY long      # ever 0x10000
  11. get DUMMY long      # checksum
  12. get FILES long
  13. get DUMMY long
  14. get BASE_OFFSET long
  15. get TOTAL_SIZE long
  16.  
  17. savepos INFO_OFFSET
  18. set NAMES_OFFSET long FILES
  19. math NAMES_OFFSET *= 16
  20. math NAMES_OFFSET += INFO_OFFSET
  21. set NAMES_SIZE long BASE_OFFSET
  22. math NAMES_SIZE -= NAMES_OFFSET
  23.  
  24. log MEMORY_FILE NAMES_OFFSET NAMES_SIZE
  25.  
  26. set XBYTE long NAMES_SIZE
  27. for i = 0 < NAMES_SIZE
  28.     getvarchr BYTE MEMORY_FILE i
  29.     math BYTE ^= 0xc4
  30.  
  31.     # uncomment the following 5 lines if you get wrong filenames!
  32.     if XBYTE & 1
  33.         math BYTE ^= 0x6e   # 'n'   you could modify these values setting your language
  34.     else
  35.         math BYTE ^= 0x65   # 'e'   you could modify these values setting your language
  36.     endif
  37.  
  38.     math BYTE += XBYTE
  39.     math XBYTE -= 1
  40.     putvarchr MEMORY_FILE i BYTE
  41. next i
  42.  
  43. goto INFO_OFFSET
  44. for i = 0 < FILES
  45.     filexor MYXOR
  46.     get SIZE long
  47.     get OFFSET long
  48.     get NAMEOFF threebyte
  49.     get DUMMY byte
  50.     get DUMMY long
  51.  
  52.     math NAMEOFF += 2
  53.     goto NAMEOFF MEMORY_FILE
  54.     filexor ""
  55.  
  56.     get XNAME string MEMORY_FILE
  57.     set NAME string XNAME
  58.     strlen NAMELEN NAME
  59.     set XNAMELEN long NAMELEN
  60.     for j = 0 < NAMELEN
  61.         getvarchr BYTE XNAME j
  62.         math XNAMELEN -= 1
  63.         putvarchr NAME XNAMELEN BYTE
  64.     next j
  65.  
  66.     math OFFSET += BASE_OFFSET
  67.  
  68.     if NAME & ".bik"
  69.         filexor ""
  70.     else
  71.         filexor MYXOR
  72.     endif
  73.     log NAME OFFSET SIZE
  74. next i


Вот с этим контейнером он работает:
<noindex><a href="http://depositfiles.com/files/69iiysiye[/url]

А вот на первый взгляд аналогичный файл,но скрипт зависает при выполнении или выдает абракадабру:
<noindex><a href="http://depositfiles.com/files/ps37tfmsc]http://aluigi.org/papers/quickbms.zip" rel="nofollow" target="_blank">http://depositfiles.com/files/69iiysiye[/url]

А вот на первый взгляд аналогичный файл,но скрипт зависает при выполнении или выдает абракадабру:
[url=http://depositfiles.com/files/ps37tfmsc" rel="nofollow" target="_blank">http://aluigi.org/papers/quickbms.zip]http://depositfiles.com/files/ps37tfmsc]http://aluigi.org/papers/quickbms.zip" rel="nofollow" target="_blank">http://depositfiles.com/files/69iiysiye[/url]

А вот на первый взгляд аналогичный файл,но скрипт зависает при выполнении или выдает абракадабру:
http://depositfiles.com/files/ps37tfmsc" rel="nofollow" target="_blank">http://aluigi.org/papers/quickbms.zip
и скрипта к ней:
Code:
  1. idstring "SBPAK V 1.0\r\n\0\0\0"
  2. get DUMMY long      # ever the same
  3. get DUMMY long      # ever the same
  4. get MYXOR long      # it's ever 0xffffffff so it can be used to autoguess the value
  5. math MYXOR &= 0xff
  6. math MYXOR ^= 0xff
  7. filexor MYXOR
  8. print "xor value %MYXOR%"
  9.  
  10. get DUMMY long      # ever 0x10000
  11. get DUMMY long      # checksum
  12. get FILES long
  13. get DUMMY long
  14. get BASE_OFFSET long
  15. get TOTAL_SIZE long
  16.  
  17. savepos INFO_OFFSET
  18. set NAMES_OFFSET long FILES
  19. math NAMES_OFFSET *= 16
  20. math NAMES_OFFSET += INFO_OFFSET
  21. set NAMES_SIZE long BASE_OFFSET
  22. math NAMES_SIZE -= NAMES_OFFSET
  23.  
  24. log MEMORY_FILE NAMES_OFFSET NAMES_SIZE
  25.  
  26. set XBYTE long NAMES_SIZE
  27. for i = 0 < NAMES_SIZE
  28.     getvarchr BYTE MEMORY_FILE i
  29.     math BYTE ^= 0xc4
  30.  
  31.     # uncomment the following 5 lines if you get wrong filenames!
  32.     if XBYTE & 1
  33.         math BYTE ^= 0x6e   # 'n'   you could modify these values setting your language
  34.     else
  35.         math BYTE ^= 0x65   # 'e'   you could modify these values setting your language
  36.     endif
  37.  
  38.     math BYTE += XBYTE
  39.     math XBYTE -= 1
  40.     putvarchr MEMORY_FILE i BYTE
  41. next i
  42.  
  43. goto INFO_OFFSET
  44. for i = 0 < FILES
  45.     filexor MYXOR
  46.     get SIZE long
  47.     get OFFSET long
  48.     get NAMEOFF threebyte
  49.     get DUMMY byte
  50.     get DUMMY long
  51.  
  52.     math NAMEOFF += 2
  53.     goto NAMEOFF MEMORY_FILE
  54.     filexor ""
  55.  
  56.     get XNAME string MEMORY_FILE
  57.     set NAME string XNAME
  58.     strlen NAMELEN NAME
  59.     set XNAMELEN long NAMELEN
  60.     for j = 0 < NAMELEN
  61.         getvarchr BYTE XNAME j
  62.         math XNAMELEN -= 1
  63.         putvarchr NAME XNAMELEN BYTE
  64.     next j
  65.  
  66.     math OFFSET += BASE_OFFSET
  67.  
  68.     if NAME & ".bik"
  69.         filexor ""
  70.     else
  71.         filexor MYXOR
  72.     endif
  73.     log NAME OFFSET SIZE
  74. next i


Вот с этим контейнером он работает:
http://depositfiles.com/files/69iiysiye

А вот на первый взгляд аналогичный файл,но скрипт зависает при выполнении или выдает абракадабру:
http://depositfiles.com/files/ps37tfmsc


 eXeL@B —› Крэки, обсуждения —› Понять алгоритм шифрования и вытащить файлы из контейнера (BMS алгоритм)
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати