Skip to content

Instantly share code, notes, and snippets.

@iamevn
Created July 23, 2020 09:57
Show Gist options
  • Select an option

  • Save iamevn/b50b923292b30d41352439750b044cb7 to your computer and use it in GitHub Desktop.

Select an option

Save iamevn/b50b923292b30d41352439750b044cb7 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"def read_word(f):\n",
" \"\"\"f is open and seeked to the length byte at the \n",
" start of a word, read that word and return it (decoded as SHIFT-JIS)\n",
" advances f to the next length\"\"\"\n",
" length = f.read(1)[0]\n",
" #print(length)\n",
" b = f.read(length)\n",
" w = b.decode('shift-jis')\n",
" #print(w)\n",
" assert(f.read(3) == b'\\x00\\x00\\x00')\n",
" assert(w)\n",
" assert(not '\\x00' in w)\n",
" return w\n",
"\n",
"def read_words(f):\n",
" \"\"\"f is open and seeked to the wordset length byte\n",
" returns a list of words in that set of words or [] if it's the end\"\"\"\n",
" length = f.peek(1)[0] * 2\n",
" if length == 0:\n",
" return False\n",
" else:\n",
" f.seek(4,1)\n",
" return [read_word(f=f) for _ in range(length)]"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"def read_wordlist(f):\n",
" wordlist = []\n",
"\n",
" last = read_words(f=f)\n",
" while last:\n",
" wordlist.append(last)\n",
" try:\n",
" last = read_words(f=f)\n",
" except IndexError:\n",
" last = False\n",
"\n",
" return wordlist"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"def find_next_section(f, sep=27):\n",
" # this could be cleaner but the files are short enough to just brute force this\n",
" count = 0\n",
" n = 0\n",
" while True:\n",
" s = f.peek(8)[:8]\n",
" n += 1\n",
" #if n % 100 == 0:\n",
" #if count > 1:\n",
" # print(f'{f.tell()}, {s}, ({count})')\n",
" if len(s) == 0: return False\n",
" elif s[0] == 0x00:\n",
" count += 1\n",
" elif count >= sep:\n",
" return True\n",
" else:\n",
" count = 0\n",
" f.seek(1, 1)\n",
"\n",
"def find_section(f, which='wordlists'):\n",
" # tries to parse blocks of data as wordlists until all are found in the file\n",
" # there is either one or two lists of keys and a list of lists of words\n",
" f.seek(0)\n",
" words = []\n",
" lists = []\n",
" while True:\n",
" if not find_next_section(f=f): break\n",
" try:\n",
" posn = f.tell()\n",
" words = read_wordlist(f=f)\n",
" except:\n",
" pass\n",
" else:\n",
" if words and isinstance(words[0], list):\n",
" lists.append((posn, words))\n",
" # last section is always the wordlists\n",
" return lists[-1]\n",
" \n",
"def find_info(f):\n",
" # returns (Genre, Title, Artist)\n",
" f.seek(0)\n",
" find_next_section(f, sep=8)\n",
" return read_word(f), read_word(f), read_word(f)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"def pre_words_post(f):\n",
" # file f split into three sections\n",
" # middle section could be replaced by the result of buildWordlists\n",
" offset, _ = find_section(f, which='wordlists')\n",
" f.seek(0)\n",
" pre = f.read(offset)[:offset]\n",
" f.seek(offset)\n",
" read_wordlist(f)\n",
" size = f.tell() - offset\n",
" \n",
" post = f.read()\n",
" \n",
" f.seek(offset)\n",
" wordbytes = f.read(size)[:size]\n",
" \n",
" return pre, wordbytes, post"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"def buildWordlists(wordlists):\n",
" # returns bytes for given wordlists\n",
" b = bytearray()\n",
" for n, wordlist in enumerate(wordlists):\n",
" if len(wordlist) % 2 == 1:\n",
" raise ValueError(f'{n}th wordlist invalid. must have even number of words. has {len(wordlist)}: {wordlist}')\n",
" b.append(len(wordlist) // 2)\n",
" b.extend([0, 0, 0])\n",
" for word in wordlist:\n",
" encoded = word.encode('shift-jis')\n",
" b.append(len(encoded))\n",
" b.extend(encoded)\n",
" b.extend([0, 0, 0])\n",
" return bytes(b)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"files = [\n",
" # pop'n easy first song\n",
" 'N01.BMD.bak',\n",
" # hard classic\n",
" 'E10.BMD',\n",
" # how about beatmania?\n",
" '~09_NahaGacho.bmd',\n",
" # and beatmania best\n",
" 'E10B.bmd',\n",
"]"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"with open(files[0], 'rb') as f:\n",
" contents = f.read()\n",
" pre, wbytes, post = pre_words_post(f)\n",
"\n",
"from io import BufferedReader, BytesIO\n",
"with BufferedReader(BytesIO(wbytes)) as f:\n",
" w = read_wordlist(f)\n",
"\n",
"pre+buildWordlists(w)+post == contents"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Note:\n",
"Be careful to keep the number of wordlists the same and give each wordlist an even number of words.\n",
"They don't need to have the same number of words and the game seems to randomly pick words from\n",
"each list in sequence for the typing sections.\n",
"\n",
"I would recommend testing words ingame as some kana (notably v's) don't work and romaji don't work either.\n",
"\n",
"\n",
"\n",
"Below are a few wordlists from the game:"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"('DANCE', 'Hi-Tekno', 'Hi-Tekno')\n"
]
},
{
"data": {
"text/plain": [
"[['ๅคงไบบ', 'ใŠใจใช', 'ๆฅฝๅ™จ', 'ใŒใฃใ', 'ๆถ™', 'ใชใฟใ ', '้Ÿณ', 'ใŠใจ'],\n",
" ['ๆคœๆŸป', 'ใ‘ใ‚“ใ•', 'ใƒ†ใ‚นใƒˆ', 'ใฆใ™ใจ', '็…™่‰', 'ใŸใฐใ“', '้‡', 'ใฏใ‚Š'],\n",
" ['่ฅŸ', 'ใˆใ‚Š', '่Šฑ', 'ใฏใช', '็Œซ', 'ใญใ“', 'ใ‚นใƒชใƒซ', 'ใ™ใ‚Šใ‚‹'],\n",
" ['็ฉด', 'ใ‚ใช', 'ใ‚ฑใƒผใ‚ญ', 'ใ‘ใƒผใ', '็ฉบ', 'ใใ‚‰', '้—‡', 'ใ‚„ใฟ'],\n",
" ['ๅ…‰', 'ใฒใ‹ใ‚Š', '้ฃ›ใถ', 'ใจใถ', '้ณฅ', 'ใจใ‚Š', 'ๆ›‡ใ‚Š', 'ใใ‚‚ใ‚Š'],\n",
" ['ๆ™ดใ‚Œ', 'ใฏใ‚Œ', '้ขจ', 'ใ‹ใœ', 'ใ‚ญใƒƒใ‚บ', 'ใใฃใš', 'ใ‚ซใƒใƒผ', 'ใ‹ใฐใƒผ'],\n",
" ['ๅฝผ', 'ใ‹ใ‚Œ', 'ใƒžใƒซ', 'ใพใ‚‹', 'ใƒใƒ„', 'ใฐใค'],\n",
" ['ใƒ”ใƒณใƒ', 'ใดใ‚“ใก', 'ๅ˜˜', 'ใ†ใ', '้ด', 'ใใค'],\n",
" ['ๅธฝๅญ', 'ใผใ†ใ—', '่„ณ', 'ใฎใ†', 'ไปŠ', 'ใ„ใพ'],\n",
" ['ๅคๅญฃ', 'ใ‹ใ', 'ๅ†ฌๆœŸ', 'ใจใ†ใ', 'ใ‚ฐใƒŸ', 'ใใฟ'],\n",
" ['ใƒชใƒœใƒณ', 'ใ‚Šใผใ‚“', 'ใƒ™ใƒซ', 'ในใ‚‹', 'ๆœ', 'ใ‚ใ•'],\n",
" ['ๆ˜ผ', 'ใฒใ‚‹', 'ๅคœ', 'ใ‚ˆใ‚‹', 'ๆ˜จๆ—ฅ', 'ใใฎใ†'],\n",
" ['ไปŠๆ—ฅ', 'ใใ‚‡ใ†', 'ๆ„›', 'ใ‚ใ„', '้›ช', 'ใ‚†ใ'],\n",
" ['้›จ', 'ใ‚ใ‚', '่ตค', 'ใ‚ใ‹', '้’', 'ใ‚ใŠ'],\n",
" ['้ป„่‰ฒ', 'ใใ„ใ‚', '้ป’', 'ใใ‚', '็™ฝ', 'ใ—ใ‚'],\n",
" ['็ท‘', 'ใฟใฉใ‚Š', 'ใ‚ทใƒฃใƒ„', 'ใ—ใ‚ƒใค', '่ก—', 'ใพใก'],\n",
" ['ใ‚ชใƒผใƒฉ', 'ใŠใƒผใ‚‰', 'ใ‚ฝใƒ•ใƒˆ', 'ใใตใจ', 'ใƒใƒผใƒ‰', 'ใฏใƒผใฉ'],\n",
" ['ใƒกใƒข', 'ใ‚ใ‚‚', '็•™ๅฎˆ', 'ใ‚‹ใ™', 'ๅญๆฉŸ', 'ใ“ใ']]"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"with open(files[0], 'rb') as f:\n",
" print(find_info(f))\n",
" offset, wordlists = find_section(f=f)\n",
"wordlists"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"('CLASSIC 2', 'R.C.', 'Waldeus von dovjak')\n"
]
},
{
"data": {
"text/plain": [
"[['่„ˆ็ตกใฎใชใ„ไผš่ฉฑ',\n",
" 'ใฟใ‚ƒใใ‚‰ใใฎใชใ„ใ‹ใ„ใ‚',\n",
" 'ๅคงๅพกๆ‰€็™ปๅ ด',\n",
" 'ใŠใŠใ”ใ—ใ‚‡ใจใ†ใ˜ใ‚‡ใ†',\n",
" 'ๅฐ†ๆฅใ‚’่ฆ‹ๆฎใˆใ‚‹',\n",
" 'ใ—ใ‚‡ใ†ใ‚‰ใ„ใ‚’ใฟใ™ใˆใ‚‹',\n",
" '็คพไผš็š„ๅฝฑ้Ÿฟ',\n",
" 'ใ—ใ‚ƒใ‹ใ„ใฆใใˆใ„ใใ‚‡ใ†'],\n",
" ['ไธญๅคฎๅˆ†้›ขๅธฏ',\n",
" 'ใกใ‚…ใ†ใŠใ†ใถใ‚“ใ‚ŠใŸใ„',\n",
" 'ไบŒๅไธ€ไธ–็ด€',\n",
" 'ใซใ˜ใ‚…ใ†ใ„ใฃใ›ใ„ใ',\n",
" 'ๅฟ˜ใ‚Œ้›ฃใ„ๅ‡บๆฅไบ‹',\n",
" 'ใ‚ใ™ใ‚ŒใŒใŸใ„ใงใใ”ใจ',\n",
" '็†ๆƒณ้ƒทใ‚’ๆฑ‚ใ‚ใ‚‹',\n",
" 'ใ‚Šใใ†ใใ‚‡ใ†ใ‚’ใ‚‚ใจใ‚ใ‚‹',\n",
" 'ใ‚ซใƒซใƒใƒฃใƒผใ‚ทใƒงใƒƒใ‚ฏ',\n",
" 'ใ‹ใ‚‹ใกใ‚ƒใƒผใ—ใ‚‡ใฃใ'],\n",
" ['ๆ˜ ๅƒ็ทจ้›†',\n",
" 'ใˆใ„ใžใ†ใธใ‚“ใ—ใ‚…ใ†',\n",
" '็•ฐๅธธ็พ่ฑก',\n",
" 'ใ„ใ˜ใ‚‡ใ†ใ’ใ‚“ใ—ใ‚‡ใ†',\n",
" 'ๆง‹้€ ็š„ๆฌ ้™ฅ',\n",
" 'ใ“ใ†ใžใ†ใฆใใ‘ใฃใ‹ใ‚“',\n",
" '่ถ…่ƒฝๅŠ›่€…',\n",
" 'ใกใ‚‡ใ†ใฎใ†ใ‚Šใ‚‡ใใ—ใ‚ƒ',\n",
" 'ๅฎ‡ๅฎ™้–‹็™บๆ™‚ไปฃ',\n",
" 'ใ†ใกใ‚…ใ†ใ‹ใ„ใฏใคใ˜ใ ใ„'],\n",
" ['่’ธๆฐ—ๆฉŸ้–ข่ปŠ',\n",
" 'ใ˜ใ‚‡ใ†ใใใ‹ใ‚“ใ—ใ‚ƒ',\n",
" 'ไผšๅ ด่จญๅ–ถ',\n",
" 'ใ‹ใ„ใ˜ใ‚‡ใ†ใ›ใคใˆใ„',\n",
" '่ปŒ้“่ก›ๆ˜ŸไธŠ',\n",
" 'ใใฉใ†ใˆใ„ใ›ใ„ใ˜ใ‚‡ใ†',\n",
" 'ๅคชๅนณๆด‹้ซ˜ๆฐ—ๅœง',\n",
" 'ใŸใ„ใธใ„ใ‚ˆใ†ใ“ใ†ใใ‚ใค',\n",
" 'ๅ…ฌ้–‹่จŽ่ซ–ไผš',\n",
" 'ใ“ใ†ใ‹ใ„ใจใ†ใ‚ใ‚“ใ‹ใ„'],\n",
" ['ๅฐ็ฌ ๅŽŸ่ซธๅณถ',\n",
" 'ใŠใŒใ•ใ‚ใ‚‰ใ—ใ‚‡ใจใ†',\n",
" 'ใƒใ‚คใ‚ธใƒฃใƒƒใ‚ฏ็™บ็”Ÿ',\n",
" 'ใฏใ„ใ˜ใ‚ƒใฃใใฏใฃใ›ใ„',\n",
" '่ฆ‹็›ดใ—ใ‚’ๆฑ‚ใ‚ใ‚‹',\n",
" 'ใฟใชใŠใ—ใ‚’ใ‚‚ใจใ‚ใ‚‹',\n",
" 'ๅœฐ้œ‡ไบˆ็Ÿฅ้€ฃ็ตกไผš',\n",
" 'ใ˜ใ—ใ‚“ใ‚ˆใกใ‚Œใ‚“ใ‚‰ใใ‹ใ„'],\n",
" ['ใ‚ทใƒณใ‚ฌใƒผใ‚ฝใƒณใ‚ฐใƒฉใ‚คใ‚ฟใƒผ',\n",
" 'ใ—ใ‚“ใŒใƒผใใ‚“ใใ‚‰ใ„ใŸใƒผ',\n",
" 'ใ‚คใƒ™ใƒณใƒˆ้–‹ๅ‚ฌไธญ',\n",
" 'ใ„ในใ‚“ใจใ‹ใ„ใ•ใ„ใกใ‚…ใ†',\n",
" 'ใƒใ‚คใ‚ชใƒ†ใ‚ฏใƒŽใƒญใ‚ธใƒผ',\n",
" 'ใฐใ„ใŠใฆใใฎใ‚ใ˜ใƒผ',\n",
" '้ณดใ‚Š็‰ฉๅ…ฅใ‚Šใฎใ‚นใ‚ฟใƒผใƒˆ',\n",
" 'ใชใ‚Šใ‚‚ใฎใ„ใ‚Šใฎใ™ใŸใƒผใจ'],\n",
" ['็ฑณๅ›ฝ่ฅฟๆตทๅฒธ',\n",
" 'ในใ„ใ“ใใซใ—ใ‹ใ„ใŒใ‚“',\n",
" '้€Ÿไนพๆ€งใƒžใƒ‹ใ‚ญใƒฅใ‚ข',\n",
" 'ใใฃใ‹ใ‚“ใ›ใ„ใพใซใใ‚…ใ‚',\n",
" 'ๆ–ฐ็”Ÿๆดปใฎใ‚นใ‚ฟใƒผใƒˆ',\n",
" 'ใ—ใ‚“ใ›ใ„ใ‹ใคใฎใ™ใŸใƒผใจ',\n",
" 'ๅฐ่ชฌใฎๆŒฟใ—็ตต',\n",
" 'ใ—ใ‚‡ใ†ใ›ใคใฎใ•ใ—ใˆ'],\n",
" ['่ช•็”Ÿๆ—ฅใƒ—ใƒฌใ‚ผใƒณใƒˆ',\n",
" 'ใŸใ‚“ใ˜ใ‚‡ใ†ใณใทใ‚Œใœใ‚“ใจ',\n",
" 'ใ‚ชใƒผใƒ—ใƒณใ‚ญใƒฃใƒณใƒ‘ใ‚น',\n",
" 'ใŠใƒผใทใ‚“ใใ‚ƒใ‚“ใฑใ™',\n",
" 'ใƒขใƒผใƒ‹ใƒณใ‚ฐใ‚ตใƒผใƒ“ใ‚น',\n",
" 'ใ‚‚ใƒผใซใ‚“ใใ•ใƒผใณใ™',\n",
" '็คพไผš็š„็ซ‹ๅ ด',\n",
" 'ใ—ใ‚ƒใ‹ใ„ใฆใใŸใกใฐ'],\n",
" ['ใƒญใƒณใƒ‰ใƒณ็›ด่ผธๅ…ฅ',\n",
" 'ใ‚ใ‚“ใฉใ‚“ใกใ‚‡ใใ‚†ใซใ‚…ใ†',\n",
" 'ๅ•†ๅ“ไพกๅ€คใŒ้ซ˜ใ„',\n",
" 'ใ—ใ‚‡ใ†ใฒใ‚“ใ‹ใกใŒใŸใ‹ใ„',\n",
" 'ๆต่กŒใซๆตใ•ใ‚Œใ‚‹',\n",
" 'ใ‚Šใ‚…ใ†ใ“ใ†ใซใชใŒใ•ใ‚Œใ‚‹',\n",
" 'ใƒ•ใ‚กใƒณใ‚ฏใƒฉใƒ–ๅ…ฅไผš',\n",
" 'ใตใใ‚“ใใ‚‰ใถใซใ‚…ใ†ใ‹ใ„'],\n",
" ['ใƒ—ใƒฉใ‚คใƒ™ใƒผใƒˆใช็ฉบ้–“',\n",
" 'ใทใ‚‰ใ„ในใƒผใจใชใใ†ใ‹ใ‚“',\n",
" '่‡ช็”ฑๆฐ—ใพใพใช็”Ÿๆดป',\n",
" 'ใ˜ใ‚†ใ†ใใพใพใชใ›ใ„ใ‹ใค',\n",
" 'ๅ“่ถŠใ—ใŸใƒ†ใ‚ฏใƒ‹ใƒƒใ‚ฏ',\n",
" 'ใŸใใˆใคใ—ใŸใฆใใซใฃใ',\n",
" 'ใƒใ‚คใ‚ปใƒณใ‚นใงใƒใ‚คใƒ–ใƒญใƒผ',\n",
" 'ใฏใ„ใ›ใ‚“ใ™ใงใฏใ„ใถใ‚ใƒผ'],\n",
" ['ใƒ‡ใ‚ฃใ‚นใ‚ซใ‚ฆใƒณใƒˆใ‚ทใƒงใƒƒใƒ—',\n",
" 'ใงใƒใ™ใ‹ใ†ใ‚“ใจใ—ใ‚‡ใฃใท',\n",
" 'ใƒ“ใ‚ธใƒฅใ‚ขใƒซใ‚คใƒณใƒ‘ใ‚ฏใƒˆ',\n",
" 'ใณใ˜ใ‚…ใ‚ใ‚‹ใ„ใ‚“ใฑใใจ',\n",
" '่กๆ’ƒ็š„ๆ˜ ๅƒ',\n",
" 'ใ—ใ‚‡ใ†ใ’ใใฆใใˆใ„ใžใ†',\n",
" 'ๅฎใใ˜ๅฝ“้ธ',\n",
" 'ใŸใ‹ใ‚‰ใใ˜ใจใ†ใ›ใ‚“'],\n",
" ['ๆ„›็€ใŒใ‚ใ„ใฆใใ‚‹',\n",
" 'ใ‚ใ„ใกใ‚ƒใใŒใ‚ใ„ใฆใใ‚‹',\n",
" 'ๅฏพๆˆฆๅž‹ใ‚ฒใƒผใƒ ',\n",
" 'ใŸใ„ใ›ใ‚“ใŒใŸใ’ใƒผใ‚€',\n",
" 'ๅทจๅŒ ใฎๅ‚‘ไฝœ',\n",
" 'ใใ‚‡ใ—ใ‚‡ใ†ใฎใ‘ใฃใ•ใ',\n",
" '็ช็„ถใฎๅธญๆ›ฟใˆ',\n",
" 'ใจใคใœใ‚“ใฎใ›ใใŒใˆ'],\n",
" ['็ตŒๆธˆๆ„Ÿ่ฆšใŒใชใ„',\n",
" 'ใ‘ใ„ใ–ใ„ใ‹ใ‚“ใ‹ใใŒใชใ„',\n",
" 'ๆŠ—่ญฐใƒใ‚ฌใ‚ญๆฎบๅˆฐ',\n",
" 'ใ“ใ†ใŽใฏใŒใใ•ใฃใจใ†',\n",
" '่‹ฑ็Ÿฅใฎ้™ใ‚Šใ‚’ๅฐฝใใ™',\n",
" 'ใˆใ„ใกใฎใ‹ใŽใ‚Šใ‚’ใคใใ™',\n",
" 'ๆ‹›ใ‹ใ‚Œใ–ใ‚‹ๅฎข',\n",
" 'ใพใญใ‹ใ‚Œใ–ใ‚‹ใใ‚ƒใ'],\n",
" ['ๅƒปๅœฐใซ้ฃ›ใฐใ•ใ‚Œใ‚‹',\n",
" 'ใธใใกใซใจใฐใ•ใ‚Œใ‚‹',\n",
" '่จ€่‘‰ใฎ้ญ”่ก“ๅธซ',\n",
" 'ใ“ใจใฐใฎใพใ˜ใ‚…ใคใ—',\n",
" 'ใ‚นใ‚ฟใ‚ธใ‚ขใƒ ๆฑบๆˆฆ',\n",
" 'ใ™ใŸใ˜ใ‚ใ‚€ใ‘ใฃใ›ใ‚“',\n",
" 'ๆ•่…•ใƒ—ใƒญใƒ‡ใƒฅใƒผใ‚ตใƒผ',\n",
" 'ใณใ‚“ใ‚ใ‚“ใทใ‚ใงใ‚…ใƒผใ•ใƒผ']]"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"with open(files[1], 'rb') as f:\n",
" print(find_info(f))\n",
" offset, wordlists = find_section(f=f)\n",
"wordlists"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"('?????', 'NhahaGachooon', 'Hayachiya Shinpey')\n"
]
},
{
"data": {
"text/plain": [
"[['ใ‚ขใƒผใ‚คใ‚งใƒผใ‚ชใƒผใ‚คใ‚งใƒผ',\n",
" 'ใ‚ใƒผใ„ใ‡ใƒผใŠใƒผใ„ใ‡ใƒผ',\n",
" 'ใ‚ขใ‚คใƒžใ‚คใƒŸใƒผใƒฆใƒผใƒฆใ‚ขใƒฆใƒผ',\n",
" 'ใ‚ใ„ใพใ„ใฟใƒผใ‚†ใƒผใ‚†ใ‚ใ‚†ใƒผ',\n",
" '็†ฑใ„ใƒ“ใƒผใƒˆใ‚’ๅˆปใฟ่พผใ‚',\n",
" 'ใ‚ใคใ„ใณใƒผใจใ‚’ใใ–ใฟใ“ใ‚',\n",
" 'ใ‚ใ‚ŠใŠใ‚Šใฏในใ‚Šใ„ใพใใ‹ใ‚Š',\n",
" 'ใ‚ใ‚ŠใŠใ‚Šใฏในใ‚Šใ„ใพใใ‹ใ‚Š',\n",
" '็Šฌใ‚‚ๆญฉใ‘ใฐๆฃ’ใซๅฝ“ใŸใ‚‹',\n",
" 'ใ„ใฌใ‚‚ใ‚ใ‚‹ใ‘ใฐใผใ†ใซใ‚ใŸใ‚‹',\n",
" 'ใ‚จใƒ–ใƒชใƒใƒ‡ใ‚ฃใƒผใ•ใ„ใ“ใƒผ',\n",
" 'ใˆใถใ‚Šใฐใงใƒใƒผใ•ใ„ใ“ใƒผ',\n",
" 'ใŒใกใ‚‡ใฃใฆใŒใกใ‚‡ใƒผใ‚“',\n",
" 'ใŒใกใ‚‡ใฃใฆใŒใกใ‚‡ใƒผใ‚“',\n",
" 'ๅฃใซ่€ณใ‚ใ‚Š้šœๅญใซ็›ฎใ‚ใ‚Š',\n",
" 'ใ‹ในใซใฟใฟใ‚ใ‚Šใ—ใ‚‡ใ†ใ˜ใซใ‚ใ‚ใ‚Š',\n",
" '่ฏ้บ—ใซๆฑบใ‚ใ‚‹ใ‚นใ‚ฏใƒฉใƒƒใƒ',\n",
" 'ใ‹ใ‚Œใ„ใซใใ‚ใ‚‹ใ™ใใ‚‰ใฃใก',\n",
" 'ใ‚ฎใƒฃใƒฉใƒชใƒผ้”ใฎ่ฆ–็ทšใใŽใฅใ‘',\n",
" 'ใŽใ‚ƒใ‚‰ใ‚ŠใƒผใŸใกใฎใ—ใ›ใ‚“ใใŽใฅใ‘',\n",
" 'ใ‚ญใƒฌใŒใ‚ใ‚‹ใฎใซใ‚ณใ‚ฏใŒใ‚ใ‚‹',\n",
" 'ใใ‚ŒใŒใ‚ใ‚‹ใฎใซใ“ใใŒใ‚ใ‚‹',\n",
" 'ใ‚ฏใƒผใƒซใชใƒ—ใƒฌใ‚คใงๅ‹่ฒ ',\n",
" 'ใใƒผใ‚‹ใชใทใ‚Œใ„ใงใ—ใ‚‡ใ†ใถ',\n",
" 'ใ‚ฏใƒฉใƒ–ใ‚ทใƒผใƒณใงใƒŠใƒณใƒใƒผใƒฏใƒณ',\n",
" 'ใใ‚‰ใถใ—ใƒผใ‚“ใงใชใ‚“ใฐใƒผใ‚ใ‚“',\n",
" 'ๅฟƒใ‚‚ไฝ“ใ‚‚ใƒชใƒ•ใƒฌใƒƒใ‚ทใƒฅ',\n",
" 'ใ“ใ“ใ‚ใ‚‚ใ‹ใ‚‰ใ ใ‚‚ใ‚Šใตใ‚Œใฃใ—ใ‚…',\n",
" 'ๆธ‹่ฐท็•Œ้šˆใฎใ‚ฏใƒฉใƒ–ใง',\n",
" 'ใ—ใถใ‚„ใ‹ใ„ใ‚ใ„ใฎใใ‚‰ใถใง',\n",
" 'ใ‚ฟใ‚คใƒ‹ใƒผใ‚ฑใƒผใ‚คใ‚ซใƒขใƒผใƒณ',\n",
" 'ใŸใ„ใซใƒผใ‘ใƒผใ„ใ‹ใ‚‚ใƒผใ‚“',\n",
" 'ๆ—…ใฏ้“้€ฃใ‚Œไธ–ใฏๆƒ…ใ‘',\n",
" 'ใŸใณใฏใฟใกใฅใ‚Œใ‚ˆใฏใชใ•ใ‘',\n",
" 'ใกใ‚Šใ‚‚็ฉใ‚‚ใ‚Œใฐๅฑฑใจใชใ‚‹',\n",
" 'ใกใ‚Šใ‚‚ใคใ‚‚ใ‚Œใฐใ‚„ใพใจใชใ‚‹',\n",
" 'ใƒ‡ใ‚ฃใƒผใƒ—ใชใ‚ฎใƒฃใ‚ฐใ‚ปใƒณใ‚น',\n",
" 'ใงใƒใƒผใทใชใŽใ‚ƒใใ›ใ‚“ใ™',\n",
" '้ฃ›ใ‚“ใง็ซใซๅ…ฅใ‚‹ๅคใฎ่™ซ',\n",
" 'ใจใ‚“ใงใฒใซใ„ใ‚‹ใชใคใฎใ‚€ใ—',\n",
" 'ใƒŠใƒใƒŠใƒใƒŠใƒใƒŠใƒใƒŠใƒ',\n",
" 'ใชใฏใชใฏใชใฏใชใฏใชใฏ'],\n",
" ['ไบบๆฐ—ใƒŠใƒณใƒใƒผใƒฏใƒณใงใ™ใ‚',\n",
" 'ใซใ‚“ใใชใ‚“ใฐใƒผใ‚ใ‚“ใงใ™ใ‚',\n",
" '่ƒฝใ‚ใ‚‹้ทนใฏใคใ‚ใ‚’้š ใ™',\n",
" 'ใฎใ†ใ‚ใ‚‹ใŸใ‹ใฏใคใ‚ใ‚’ใ‹ใใ™',\n",
" 'ใƒชใƒผใƒใ‚คใƒƒใƒ‘ใƒ„ใƒ„ใƒข',\n",
" 'ใ‚Šใƒผใกใ„ใฃใฑใคใคใ‚‚',\n",
" 'ใ‚ใ‚่จ€ใˆใฐใ“ใ†่จ€ใ†',\n",
" 'ใ‚ใ‚ใ„ใˆใฐใ“ใ†ใ„ใ†',\n",
" 'ๅฝ“ใŸใ‚Šๅ‰็”ฐใฎใ‚ฏใƒฉใƒƒใ‚ซใƒผ',\n",
" 'ใ‚ใŸใ‚Šใพใˆใ ใฎใใ‚‰ใฃใ‹ใƒผ',\n",
" 'ใ‚ใฃใฟใ ใใ˜ใƒผใ‚ใฃใฟใ ใใ˜ใƒผ',\n",
" 'ใ‚ใฃใฟใ ใใ˜ใƒผใ‚ใฃใฟใ ใใ˜ใƒผ',\n",
" 'ๅฅ‡ๅฆ™ๅฅ‡ๅคฉ็ƒˆๆ‘ฉ่จถไธๆ€่ญฐ',\n",
" 'ใใฟใ‚‡ใ†ใใฆใ‚Œใคใพใ‹ใตใ—ใŽ',\n",
" 'ใ“ใ‚Šใ‚ƒใพใŸๅคฑ็คผใ—ใพใ—ใŸ',\n",
" 'ใ“ใ‚Šใ‚ƒใพใŸใ—ใคใ‚Œใ„ใ—ใพใ—ใŸ',\n",
" 'ใ˜ใ‚ƒใ“ใ“ใงใƒ‰ใƒญใƒณใ•ใ—ใฆ',\n",
" 'ใ˜ใ‚ƒใ“ใ“ใงใฉใ‚ใ‚“ใ•ใ—ใฆ',\n",
" 'ใ ใ†ใƒผใ‚“ใƒใƒงใ‚ญใƒ‘ใ‚ฏ',\n",
" 'ใ ใ†ใƒผใ‚“ใกใ‚‡ใใฑใ',\n",
" 'ใ ใฃใตใ‚“ใ ใƒผใฉใ‚“ใŒใ‚‰ใŒใฃใ—ใ‚ƒใƒผใ‚“',\n",
" 'ใ ใฃใตใ‚“ใ ใƒผใฉใ‚“ใŒใ‚‰ใŒใฃใ—ใ‚ƒใƒผใ‚“',\n",
" 'ใ ใ‚ใ ใ“ใ‚Šใ‚ƒ',\n",
" 'ใ ใ‚ใ ใ“ใ‚Šใ‚ƒ',\n",
" 'ๅตใฎ่ฆชใ˜ใ‚ƒใƒ”ใƒจใ‚ณใกใ‚ƒใ‚“',\n",
" 'ใŸใพใ”ใฎใŠใ‚„ใ˜ใ‚ƒใดใ‚ˆใ“ใกใ‚ƒใ‚“',\n",
" '็”ฐๅœ’่ชฟๅธƒใซๅฎถใŒๅปบใค',\n",
" 'ใงใ‚“ใˆใ‚“ใกใ‚‡ใ†ใตใซใ„ใˆใŒใŸใค',\n",
" 'ใฉใชใ„ใ‚„ใฃใกใ‚…ใƒผใญใ‚“',\n",
" 'ใฉใชใ„ใ‚„ใฃใกใ‚…ใƒผใญใ‚“',\n",
" 'ใ‚ใŸใ—ใ‚ƒ็ฅžๆง˜ใ ใ‚ˆ',\n",
" 'ใ‚ใŸใ—ใ‚ƒใ‹ใฟใ•ใพใ ใ‚ˆ',\n",
" '่ตคใƒ‘ใ‚ธใƒฃใƒž้ป„ใƒ‘ใ‚ธใƒฃใƒž',\n",
" 'ใ‚ใ‹ใฑใ˜ใ‚ƒใพใใฑใ˜ใ‚ƒใพ',\n",
" 'ใƒใƒใƒณใƒใƒใƒณใƒใƒณใƒใƒณ',\n",
" 'ใฐใฐใ‚“ใฐใฐใ‚“ใฐใ‚“ใฐใ‚“']]"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"with open(files[2], 'rb') as f:\n",
" print(find_info(f))\n",
" offset, wordlists = find_section(f=f)\n",
"wordlists"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"('GABBAH', 'HELL SCAPER', 'L.E.D LIGHT-G')\n"
]
},
{
"data": {
"text/plain": [
"[['้˜ใŒ้ณดใ‚‹ใชใ‚Šๆณ•้š†ๅฏบ',\n",
" 'ใ‹ใญใŒใชใ‚‹ใชใ‚Šใปใ†ใ‚Šใ‚…ใ†ใ˜',\n",
" 'ๅฐฑ่ทๆดปๅ‹•็†ฑ้ขจ',\n",
" 'ใ—ใ‚…ใ†ใ—ใ‚‡ใใ‹ใคใฉใ†ใญใฃใทใ†',\n",
" 'ใƒ‰ใƒฉใƒžใƒใƒƒใ‚ฏ็ทด็ฟ’่ฉฆๅˆ',\n",
" 'ใฉใ‚‰ใพใกใฃใใ‚Œใ‚“ใ—ใ‚…ใ†ใ˜ใ‚ใ„',\n",
" 'ใฒใจๅคใฎใ‚ขใƒดใ‚กใƒณใƒใƒฅใƒผใƒซ',\n",
" 'ใฒใจใชใคใฎใ‚ใ†ใ‚›ใใ‚“ใกใ‚…ใƒผใ‚‹',\n",
" 'ๆฑๅ้ซ˜้€Ÿๆธ‹ๆปž',\n",
" 'ใจใ†ใ‚ใ„ใ“ใ†ใใใ˜ใ‚…ใ†ใŸใ„'],\n",
" ['ใƒ›ใƒผใƒ ใƒกใ‚คใƒ‰ใ‚ฏใƒƒใ‚ญใƒณใ‚ฐ้›‘่ชŒ',\n",
" 'ใปใƒผใ‚€ใ‚ใ„ใฉใใฃใใ‚“ใใ–ใฃใ—',\n",
" 'ๅคงๆตทๅŽŸใฎๅฐใ•ใชๅฎถ',\n",
" 'ใŠใŠใ†ใชใฐใ‚‰ใฎใกใ„ใ•ใชใ„ใˆ',\n",
" 'ใƒžใ‚นใ‚ซใƒซใƒใƒผใƒใ‚ฏใƒชใƒผใƒ ใƒใƒผใ‚บ',\n",
" 'ใพใ™ใ‹ใ‚‹ใฝใƒผใญใใ‚Šใƒผใ‚€ใกใƒผใš',\n",
" 'ไบŒไบบไธ‰่„šๅพ’็ซถ่ตฐ',\n",
" 'ใซใซใ‚“ใ•ใ‚“ใใ‚ƒใใจใใ‚‡ใ†ใใ†',\n",
" '้ญ…ๅŠ›ใ‚ใ‚‹็™ปๅ ดไบบ็‰ฉ',\n",
" 'ใฟใ‚Šใ‚‡ใใ‚ใ‚‹ใจใ†ใ˜ใ‚‡ใ†ใ˜ใ‚“ใถใค'],\n",
" ['ไบบ้ข้ญš็™บ่ฆ‹ใƒฌใƒผใƒ€ใƒผ',\n",
" 'ใ˜ใ‚“ใ‚ใ‚“ใŽใ‚‡ใฏใฃใ‘ใ‚“ใ‚Œใƒผใ ใƒผ',\n",
" 'ใ‚ตใƒผใ‚ซใ‚นใฎๆ›ฒไน—ใ‚Šใƒฉใ‚คใ‚ชใƒณ',\n",
" 'ใ•ใƒผใ‹ใ™ใฎใใ‚‡ใใฎใ‚Šใ‚‰ใ„ใŠใ‚“',\n",
" '็ฃ้“ใ‚’่ตฐใ‚‹ใƒฉใ‚คใƒ€ใƒผ',\n",
" 'ใ‘ใ‚‚ใฎใฟใกใ‚’ใฏใ—ใ‚‹ใ‚‰ใ„ใ ใƒผ',\n",
" 'ใƒ„ใƒ™ใƒซใ‚ฏใƒชใƒณๅๅฟœๆคœๆŸป',\n",
" 'ใคในใ‚‹ใใ‚Šใ‚“ใฏใ‚“ใฎใ†ใ‘ใ‚“ใ•',\n",
" 'ใ‚ตใƒณใƒ—ใƒซใ‚ฏใƒฌใƒณใ‚ธใƒณใ‚ฐใ‚ฏใƒชใƒผใƒ ',\n",
" 'ใ•ใ‚“ใทใ‚‹ใใ‚Œใ‚“ใ˜ใ‚“ใใใ‚Šใƒผใ‚€'],\n",
" ['็›ฎ่ฆšใพใ—ๆ™‚่จˆใฎ้•ทใ„้‡',\n",
" 'ใ‚ใ–ใพใ—ใฉใ‘ใ„ใฎใชใŒใ„ใฏใ‚Š',\n",
" 'ใ‚ตใƒžใƒผใƒใƒผใ‚ฒใƒณใ‚ปใƒผใƒซ้–‹ๅ‚ฌ',\n",
" 'ใ•ใพใƒผใฐใƒผใ’ใ‚“ใ›ใƒผใ‚‹ใ‹ใ„ใ•ใ„',\n",
" 'ๅๅˆบใฎๆธกใ—ๆ–นใƒžใƒ‹ใƒฅใ‚ขใƒซ',\n",
" 'ใ‚ใ„ใ—ใฎใ‚ใŸใ—ใ‹ใŸใพใซใ‚…ใ‚ใ‚‹',\n",
" 'ๅ›ฝ้š›็คพไผšใ‹ใ‚‰ๅญค็ซ‹ใ™ใ‚‹',\n",
" 'ใ“ใใ•ใ„ใ—ใ‚ƒใ‹ใ„ใ‹ใ‚‰ใ“ใ‚Šใคใ™ใ‚‹'],\n",
" ['้ธๆ‰‹็”Ÿๅ‘ฝใ‚’่„…ใ‹ใ™',\n",
" 'ใ›ใ‚“ใ—ใ‚…ใ›ใ„ใ‚ใ„ใ‚’ใŠใณใ‚„ใ‹ใ™',\n",
" 'ๅ››ๅญฃๆŠ˜ใ€…ใฎ้ฃŸๅ“',\n",
" 'ใ—ใใŠใ‚ŠใŠใ‚Šใฎใ—ใ‚‡ใใŸใ',\n",
" 'ๅŽณใ—ใ„ไฟฎ่กŒใซ่€ใˆใ‚‹',\n",
" 'ใใณใ—ใ„ใ—ใ‚…ใŽใ‚‡ใ†ใซใŸใˆใ‚‹',\n",
" 'ใ‚ทใƒณใ‚ฏใƒญใƒŠใ‚คใ‚บใƒ‰ใ‚นใ‚คใƒŸใƒณใ‚ฐ',\n",
" 'ใ—ใ‚“ใใ‚ใชใ„ใšใฉใ™ใ„ใฟใ‚“ใ'],\n",
" ['ใ‚นใ‚ญใƒฅใƒผใƒใƒ€ใ‚คใƒ“ใƒณใ‚ฐใฎๅŸบ็คŽ',\n",
" 'ใ™ใใ‚…ใƒผใฐใ ใ„ใณใ‚“ใใฎใใ',\n",
" 'ๅฟœ็ญ”ใƒกใƒƒใ‚ปใƒผใ‚ธๅ†็”Ÿ',\n",
" 'ใŠใ†ใจใ†ใ‚ใฃใ›ใƒผใ˜ใ•ใ„ใ›ใ„',\n",
" 'ๅนณๅ‡ๆฐ—ๆธฉใฎไธŠๆ˜‡',\n",
" 'ใธใ„ใใ‚“ใใŠใ‚“ใฎใ˜ใ‚‡ใ†ใ—ใ‚‡ใ†',\n",
" 'ไบ‹ไปถใฏ็พๅ ดใง่ตทใ“ใฃใฆใ„ใ‚‹',\n",
" 'ใ˜ใ‘ใ‚“ใฏใ’ใ‚“ใฐใงใŠใ“ใฃใฆใ„ใ‚‹'],\n",
" ['ใŠ่‚ŒใฎใŠๆ‰‹ๅ…ฅใ‚Œใ‚’ๆฌ ใ‹ใ•ใชใ„',\n",
" 'ใŠใฏใ ใฎใŠใฆใ„ใ‚Œใ‚’ใ‹ใ‹ใ•ใชใ„',\n",
" 'ๆ–ฐ่ฃฝๅ“ๅคง้‡ๅ…ฅ่ท',\n",
" 'ใ—ใ‚“ใ›ใ„ใฒใ‚“ใŸใ„ใ‚Šใ‚‡ใ†ใซใ‚…ใ†ใ‹',\n",
" 'ๆฐ—ๅˆ†ใฏใ‚ตใƒžใƒผใƒใ‚ฑใƒผใ‚ทใƒงใƒณ',\n",
" 'ใใถใ‚“ใฏใ•ใพใƒผใฐใ‘ใƒผใ—ใ‚‡ใ‚“',\n",
" 'ๆ„ๅค–ใชไบ‹ๅฎŸใŒๅพ…ใกๅ—ใ‘ใ‚‹',\n",
" 'ใ„ใŒใ„ใชใ˜ใ˜ใคใŒใพใกใ†ใ‘ใ‚‹'],\n",
" ['ใƒ‘ใƒƒใƒใƒฏใƒผใ‚ฏใฎใƒ™ใƒƒใƒ‰ใ‚ซใƒใƒผ',\n",
" 'ใฑใฃใกใ‚ใƒผใใฎในใฃใฉใ‹ใฐใƒผ',\n",
" 'ๅˆๅฟƒใซใ‹ใˆใ‚‹ใใฃใ‹ใ‘ใซ',\n",
" 'ใ—ใ‚‡ใ—ใ‚“ใซใ‹ใˆใ‚‹ใใฃใ‹ใ‘ใซ',\n",
" 'ไธ€่บๅคฉไธ‹ใซๅใ‚’็Ÿฅใ‚‰ใ‚Œใ‚‹',\n",
" 'ใ„ใกใ‚„ใใฆใ‚“ใ‹ใซใชใ‚’ใ—ใ‚‰ใ‚Œใ‚‹',\n",
" '้€ฑๆœซใฎๅฐๆ—…่กŒ',\n",
" 'ใ—ใ‚…ใ†ใพใคใฎใ—ใ‚‡ใ†ใ‚Šใ‚‡ใ“ใ†'],\n",
" ['ๅฟƒใ‹ใ‚‰ๅนธใ›ใซใชใ‚‹',\n",
" 'ใ“ใ“ใ‚ใ‹ใ‚‰ใ—ใ‚ใ‚ใ›ใซใชใ‚‹',\n",
" '็„ก็†้›ฃ้กŒใ‚’็ชใใคใ‘ใ‚‰ใ‚Œใ‚‹',\n",
" 'ใ‚€ใ‚Šใชใ‚“ใ ใ„ใ‚’ใคใใคใ‘ใ‚‰ใ‚Œใ‚‹',\n",
" 'ใ‚ณใƒณใƒ‡ใ‚ฃใ‚ทใƒงใƒณใ‚’ๆ•ดใˆใ‚‹',\n",
" 'ใ“ใ‚“ใงใƒใ—ใ‚‡ใ‚“ใ‚’ใจใจใฎใˆใ‚‹',\n",
" 'ใ‚ธใƒฃใƒณใ‚ฌใƒชใ‚ขใƒณใƒใƒ ใ‚นใ‚ฟใƒผ',\n",
" 'ใ˜ใ‚ƒใ‚“ใŒใ‚Šใ‚ใ‚“ใฏใ‚€ใ™ใŸใƒผ'],\n",
" ['ๅๆŽขๅตๆœ€ๅคงใฎใƒ”ใƒณใƒ',\n",
" 'ใ‚ใ„ใŸใ‚“ใฆใ„ใ•ใ„ใ ใ„ใฎใดใ‚“ใก',\n",
" 'ๆฉŸๅฏ†ๆƒ…ๅ ฑใ‚’็›—ใฟใ ใ™',\n",
" 'ใใฟใคใ˜ใ‚‡ใ†ใปใ†ใ‚’ใฌใ™ใฟใ ใ™',\n",
" '้ฉšๅคฉๅ‹•ๅœฐใชๅ‡บๆฅไบ‹',\n",
" 'ใใ‚‡ใ†ใฆใ‚“ใฉใ†ใกใชใงใใ”ใจ',\n",
" 'ไบค้€šๆณ•่ฆใ‚’้ตๅฎˆใ™ใ‚‹',\n",
" 'ใ“ใ†ใคใ†ใปใ†ใใ‚’ใ˜ใ‚…ใ‚“ใ—ใ‚…ใ™ใ‚‹'],\n",
" ['ๆ—ฅๆœฌใฎไฝๅฎ…ไบ‹ๆƒ…',\n",
" 'ใซใปใ‚“ใฎใ˜ใ‚…ใ†ใŸใใ˜ใ˜ใ‚‡ใ†',\n",
" 'ใ‚ˆใใ‚ใ‹ใ‚‹ๆ ชๅผ่ฌ›ๅบง',\n",
" 'ใ‚ˆใใ‚ใ‹ใ‚‹ใ‹ใถใ—ใใ“ใ†ใ–',\n",
" 'ใƒ‡ใ‚นใ‚ฏใƒˆใƒƒใƒ—ๅž‹ใƒ‘ใ‚ฝใ‚ณใƒณ',\n",
" 'ใงใ™ใใจใฃใทใŒใŸใฑใใ“ใ‚“',\n",
" 'ใ„ใ„ๅญใง็•™ๅฎˆ็•ชใ—ใฆใ‚‹ใฎใ‚ˆ',\n",
" 'ใ„ใ„ใ“ใงใ‚‹ใ™ใฐใ‚“ใ—ใฆใ‚‹ใฎใ‚ˆ'],\n",
" ['ไธญๅคฎๆผ”็ฎ—่ฃ…็ฝฎ',\n",
" 'ใกใ‚…ใ†ใŠใ†ใˆใ‚“ใ–ใ‚“ใใ†ใก',\n",
" 'ไบบ็จฎใฎๅฉๅ ',\n",
" 'ใ˜ใ‚“ใ—ใ‚…ใฎใ‚‹ใคใผ',\n",
" 'ๆœๆ’ฐใช็ฎก็†ไฝ“ๅˆถ',\n",
" 'ใšใ•ใ‚“ใชใ‹ใ‚“ใ‚ŠใŸใ„ใ›ใ„',\n",
" '้ —ใ‚‹ๅฅๅบทใ ',\n",
" 'ใ™ใ“ใถใ‚‹ใ‘ใ‚“ใ“ใ†ใ '],\n",
" ['ไผ็ตฑใ‚’ๅ—ใ‘็ถ™ใๅฎ—ๅŒ ',\n",
" 'ใงใ‚“ใจใ†ใ‚’ใ†ใ‘ใคใใใ†ใ—ใ‚‡ใ†',\n",
" 'ๅคฉไธ‹็ตฑไธ€ใพใงใ‚ใจๅฐ‘ใ—',\n",
" 'ใฆใ‚“ใ‹ใจใ†ใ„ใคใพใงใ‚ใจใ™ใ“ใ—',\n",
" 'ๆŒซๆŠ˜ใจๆˆๅŠŸใฎ็‰ฉ่ชž',\n",
" 'ใ–ใ›ใคใจใ›ใ„ใ“ใ†ใฎใ‚‚ใฎใŒใŸใ‚Š',\n",
" 'ๅคขใฎ็ซถๆผ”ใŒๅฎŸ็พใ™ใ‚‹',\n",
" 'ใ‚†ใ‚ใฎใใ‚‡ใ†ใˆใ‚“ใŒใ˜ใคใ’ใ‚“ใ™ใ‚‹'],\n",
" ['ๅ…จๅ›ฝๅˆถ่ฆ‡ใ‚’ๆˆใ—้‚ใ’ใ‚‹',\n",
" 'ใœใ‚“ใ“ใใ›ใ„ใฏใ‚’ใชใ—ใจใ’ใ‚‹',\n",
" 'ๅ‰ƒๅˆ€ใฎใ‚ˆใ†ใชๆŠ€ใฎใ‚ญใƒฌ',\n",
" 'ใ‹ใฟใใ‚Šใฎใ‚ˆใ†ใชใ‚ใ–ใฎใใ‚Œ',\n",
" 'ๆ‡‡ใ‚ใซ็ญ”ใˆใ‚‹',\n",
" 'ใญใ‚“ใ”ใ‚ใซใ“ใŸใˆใ‚‹',\n",
" '็…ฉๆ‚ฉใซๆ•ใ‚‰ใ‚ใ‚Œใ‚‹',\n",
" 'ใผใ‚“ใฎใ†ใซใจใ‚‰ใ‚ใ‚Œใ‚‹']]"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"with open(files[3], 'rb') as f:\n",
" print(find_info(f))\n",
" offset, wordlists = find_section(f=f)\n",
"wordlists"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment