Hi! I'm new here. Before I start, let me give some details about my computer that I believe will be relevent:
I have 64-bit computer running Windows 8.1
I have the Steam version of KotOR 1
I have Comodo Antivirus installed
So, I downloaded KSE v3.3.5 in order to try to modify a save in order to get around the Black Vulkar garage elevator bug present in the K1R mod. Whenever I click on the executable, it simply refuses to start. Here are the things I have checked for in order to try to get this to run:
I made sure that I had a string variable for "Path" located in the registry key "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\BioWare\SW\KOTOR" which pointed to my installation direction at "D:\Program Files (x86)\Steam\SteamApps\common\swkotor"
I have ran the program "As Administrator"
All the necessary DLLs are in the folder with KSE
I disabled all antivirus software
After many hours spent crawling through the web coming across similar problems concerning KSE and their fixes, I have found that none have worked. So, I decided to try to do a little digging myself.
I brought up the Windows Event Logs in order to find any information concerning KSE's execution...
Here I have the error log with an event ID of 1000:
Faulting application name: kse_335.exe, version: 3.3.5.0, time stamp: 0x50a21a5d
Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000
Exception code: 0xc0000005
Fault offset: 0x04441427
Faulting process id: 0x1a78
Faulting application start time: 0x01d029685a865d9f
Faulting application path: D:\KotOR\Programs\KSE_v335\kse_335.exe
Faulting module path: unknown
Report Id: 9851eb3f-955b-11e4-beec-74d02be969ef
Faulting package full name:
Faulting package-relative application ID:
Here I have the information log with an event ID of 1001:
Fault bucket 73782827651, type 1
Event Name: APPCRASH
Response: Not available
Cab Id: 0
Problem signature:
P1: kse_335.exe
P2: 3.3.5.0
P3: 50a21a5d
P4: StackHash_5861
P5: 0.0.0.0
P6: 00000000
P7: c0000005
P8: PCH_BB_FROM_ntdll+0x0003CEEC
P9:
P10:
Attached files:
C:\Users\Jason\AppData\Local\Temp\WER60C1.tmp.WERInternalMetadata.xml
These files may be available here:
C:\Users\Jason\AppData\Local\Microsoft\Windows\WER\ReportArchive\AppCrash_kse_335.exe_d1e36562483d248e416cbf9ffc5331e24c21_49b6af7b_0cd36370
Analysis symbol:
Rechecking for solution: 0
Report Id: 9851eb3f-955b-11e4-beec-74d02be969ef
Report Status: 0
Hashed bucket: ebc3874def85e5c6113064259fa99e3a
And here I have a small report that was generated:
Version=1
EventType=APPCRASH
EventTime=130649917368338043
ReportType=2
Consent=1
UploadTime=130649917369275556
ReportIdentifier=9851eb40-955b-11e4-beec-74d02be969ef
IntegratorReportIdentifier=9851eb3f-955b-11e4-beec-74d02be969ef
WOW64=1
NsAppName=kse_335.exe
Response.BucketId=ebc3874def85e5c6113064259fa99e3a
Response.BucketTable=1
Response.LegacyBucketId=73782827651
Response.type=4
Sig[0].Name=Application Name
Sig[0].Value=kse_335.exe
Sig[1].Name=Application Version
Sig[1].Value=3.3.5.0
Sig[2].Name=Application Timestamp
Sig[2].Value=50a21a5d
Sig[3].Name=Fault Module Name
Sig[3].Value=StackHash_5861
Sig[4].Name=Fault Module Version
Sig[4].Value=0.0.0.0
Sig[5].Name=Fault Module Timestamp
Sig[5].Value=00000000
Sig[6].Name=Exception Code
Sig[6].Value=c0000005
Sig[7].Name=Exception Offset
Sig[7].Value=PCH_BB_FROM_ntdll+0x0003CEEC
DynamicSig[1].Name=OS Version
DynamicSig[1].Value=6.3.9600.2.0.0.768.101
DynamicSig[2].Name=Locale ID
DynamicSig[2].Value=1033
DynamicSig[22].Name=Additional Information 1
DynamicSig[22].Value=5861
DynamicSig[23].Name=Additional Information 2
DynamicSig[23].Value=5861822e1919d7c014bbb064c64908b2
DynamicSig[24].Name=Additional Information 3
DynamicSig[24].Value=a10f
DynamicSig[25].Name=Additional Information 4
DynamicSig[25].Value=a10ff7d2bb2516fdc753f9c34fc3b069
UI[2]=D:\KotOR\Programs\KSE_v335\kse_335.exe
UI[3]=KotOR//KotOR2 Savegame Editor v3.3.5 has stopped working
UI[4]=Windows can check online for a solution to the problem.
UI[5]=Check online for a solution and close the program
UI[6]=Check online for a solution later and close the program
UI[7]=Close the program
LoadedModule[0]=D:\KotOR\Programs\KSE_v335\kse_335.exe
LoadedModule[1]=C:\WINDOWS\SYSTEM32\ntdll.dll
LoadedModule[2]=C:\WINDOWS\SYSTEM32\KERNEL32.DLL
LoadedModule[3]=C:\WINDOWS\SYSTEM32\KERNELBASE.dll
LoadedModule[4]=C:\WINDOWS\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.9600.17415_none_a9ed7f470139b3c1\COMCTL32.dll
LoadedModule[5]=C:\WINDOWS\SYSTEM32\USER32.dll
LoadedModule[6]=C:\WINDOWS\SYSTEM32\ADVAPI32.dll
LoadedModule[7]=C:\WINDOWS\SYSTEM32\MSVCRT.dll
LoadedModule[8]=C:\WINDOWS\SYSTEM32\GDI32.dll
LoadedModule[9]=C:\WINDOWS\SYSTEM32\sechost.dll
LoadedModule[10]=C:\WINDOWS\SYSTEM32\RPCRT4.dll
LoadedModule[11]=C:\WINDOWS\SYSTEM32\SspiCli.dll
LoadedModule[12]=C:\WINDOWS\SYSTEM32\CRYPTBASE.dll
LoadedModule[13]=C:\WINDOWS\SYSTEM32\bcryptPrimitives.dll
LoadedModule[14]=C:\WINDOWS\system32\IMM32.DLL
LoadedModule[15]=C:\WINDOWS\SYSTEM32\MSCTF.dll
LoadedModule[16]=C:\Windows\SYSTEM32\guard32.dll
LoadedModule[17]=C:\WINDOWS\SYSTEM32\VERSION.dll
LoadedModule[18]=C:\WINDOWS\SYSTEM32\PSAPI.DLL
LoadedModule[19]=C:\WINDOWS\SYSTEM32\fltlib.dll
LoadedModule[20]=C:\WINDOWS\SYSTEM32\ntmarta.dll
LoadedModule[21]=C:\WINDOWS\SYSTEM32\WS2_32.dll
LoadedModule[22]=C:\WINDOWS\SYSTEM32\NSI.dll
LoadedModule[23]=D:\KotOR\Programs\KSE_v335\libstdc++-6.dll
LoadedModule[24]=D:\KotOR\Programs\KSE_v335\libgcc_s_sjlj-1.dll
State[0].Key=Transport.DoneStage1
State[0].Value=1
FriendlyEventName=Stopped working
ConsentKey=APPCRASH
AppName=KotOR//KotOR2 Savegame Editor v3.3.5
AppPath=D:\KotOR\Programs\KSE_v335\kse_335.exe
NsPartner=windows
NsGroup=windows8
ApplicationIdentity=555285055932281FD2CFEB17A500F044
Taking a look at the logs, I can see that an exception value of 0xc0000005 was thrown. A quick lookup tells me that this was thrown due to invalid memory access. I tried to remedy this by turning of "Data Execution Prevention (DEP)" for the KSE executable. This did not change a thing.
With the knowledge that this was due to invalid memory RW, I decided to venture a bit further in order to try and find the problem. I decided to attach OllyDbg to kse_335.exe to see if there might be only a single line in the program's disassembly that may be the culprit.
I found one such opcode to be causing problems:
As can be seen in the image above, there is indeed some sort of memory violation. However... simply NOP'ing or disabling that one line only brings me to many other opcodes that access invalid memory. It seems that the problem is not easily fixable by small machine code rewrites unfortunately. Sadly, I could not tell you the significance of the instruction at 0x04441427 or any of the others after it.
However, I guess the point of this post was to show that there's something seriously wrong with the KSE on Windows 8.1 (at the very least) on 64-bit machines. I do have the source code though, so I could try sniffing out the bugs by scouring through lines and lines of Perl, but that would take a while. Does anyone have any easy fix for this?
Also, you could tell me how to manually modify save values with a hex editor if it'll save me time and I don't have to worry about checksums or something. I tried opening up GLOBALVAR.res with HxD and modifying the save value for "Tar_VulkarElevator" by going to 0x90AD and changing the value there, but that didn't seem to fix anything.
Like I said, I'm new to modding KotOR, so I'm not sure if there's something I'm totally missing here...
EDIT: Actually, I would imagine it would be beneficial if someone (Fair Strides?) could tell me what all I need to compile the source, too.