Demunging .Script Files Into LUA?

Started by Phobos, October 22, 2011, 02:14:44 AM

Previous topic - Next topic
October 22, 2011, 02:14:44 AM Last Edit: November 10, 2011, 07:55:48 PM by Inactive
Is there a way to reverse scriptmunge.exe in toolsFL to turn munged .script file into source .lua file? The source lua for common and shell scripts are not provided, only mission. Below is the text of the addon.lua file used in rancorland, followed by the text from addon.script once it was munged using scriptmunge.exe. If there is a way to decipher the encryption algorithm would de-munging be possible? I have a few programs I downloaded to test on these files.

Addon.lua - Before Munging
-- add the new tat level to the missionlist
local newEntry = { mapluafile = "RANCOR", showstr = "RANCORLAND", side_a = 1, dnldable = 1, }

-- append it to the sp missionlist table
local n = getn(sp_missionselect_listbox_contents)   
sp_missionselect_listbox_contents[n+1] = newEntry

-- append it to the mp missionlist table
n = getn(mp_missionselect_listbox_contents)
mp_missionselect_listbox_contents[n+1] = newEntry


-- associate this mission name with the current downloadable content directory
-- you should list all missions in mission.lvl here.
-- first arg: mapluafile from above
-- second arg: mission script name
-- third arg: level memory modifier.  the arg to LuaScript.cpp: DEFAULT_MODEL_MEMORY_PLUS(x)
AddDownloadableContent("RANCOR","RANCORc",4)
AddDownloadableContent("RANCOR","RANCORa",4)

-- all done
newEntry = nil
n = nil


Addon.script - After Munging
ucfbì  scr_ä  NAME   addme   INFO      BODYÀ  Lua@  ...Í•M   =(none)                             mapluafile    RANCOR    showstr    RANCORLAND    side_a    dnldable    getn "   sp_missionselect_listbox_contents "   mp_missionselect_listbox_contents    AddDownloadableContent    RANCORc    RANCORa         *        G   ‡   Ç       €G    €  Œ  Ì  B€  Ì  K     €    Ô€ Œ    B  R      K     €    Ô€ L  G   ‡  Æ  €  L  G   Ç  Æ  €  D      D   R       

Just tried using 010 editor to extract .texture files from common.lvl. The program sucks, it does not save extracted files, forces you to save them individually.

It saves none of these output files -.-
Executing script 'C:\swbf1\010 Scripts\get_texture.1sc' on 'C:\swbf1\010 Scripts\common.lvl'...
backbutton_left.texture
backbutton_right.texture
backbutton_mid.texture
small_arrow.texture
hud_dest_icon.texture
hud_flag_icon.texture
hud_flag_timer.texture
hud_icon_flash.texture
hud_map_raster.texture
all_icon.texture
blank_icon.texture
bluelaser_d.texture
bluelaser_l.texture
blurmask.texture
border_3_pieces.texture
border_3a_pieces.texture
btna.texture
btnb.texture
btn_r1.texture
btn_r2.texture
btn_circle.texture
btn_l3r3.texture
btn_pad.texture
btn_rectangle.texture
btn_stick.texture
btn_triangle.texture
btnmisc.texture
btnmisc2.texture
btn_start.texture
btn_select.texture
btn_analog_l_down.texture
btn_analog_r_down.texture
btnl1.texture
btnl2.texture
btnr1.texture
btnr2.texture
chrome.texture
cis_icon.texture
commandpostflare.texture
controller.texture
flag_icon.texture
fluffy.texture
fx_godray.texture
fx_snow.texture
fx_splash.texture
fxrippl1.texture
greenlaser_d.texture
greenlaser_l.texture
hit_indicator.texture
hotspot.texture
ig_victory_defeat.texture
imp_icon.texture
leaf.texture
lightglow.texture
lightsabreglow.texture
lightningball1.texture
map_mask.texture
muzzleflash.texture
muzzleflashstreak.texture
noise.texture
gray_rect.texture
opaque_black.texture
opaque_rect.texture
orangelaser_d.texture
orangelaser_l.texture
ping_icon.texture
player_icon.texture
player_shadow.texture
raster.texture
redlaser_d.texture
redlaser_l.texture
rep_icon.texture
reticule_00.texture
reticule_01.texture
reticule_02.texture
reticule_03.texture
reticule_04.texture
reticule_05.texture
reticule_rocket.texture
reticule_sniper.texture
reticule_assaultrifle.texture
reticule_bowcaster.texture
reticule_charger.texture
reticule_main.texture
reticule_pistol.texture
reticule_rifle.texture
slider_bg.texture
slider_fg.texture
stats_cpp.texture
stats_deaths.texture
stats_kills.texture
titlebar_l.texture
titlebar_r.texture
tooltip_bg.texture
troop_icon.texture
troop_snipe.texture
turret_icon.texture
rechargedroid_icon.texture
violetlaser_d.texture
violetlaser_l.texture
weapon_scope.texture
weapon_scope2.texture
weapon_scope3.texture
weapon_scope4.texture
white.texture
whitecircle.texture
whitesmoke.texture
yellowlaser_d.texture
starburst.texture
mousecursor.texture
hud_health.texture
hud_vehiclehealth.texture
grenade_icon.texture
ambush_icon.texture
lobby_icons.texture
imp_sniperrifle_icon.texture
imp_pistol_icon.texture
imp_launcher_icon.texture
imp_fusioncutter_icon.texture
imp_blasterrifle_icon.texture
squad_cmd_cross.texture
squad_cmd_highlight.texture
hud1.texture
hud2.texture
hud_active_repair_icon.texture
hud_jetpack_icon.texture
hud_shield_icon.texture
cursor.texture
buttonleft.texture
buttonmid.texture
buttonright.texture
listbox_cursor.texture
listbox_hilight.texture
headerbuttonleft.texture
headerbuttonmid.texture
headerbuttonright.texture
vehiclepositionbubble.texture
vehiclepositionframe.texture
hud_all_cloudcar_icon.texture
hud_all_detonator_icon.texture
hud_all_dishturret_icon.texture
hud_all_snowspeeder_icon.texture
hud_all_tauntaun_icon.texture
hud_all_turret_icon.texture
hud_all_xwing_icon.texture
hud_all_ywing_icon.texture
hud_cis_aat_icon.texture
hud_cis_droideka_icon.texture
hud_cis_droidfighter_icon.texture
hud_cis_hailfire_icon.texture
hud_cis_maf_icon.texture
hud_cis_mtt_icon.texture
hud_cis_spiderwalker_icon.texture
hud_cis_stap_icon.texture
hud_combat_speeder_icon.texture
hud_com_probedroid_health_icon.texture
hud_enclosedturret_icon.texture
hud_fambaa_icon.texture
hud_geo_fighter_icon.texture
hud_geo_turret_icon.texture
hud_imp_atat_icon.texture
hud_imp_atst_icon.texture
hud_imp_tiebomber_icon.texture
hud_imp_tiefighter_icon.texture
hud_imp_trooptrans_icon.texture
hud_kaadu_icon.texture
hud_kam_turret_icon.texture
hud_lukeslandspeeder_icon.texture
hud_rep_atte_icon.texture
hud_rep_fightertank_icon.texture
hud_rep_forward_comm_icon.texture
hud_rep_gunship_icon.texture
hud_rep_jedistarfighter_icon.texture
hud_speederbike_icon.texture
hud_tat_skiff_icon.texture
hud_yav_pedastal_turret_icon.texture
hud_com_landmine_icon.texture
hud_crack_grenade_icon.texture
hud_orbital_strike_icon.texture
hud_powerup_icon.texture
hud_rocket_icon.texture
hud_timebomb_icon.texture
hud_com_grenade_icon.texture
combatspeeder_icon.texture
tauntaun_kaadu_icon.texture
qos_veryverybad.texture
fx_ringbump.texture
dirt.texture
flare1.texture
flare4.texture
redlaser.texture
lightning1.texture
lightning2.texture
flare0.texture
flare3.texture
cs_flare1.texture
explode3.texture
thicksmoke1.texture
thicksmoke3.texture
boom5.texture
thicksmoke2.texture
boom4.texture
flames1.texture
dirtspray.texture
blacksmoke.texture
underlitesmoke1.texture
flames2.texture
flames3.texture
a_sparks3.texture
flare5.texture
splash.texture
lightflare.texture
cs_bubble.texture
jetpack.texture
smoketrail.texture
explode4.texture
spark2.texture
metaljunk.texture
exploflare.texture
geo_blastballs.texture
arccaster_lightning.texture
geo_fly_geowingsblur.texture
boom6.texture
geo_rainwash.texture
water1.texture
waterfoam1.texture
blastring.texture
cs_ring.texture
flare2.texture
com_weap_inf_grenadethermal.texture
com_1st_weap_inf_grenadethermal.texture
com_1st_weap_inf_torpedo.texture
com_1st_weap_inf_torpedo_bump.texture
all_medical_kit.texture
all_engineer_rifle_inf.texture
missile.texture
common_bldg_commandpost.texture
common_bldg_commandpost_bump.texture
com_icon_controlzone.texture
com_weap_probedroid.texture
com_weap_inf_landmine.texture
com_weap_inf_seismic_mine.texture
meshmuzzleflash.texture
construction create.texture
shell_cube.texture
item_powerup_ammo.texture
item_powerup_health.texture
gonk.texture
gonk_bump.texture
com_item_healthrecharge.texture
com_item_healthrecharge_bump.texture
com_item_vehicalrecharge.texture
com_item_vehicalrecharge_bump.texture
hud_all_lascannon_icon.texture
hud_enclosedturret_icon.texture
com_bldg_minigun_turret.texture
com_bldg_minigun_turret_bump.texture
com_bldg_minigun.texture
com_bldg_minigun_bump.texture
com_bldg_minigun_base.texture
com_bldg_minigun_base_bump.texture
redlaser_d.texture
hud_flag_icon.texture
common_bldg_controlzone_large.texture
common_bldg_controlzone_large_bump.texture
com_prop_barriers.texture
com_inv_col.texture


Edits/Restored Posts:
Is is possible to make mod maps load their own custom common.lvl? I need to do this with my next map project.

Quote from: SleepkillerSecret? Hardly, he posted how he was doing it on gametoast. The only "secret" thing about was the scripts he decompiled which he never realesed before he dissappeared. Of course the method he was doing is like doing the hardest thing you can think of then multiplying that by 1000 and you might get an idea of how hard it is. And BattleBelk knew many differant coding forms in and he also made 010 Editor scripts that turned the LUA into a slightly more readable form. The only person known to have those scripts, ironicly is one of the most respected modders out their, Teancum.(Irony stikes for the third time today.)
Teancum hoarding scripts battlebelk intended to release to bf1 modders doesn't surprise me at all. I do not believe he has them. If he does and won't release them, he has let down the modding community. I think he just wants to sound important by pretending he has them. BattleBelk did not post the algorithm anywhere on gametoast btw.

Quote from: Sleepkiller
Well, nobodys ever asked him for the 010 scripts. And BattleBelk did post them publicly on gametoast but the link is long dead. And stop dissing Teancum he has done a whole lot moe for the modding community than you think.Just because I joined this year does not mean I did not intensively read the old topics to catch up with everyone, trust me he posted his method of how he was doing.

And I suppose you think Psych0fred has done nothing for the community and is worthless because he has a lot of SWBF1 goodies that we do not have and that he reasonably won't release due to legal issues.
Those scripts were never posted on gametoast unless you are saying that the content was deleted by 2008. I have archives dating back to 2009, and they don't exist there. Psych0fred is the #1 on my list of most respected modders and I see you heading towards the bottom now by saying those deliberately false things about how I view psych0fred. Psych0fred has done far more than anyone else, including teancum, the only one who came remotely close to his level was battlebelk.

If it weren't for psych0fred then bfbuilder would probably not have been released. Of course he couldn't release copyrighted assets like sound. As to the legality of publishing common and shell scripts however, I don't know. Battlebelk posted his things whether they breached EULA or not (like sptest loader), and nobody ever gave him grief over it.

Quote from: Sleepkiller
And I agree Psych0fred  is to be highly respected, but you've got to remember Teancum is probably your best chance of demunging those scripts. And you my friend need to realise that a modding community produces mods for people to play on, not to realse the mods assets for other modders. But for those who can not mod to have a better gaming experiance. Realise this mate, few modders ever realse their assets. Those that do you can be thankful for. But those that don't must still be respected because their mod is making 1000s of players get more from their game.

The discussion here is not about what is my best chance, it's involves the entire modding community, so our best chance to demunge the scripts will be by getting help from someone really good at C++ and is capable of deciphering the 'skew algorithm' you claim pandemic employed to the standard LUA encryption. There are some programs which claim to be capable of this but I have not yet tested them. Teancum is not going to be any help at all in this because he has zero interest in sharing those scripts with the swbf1 modding community. There is no justification for Teancum or anyone else to claim the assets to source LUA for stock common and shell scripts are "their" assets. They are LucasArts/Pandemic's Assets, no matter who is responsible for de-compiling or de-munging them. I will always try to release both assets and compiled mods because the modding community needs both to thrive. Also, the common.lvl builder is not truly complete until we have source files for everything in data/munged, including LUA scripts.

The big problem is the varibles the LUA code uses and this has already been discussed like 10-20 times. All with the conclusion. No. The problem is the LUA decompilers out their crash because Pandemic had the earge to stightly alter the way LUA is compiled thus the decompiler does not know what to make of it and crashes. Such a shame they felt the need to keep these scripts from us.....(Granted it is their work and they had a right to do so. But still..........)

Quote from: Phobos Developer on October 22, 2011, 02:40:39 AM
So you're saying BattleBelk somehow figured out the secret munge algorithm but nobody else is/was able to demunge the files except him?
Secret? Hardly, he posted how he was doing it on gametoast. The only "secret" thing about was the scripts he decompiled which he never realesed before he dissappeared. Of course the method he was doing is like doing the hardest thing you can think of then multiplying that by 1000 and you might get an idea of how hard it is. And BattleBelk knew many differant coding forms in and he also made 010 Editor scripts that turned the LUA into a slightly more readable form. The only person known to have those scripts, ironicly is one of the most respected modders out their, Teancum.(Irony stikes for the third time today.)

October 22, 2011, 03:11:45 AM #3 Last Edit: October 22, 2011, 03:36:10 AM by SleepKiller
Quote from: Phobos Developer on October 22, 2011, 03:03:45 AM
Teancum hoarding scripts battlebelk intended to release to bf1 modders doesn't surprise me at all. I do not believe he has them. If he does and won't release them, he has let down the modding community.
Well, nobodys ever asked him for the 010 Editor scripts. And BattleBelk did post them publicly on gametoast but the link is long dead. And stop dissing Teancum he has done a whole lot moe for the modding community than you think.
QuoteBattleBelk did not post the algorithm anywhere on gametoast btw.
Just because I joined this year does not mean I did not intensively read the old topics to catch up with everyone, trust me he posted his method of how he was doing.

And I suppose you think Psych0fred has done nothing for the community and is worthless because he has a lot of SWBF1 goodies that we do not have and that he reasonably won't release due to legal issues.

Not scripts from SWBF, 010 editor scripts to make the LUA easieir to decode. And he could not realese the scripts due to copyright reasons Pandemic has a copy right over those scripts and apprantly did not want them realesed for their own reasons.

And I agree Psych0fred  is to be highly respected, but you've got to remember Teancum is probably your best chance of demunging those scripts. And you my friend need to realise that a modding community produces mods for people to play on, not to realse the mods assets for other modders. But for those who can not mod to have a better gaming experiance. Realise this mate, few modders ever realse their assets. Those that do you can be thankful for. But those that don't must still be respected because their mod is making 1000s of players get more from their game.

QuoteBattlebelk posted his things whether they breached EULA or not (like sptest loader), and nobody ever gave him grief over it.
He did not have me around :P

Quick question

EDIT: oops. forgot to write it :P

Could we possibly try contacting battlebelk? i think russian's his main language, if i'm not mistaken.
Current Projects:
Battlefront One and a Half Era Mod, v2.0. Making great progress (SWBF)

October 22, 2011, 05:20:00 AM #6 Last Edit: October 22, 2011, 05:38:35 AM by Buckler
http://www.xfire.com/profile/battlebelk/

last seen over a year ago on xfire, but maybe it's still linked to his email account


------------------------

here are my conversations with him:

Conversation started between ~{PLA}~ Led and -=MsC=-BattleBelk | Белка: Wed, Feb  04 13:50:36 2009
[13:50] ~{PLA}~ Led: hi battlebelk, i have a question for you about swbf:  is it possible to *not* display team chat and all chat by using a mod?
[13:51] ~{PLA}~ Led: some friends of mine would like to let their kids play, but there is often too much cursing
[13:51] -=MsC=-BattleBelk | Белка: hmm maybe
[13:51] -=MsC=-BattleBelk | Белка: u mean for server?
[13:51] -=MsC=-BattleBelk | Белка: or for client?
[13:51] ~{PLA}~ Led: either server side or client side
[13:52] -=MsC=-BattleBelk | Белка: maybe
[13:52] -=MsC=-BattleBelk | Белка: but I dont know how
[13:52] ~{PLA}~ Led: ah
[13:52] -=MsC=-BattleBelk | Белка: sometimes ther is a bug when u cant see chat
[13:52] ~{PLA}~ Led: right
[13:52] ~{PLA}~ Led: and i guess there is no command line switch?
[13:52] -=MsC=-BattleBelk | Белка: no
[13:53] ~{PLA}~ Led: k, thx!
[13:53] -=MsC=-BattleBelk | Белка: its hack way I think
[13:53] ~{PLA}~ Led: ya, i have seen some amazing things that you, jedikiller, and nexus have done
[13:54] -=MsC=-BattleBelk | Белка: ok thx
[13:55] -=MsC=-BattleBelk | Белка: problem is many source files not wailble for swbf1
[13:55] ~{PLA}~ Led: ah
[13:55] -=MsC=-BattleBelk | Белка: <Invalid / command. Type /help for help>
[13:55] ~{PLA}~ Led: "/ainotext"  ?
[13:56] -=MsC=-BattleBelk | Белка: no its other mode
[13:56] -=MsC=-BattleBelk | Белка: for SPTEST.exe
[13:56] ~{PLA}~ Led: ah
[13:56] ~{PLA}~ Led: no problem, thought it was worth asking, thx
[13:57] -=MsC=-BattleBelk | Белка: in debug tool SPTEST.exe there is mode when ai have some information and path and this is disable information
[14:02] <battlebelk stopped playing Star Wars Battlefront>
[14:11] <battlebelk is now playing The Lord of the Rings: Conquest>
Conversation ended: Wed, Feb  04 14:13:13 2009
Conversation started between ~{PLA}~ Led and -=MsC=-BattleBelk: Mon, Jun  22 14:13:37 2009
[14:13] ~{PLA}~ Led: hi, do you have a new member named TT ?
[14:13] -=MsC=-BattleBelk: no
[14:13] ~{PLA}~ Led: ok, then there is a fake MSC that also wallhacks
[14:14] -=MsC=-BattleBelk: -.-
[14:14] ~{PLA}~ Led: ip address 79.201.84.55
[14:14] -=MsC=-BattleBelk: where?
[14:14] ~{PLA}~ Led: LedCloudCityTkoff
[14:14] ~{PLA}~ Led: (my server)
[14:14] ~{PLA}~ Led: i banned him, but have a video
[14:15] ~{PLA}~ Led: i will upload to xfire shortly
[14:15] -=MsC=-BattleBelk: I think not need
[14:15] ~{PLA}~ Led: k
[14:15] -=MsC=-BattleBelk: wich map btw?
[14:15] ~{PLA}~ Led: cloud city
[14:15] -=MsC=-BattleBelk: ok
[14:15] ~{PLA}~ Led: he was in front entrance as a clone het
[14:15] ~{PLA}~ Led: *jet
[14:15] -=MsC=-BattleBelk: I think I need to finish my antiglitch sever mod...
[14:15] ~{PLA}~ Led: maybe pilot
[14:15] ~{PLA}~ Led: cool
Conversation ended: Mon, Jun  22 14:23:03 2009
Conversation started between ~{PLA}~ Led and -=MsC=-BattleBelk: Fri, Jul  10 16:27:28 2009
[16:27] ~{PLA}~ Led: hi--jedikiller mentioned you have made some antiglitch maps
[16:27] ~{PLA}~ Led: would you mind if i used them on my server?
[17:20] -=MsC=-BattleBelk: тщ
[17:20] -=MsC=-BattleBelk: no
[17:20] -=MsC=-BattleBelk: use it
[17:21] ~{PLA}~ Led: is cloud city available?
[17:21] -=MsC=-BattleBelk: http:// IP address removed/antiglith_dedicated.7z
[17:21] -=MsC=-BattleBelk: temporaly link from my pc
[17:21] ~{PLA}~ Led: thank you!
[17:23] <battlebelk stopped playing Star Wars Battlefront>
[17:24] -=MsC=-BattleBelk: np
Conversation ended: Fri, Jul  10 17:28:43 2009
Quote from: Abraham Lincoln. on November 04, 1971, 12:34:40 PM
Don't believe everything you read on the internet

Quote from: Phobos Developer on October 22, 2011, 04:05:06 AM
:slap: I had this almost typed up and it got closed. So here a retype:

The discussion here is not about what is my best chance, it's involves the entire modding community, so our best chance to demunge the scripts will be by getting help from someone really good at C++ and is capable of deciphering the 'skew algorithm' you claim pandemic employed to the standard LUA encryption. There are some programs which claim to be capable of this but I have not yet tested them. Teancum is not going to be any help at all in this because he has zero interest in sharing those scripts with the swbf1 modding community.

There is no justification for Teancum or anyone else to claim the assets to source LUA for stock common and shell scripts are "their" assets. They are LucasArts/Pandemic's Assets, no matter who is responsible for de-compiling or de-munging them. I will always try to release both assets and compiled mods because the modding community needs both to thrive.

Also, the common.lvl builder is not truly complete until we have source files for everything in data/munged, including LUA scripts.
Okay teancum said he does no longer have the LUA scripts he shered what he did have.(Possiblely the most useful script aye jdee?) no he has 010 Editor Scripts that BattleBelk made and publicly released on gametoast. So if someone asked if he still has them I'm sure he would realese them.


Change it from common.lvl to commonaddon.lvl and remove the scripts, and animations, then yes it should load up without crashing.

Hey, i had a conversation (VERY!)short with belk :)

On YouTube :)

Search for BattleBelk, u'll find him....

But he said, that he is on Linux, and he said, he had made everything what is possible to do with modding and he had finished with bf.....

Maybe someone can try it, to bring him back, or just share his knowledge :)

I don't think BattleBelk knew it was possible to make mods like cloud city skin changer or exit to windows in MP (common LUA modding). Anyway if you could direct him to this website or ask him these questions I would be grateful

1) how did battlebelk make the chameleon color changing darktrooper
2) how did battlebelk make the 6 unit spawn button show up on spawn menu.

Hey Phobos.

Yes, i asked him this and some other stuff, but he didnt answered...

Ah, and Phobos, i had a question. I love your skin changer mod and, if u have enough time, could u make a tutorial, that will be very nice from u :)