I've found online that .bm files are for models and .ba for animation, although any existing tools for other games don't work here. I've also included the .dds texture for the gun as these aren't readable either, possibly using a similar compression method.
Thanks
Karma Online .bm, .ba
-
- Posts: 706
- Joined: Fri Aug 08, 2014 1:06 am
Re: Karma Online .bm, .ba
the _tex.dds texture file (w_stg44_black_tex.dds) is xored with 0xc2 and 0x6a
the _tex_low.dds texture file (w_stg44_black_tex_low.dds) is xored with 0xd9 and 0xa6
the _normal.dds texture file (w_stg44_black_tex_normal.dds) is xored with 0xb9 and 0x66
the _normal_low.dds texture file (w_stg44_black_tex_normal_low.dds) is xored with 0x94 and 0x66
the *.bm model file (w_stg44_1st.bm) is xored with 0xd8 and 0x6a
the *.ba animation file (w_stg44_1st.ba) is xored with 0xb8 and 0x66
might be best to make a Noesis python script to open and xor the dds files based on key parts of the base name.
edit
first submesh of w_stg44_1st_unxored.bm, looks like a trigger
Code: Select all
# script for QuickBMS http://aluigi.altervista.org/quickbms.htm
encryption xor "\xc2\x6a"
get SIZE asize
get NAME basename
get EXT extension
string NAME + _unxored.
string NAME + EXT
log NAME 0 SIZE
the _tex_low.dds texture file (w_stg44_black_tex_low.dds) is xored with 0xd9 and 0xa6
Code: Select all
# script for QuickBMS http://aluigi.altervista.org/quickbms.htm
encryption xor "\xd9\xa6"
get SIZE asize
get NAME basename
get EXT extension
string NAME + _unxored.
string NAME + EXT
log NAME 0 SIZE
the _normal.dds texture file (w_stg44_black_tex_normal.dds) is xored with 0xb9 and 0x66
Code: Select all
# script for QuickBMS http://aluigi.altervista.org/quickbms.htm
encryption xor "\xb9\x66"
get SIZE asize
get NAME basename
get EXT extension
string NAME + _unxored.
string NAME + EXT
log NAME 0 SIZE
the _normal_low.dds texture file (w_stg44_black_tex_normal_low.dds) is xored with 0x94 and 0x66
Code: Select all
# script for QuickBMS http://aluigi.altervista.org/quickbms.htm
encryption xor "\x94\x66"
get SIZE asize
get NAME basename
get EXT extension
string NAME + _unxored.
string NAME + EXT
log NAME 0 SIZE
the *.bm model file (w_stg44_1st.bm) is xored with 0xd8 and 0x6a
Code: Select all
# script for QuickBMS http://aluigi.altervista.org/quickbms.htm
encryption xor "\xd8\x6a"
get SIZE asize
get NAME basename
get EXT extension
string NAME + _unxored.
string NAME + EXT
log NAME 0 SIZE
the *.ba animation file (w_stg44_1st.ba) is xored with 0xb8 and 0x66
Code: Select all
# script for QuickBMS http://aluigi.altervista.org/quickbms.htm
encryption xor "\xb8\x66"
get SIZE asize
get NAME basename
get EXT extension
string NAME + _unxored.
string NAME + EXT
log NAME 0 SIZE
might be best to make a Noesis python script to open and xor the dds files based on key parts of the base name.
edit
first submesh of w_stg44_1st_unxored.bm, looks like a trigger