ZenHAX

Free Game Research Forum | Official QuickBMS support | twitter @zenhax | SSL HTTPS://zenhax.com
It is currently Sun May 20, 2018 7:45 pm

All times are UTC




Post new topic  Reply to topic  [ 288 posts ]  Go to page Previous 111 12 13 14 15
Author Message
PostPosted: Fri May 11, 2018 6:06 pm 

Joined: Sun Aug 10, 2014 12:49 pm
Posts: 255
aluigi wrote:
Currently I have opted for writing ? or a char like <>|: in the entry. They are invalid chars for a filename, perfect for forcing this "special" clipboard mode.

Ah, the IPC mode is complete, it's probably totally useless since I think I'm going to release a dll but who cares:
- named pipe in message mode \\.\pipe\quickbms
- named pipe in byte mode \\.\pipe\quickbms_byte
- mailslot (not tested) \\.\mailslot\quickbms
- web IPC

They support just compression and encryption since there is nothing else interesting to offer.


Nice, any samples pls ?


Top
   
PostPosted: Fri May 11, 2018 8:31 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 8095
This is a portion of quickbms.txt that I'm still writing for quickbms 0.8.5 and it explains quite well how the IPC interface works:
Code:
D] web API and named pipe/mailslot IPC interface
------------------------------------------------

The -W command-line option starts the IPC mode which includes:
- web api running on the port specified with the -W option
- named pipe IPC in byte mode on \\.\pipe\quickbms_byte
- named pipe IPC in message mode on \\.\pipe\quickbms
- mailslot IPC on \\.\mailslot\quickbms\send with
  \\.\mailslot\quickbms\recv open in write mode (create it on your tool)

These interfaces have been successfully tested on both Windows and
Linux and the following is a quick set of examples for how using them
for decompressing data, those 302 and 1028 are only an example of input
and output size:

Example of web API:
POST http://127.0.0.1:1234/compress?algo=zlib&size=1028
attached Content is compressed input "as-is" (application/octet-stream)

Example of Named pipe (byte mode):
CreateFile      \\.\pipe\quickbms_byte
send: "comtype zlib\n"
send: "302\n"
send: 302 bytes of compressed data
send: "1028\n"
recv: "1028\n"
recv: 1028 bytes of decompressed data

Example of Named pipe (message mode):
CreateFile      \\.\pipe\quickbms
send: "comtype zlib"
send: "302"
send: 302 bytes of compressed data
send: "1028"
recv: "1028"
recv: 1028 bytes of decompressed data

Example of Mailslot:
CreateFile      \\.\mailslot\quickbms\send  GENERIC_WRITE
send: "comtype zlib"
send: "302"
send: 302 bytes of compressed data
send: "1028"
CreateMailslot  \\.\mailslot\quickbms\recv
recv: "1028"
recv: 1028 bytes of decompressed data

The IPC interface supports the encryption command too and other
features and commands may be added in future.
Currently the web API supports also /script and /file that are meant
mainly for debugging an input script and an input file based on the
script previously provided. In the latter case there will be no output
file generated just like with the -0 option (the TEMPORARY_FILE may be
the only exception).

If you need "code" it depends by your programming language, there are plenty of examples online since they are just a web API and a simple CreateFile+ReadFile+WriteFile(+CreateMailSlot for mailslots) which are the basis of Windows programming


Top
   
PostPosted: Sat May 12, 2018 9:22 am 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 8095
Just a note about filexor/filerot/filecrypt because the current quickbms.txt documentation lacks the FILENUM field after OFFSET:
filexor VAR [OFFSET] [FILENUM]

filexor is a command that works universally on all the files, that FILENUM is ONLY referred to the optional OFFSET field since it's used to calculate the position in the key you are using depending by the offset of the file.
Now there is a very rare event (happened yesterday) in which you may need to use a MEMORY_FILE or a file different than the main one (0) and after you set OFFSET you notice that the decryption is a mess... that's caused by the missing FILENUM field which is mandatory in this rare situation, example:
Code:
savepos CURRENT_OFFSET MEMORY_FILE
filexor KEY CURRENT_OFFSET MEMORY_FILE
get VAR long MEMORY_FILE

Don't think that being the author of quickbms makes me remember all the commands, options, features, caveats and bugs of the tool :D
I check quickbms.txt and even the source code of quickbms (damn "encryption random"...) very often...


Top
   
PostPosted: Mon May 14, 2018 6:07 pm 

Joined: Sun Aug 10, 2014 12:49 pm
Posts: 255
aluigi wrote:
This is a portion of quickbms.txt that I'm still writing for quickbms 0.8.5 and it explains quite well how the IPC interface works:
Code:
D] web API and named pipe/mailslot IPC interface
------------------------------------------------

The -W command-line option starts the IPC mode which includes:
- web api running on the port specified with the -W option
- named pipe IPC in byte mode on \\.\pipe\quickbms_byte
- named pipe IPC in message mode on \\.\pipe\quickbms
- mailslot IPC on \\.\mailslot\quickbms\send with
  \\.\mailslot\quickbms\recv open in write mode (create it on your tool)

These interfaces have been successfully tested on both Windows and
Linux and the following is a quick set of examples for how using them
for decompressing data, those 302 and 1028 are only an example of input
and output size:

Example of web API:
POST http://127.0.0.1:1234/compress?algo=zlib&size=1028
attached Content is compressed input "as-is" (application/octet-stream)

Example of Named pipe (byte mode):
CreateFile      \\.\pipe\quickbms_byte
send: "comtype zlib\n"
send: "302\n"
send: 302 bytes of compressed data
send: "1028\n"
recv: "1028\n"
recv: 1028 bytes of decompressed data

Example of Named pipe (message mode):
CreateFile      \\.\pipe\quickbms
send: "comtype zlib"
send: "302"
send: 302 bytes of compressed data
send: "1028"
recv: "1028"
recv: 1028 bytes of decompressed data

Example of Mailslot:
CreateFile      \\.\mailslot\quickbms\send  GENERIC_WRITE
send: "comtype zlib"
send: "302"
send: 302 bytes of compressed data
send: "1028"
CreateMailslot  \\.\mailslot\quickbms\recv
recv: "1028"
recv: 1028 bytes of decompressed data

The IPC interface supports the encryption command too and other
features and commands may be added in future.
Currently the web API supports also /script and /file that are meant
mainly for debugging an input script and an input file based on the
script previously provided. In the latter case there will be no output
file generated just like with the -0 option (the TEMPORARY_FILE may be
the only exception).

If you need "code" it depends by your programming language, there are plenty of examples online since they are just a web API and a simple CreateFile+ReadFile+WriteFile(+CreateMailSlot for mailslots) which are the basis of Windows programming




Thx im gonna try it out, but do u have any idea when DLL will be released ? I sure u dont know exactly but roughtly :) ?


Top
   
PostPosted: Mon May 14, 2018 9:59 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 8095
I guess I will release 0.8.5 (and its dll version) before the end of the month.
All the things in my todo list have been done.


Top
   
PostPosted: Tue May 15, 2018 6:17 pm 

Joined: Sun Aug 10, 2014 12:49 pm
Posts: 255
aluigi wrote:
I guess I will release 0.8.5 (and its dll version) before the end of the month.
All the things in my todo list have been done.



Yeaah best news ever :) Thx man this will be a new rising day for modders :D


Top
   
PostPosted: Tue May 15, 2018 8:26 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 8095
Is it really so useful to use the compression algorithms of quickbms?

Most of them are known libraries (zlib, lz4, lzo and so on) or small algorithms easy to port to other languages.
The encryption algorithms are all known libraries.


Top
   
PostPosted: Tue May 15, 2018 11:49 pm 

Joined: Sun Aug 10, 2014 12:49 pm
Posts: 255
aluigi wrote:
Is it really so useful to use the compression algorithms of quickbms?

Most of them are known libraries (zlib, lz4, lzo and so on) or small algorithms easy to port to other languages.
The encryption algorithms are all known libraries.



Yes it is for programmer like where i dont need to look for something, simply everything on 1 place and i believe that usage of the functions will be the same for all algos or compressions or at least very similar , so its also make thing easier.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 288 posts ]  Go to page Previous 111 12 13 14 15

All times are UTC


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

Search for:
Powered by phpBB® Forum Software © phpBB Limited