@EkeyJust for your information, the hsel library is bugged and can't work correctly.In fact the 3des encryption/decryption writes data outside the buffer crashing quickbms which has protections against these problems.Even by fixing the problem I get wrong data.In short it's all bugged and doesn't work.

basically it takes data from 4 bytes before the beginning of the buffer with (*(lpBlock-1)).I added some checks and it works but I'm not sure if the encryption is correct because looks very weak.What I mean is that it's not a real DES but just a lame xor (complicated but still just a xor).

Hi, can you add ERR_VALUE to clog command, like in findloc? I have compressed file with chunks and sometimes compressed size is 0x4000 lower then it should be. It seems to be around every 0x800000 bytes, but i can't understand it's logic completely. ERR_VALUE would be very useful as a workaround, cause it will be possible to do something like this:

In my experience a similar feature was useful only with uncomplete formats or when I had to "scan/guess" a compression... definitely not worth for normal usage.The goal of quickbms and its language is trying to be as simple and possible.

Can you make putvarchar working with TEMPORARY_FILE? MEMORY_FILEs are useful, but not for big files, cause it gives malloc error even with exe for 4gb files, so sometimes TEMPORARY_FILEs need to be used, but i cant change values inside them without working putvarchar

The problem is that TEMPORARY_FILE is just the name of a file, so it can be used only with Open and *Log.Instead putvarchr is a memory-related command.The only way for you is just using goto and put on the file number that you used for the temporary file.

Hello aluigi!Do you have plans to add some... idk.. kinda JIT compiler or something else to improve performance?Usually I'm using QuickBMS for decrypting files, but with custom algorythms it takes too much time to get a result from a script.

e.g. I want to decrypt 120 MB file with this script, and on my PC it takes about 20 minutes (dual-core athlon 2.9 GHz)Can it be any faster?

Eh JIT would be cool but a core rewriting of quickbms is not possible, it takes a huge amount of time and effort for both writing and testing. Really impossible at the moment.

The solution I adopt when I need to work with custom algorithms is simply writing a C function (or a dll) and dumping it, then using it in quickbms as a MEMORY_FILE to call with CallDLL.The only down-side of this solution is that the user will be prompted to acknoledge the usage of the dll/dumped_function before running it (for security reasons).

Yeah CallDLL is really awesome: physical DLLs, memory dlls, dumped functions and even dumped groups of functions (since it's possible to specify the offset of the data to execute).Theoretically you can even build the x86 code at runtime with the embedded assembler in quickbms and then running the buffer you generated

Just remember to specify the correct calling convention, for example cdecl if you use gcc/mingw (default) or stdcall for VC++.

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum