Re: [New tool] PureLibrary Explorer
Posted: Thu Sep 24, 2015 6:59 am
Nice work and I'm sure it'll be very handy.
http://www.purebasic.com
https://www.purebasic.fr/english/
just trying to get my stupid head around things lol. The file formats i just figured them out with a hex editor, theyre not obfuscated or compressed or anything so it was straight forwadLunasole wrote:impresses, seems you learned PB internals very well.
Code: Select all
Procedure.s GetPurelibType(file$)
Protected hFile.i, *sMagicBuffer, sMagic.s, sType.s, sInternal.s
hFile = ReadFile(#PB_Any, file$, #PB_File_SharedRead)
If hFile
*sMagicBuffer = AllocateMemory(5)
If *sMagicBuffer
ReadData(hFile, *sMagicBuffer, 4)
sMagic = PeekS(*sMagicBuffer, 4, #PB_Ascii)
If sMagic = "ERUP"
FileSeek(hFile,4)
ReadData(hFile, *sMagicBuffer, 4)
If PeekL(*sMagicBuffer) = 'EDLL'
sType = "EDL"
FileSeek(hFile,$0D)
ElseIf PeekL(*sMagicBuffer) = 'LSO1'
sType = "LSO"
FileSeek(hFile,$0D)
Else
FileSeek(hFile,8)
ReadData(hFile, *sMagicBuffer, 4)
sType = Chr(PeekA(*sMagicBuffer+3)) + Chr(PeekA(*sMagicBuffer+2)) + Chr(PeekA(*sMagicBuffer+1))
FileSeek(hFile,$14)
EndIf
sInternal = ReadString(hFile,#PB_Ascii)
CloseFile(hFile)
ProcedureReturn sType + "|" + sInternal
EndIf
FreeMemory(*sMagicBuffer)
EndIf
EndIf
EndProcedure
Code: Select all
Procedure.s SetReturns(sTxt.s)
Protected offset.i, *pchar.Character = @sTxt + StringByteLength(sTxt) - SizeOf(Character)
Repeat
*pchar - SizeOf(Character)
Until *pchar\c = ' '
offset = (*pchar - @sTxt) / SizeOf(Character)
ProcedureReturn Left(sTxt, offset) + " retn " + Right(sTxt, Len(sTxt) - offset - 1)
EndProcedure
Code: Select all
; If SizeOf(Character) = 2
; MessageRequester("Compile Error","My bad, Unicode not supported - please use Ascii compile"):
; End
; EndIf
Code: Select all
sPurelibsPath = #PB_Compiler_Home + "purelibraries"
Code: Select all
sPurelibsPath = GetPathPart(GetEnvironmentVariable("PB_TOOL_IDE")) + "PureLibraries"
Did you put some text into the Find: stringgadget? Like Find: window + DeepScanmpz wrote: Fri Oct 29, 2021 9:52 pm I test it put it looks that "deepscan" doesnt work on my win 10 pc. I klick on a lib and then the deepscan button, but the deep scan windows is empty...
Do you have a solution?