Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Possible next features of QuickBMS

Featured Replies

  • Author
  • Localization

aluigi, posted Tue May 31, 2016 7:48 pm (13858)


That's already done automatically by idstring.
Let's say you have: idstring "HELLO"
If the archive starts with "OLLEH" then the endianess will be changed and everything continues normally.
  • Replies 679
  • Views 56
  • Created
  • Last Reply

Top Posters In This Topic

  • Author
  • Localization

Ekey, posted Tue May 31, 2016 10:00 pm (13873)


I do not mean endian.

Code:
Archive A = identifier is "Super Man"
Archive B = identifier is "Batman"


A structure in the archive A is the same with the archive B, different only identifier.

Code:
IDString "Super Man" or "Batman"
IDString "Super Man" and "Batman"
  • Author
  • Localization

aluigi, posted Wed Jun 01, 2016 6:27 am (13880)


The idstring command has space for new strings so what I can do is adding the possibility of specifying other strings like an OR:
idstring "string1" "string2"
which means: if the signature is equal to string1 or string2 then ok.
Anyway it's something that is used rarely, I just use getdstring SIGN SIGNSZ and then compare the signature with the strings.
But if you think it's an important feature I can try to add that "or" to the next quickbms
  • Author
  • Localization

spider91, posted Sat Jul 02, 2016 12:22 pm (14969)


What about to add forward and backward switches to FindLoc command? Sometimes needed data paced at the end of file and it can be a lot faster if you make search from the end.
  • Author
  • Localization

aluigi, posted Sat Jul 02, 2016 12:37 pm (14970)


It's something that I can add, for example an additional argument to the command but my concern is about the Findloc command itself.
In fact it's something that should be used only in very rare and atypical situations (strange binary formats), are you sure to use quickbms for the right purpose?
If you want to play with text files and strings then quickbms is the wrong choice.
  • Author
  • Localization

spider91, posted Sat Jul 02, 2016 12:49 pm (14971)


I wasn't talking about strings now, usually i use findloc to search some headers of another formats, like a scanner/dumper and sometimes if i have a file with normal name and need an ID that is placed near the name in another package i use it too, so it's really useful command for some purposes.
  • Author
  • Localization

aluigi, posted Sat Jul 02, 2016 6:42 pm (14980)


Ok I will try to add it to quickbms 0.7.5
  • Author
  • Localization

aluigi, posted Fri Jul 08, 2016 5:30 am (15110)


Good idea.
  • Author
  • Localization

aluigi, posted Sun Jul 17, 2016 1:22 pm (15386)


A feature I have just implemented in the upcoming quickbms is the usage of a temporary file if the memory to reallocate is too big.
Let's say you have a buffer of 500Mb and you have to reallocate it to 1.5Gb, the realloc() will fail so quickbms will copy the current memory of the buffer (500Mb) to file, call malloc() and then copy the memory from the file to the new buffer.
The idea came from some big archives:
viewtopic.php?p=14571#p14571
At least on my system the beta 0.7.5 works on that huge RA3 sample where 0.7.4a fails :)

@Ekey
That Isaac stuff seems quite chaotic and I'm not sure about its implementation and "standard".
Have you seen it implemented somewhere?
  • Author
  • Localization

aluigi, posted Sun Jul 17, 2016 1:56 pm (15388)


Ok, the implementation on RosettaCode was horrible and confusing, but it will be available in 0.7.5 :D
  • Author
  • Localization

Ekey, posted Sun Jul 17, 2016 2:49 pm (15389)


aluigi wrote:
Ok, the implementation on RosettaCode was horrible and confusing, but it will be available in 0.7.5 :D

Cool! :D
  • Author
  • Localization

aluigi, posted Sun Jul 17, 2016 3:03 pm (15392)


Anyway if you have an example of where isaac is used then would be better, just to be 100% sure that the implementation is the same and doesn't use different settings.
  • Author
  • Localization

Ekey, posted Sun Jul 17, 2016 3:13 pm (15395)


How about this? -> trunk\symmetrical\sources\isaac.cpp . But it is different from the Rosetta code. Seems ISAAC Cipher custom code, because > ISAAC just random number generator.
  • Author
  • Localization

aluigi, posted Sun Jul 17, 2016 3:20 pm (15396)


Exactly what I meant, unfortunately.
Anyway this one is probably 100% matching the original code of Jenkins.
Well, I can implement both the one on Rosetta and this one, I will try.
  • Author
  • Localization

aluigi, posted Sun Jul 17, 2016 10:13 pm (15401)


Both have been implemented: isaac, vernam and isaacx.
Currently my todo list for 0.7.5 is empty and I have nothing else to add, if there are no new ideas then I can go with the new release.
There was (and still there is in 0.7.4a) a bug in filexor introduced in 0.7.4
  • Author
  • Localization

shekofte, posted Mon Jul 18, 2016 4:21 pm (15412)


aluigi wrote:
Ok, the implementation on RosettaCode was horrible and confusing, but it will be available in 0.7.5 :D

I wish the most mental aptitude for you Luigi so that you can overcome the most complicated problems
  • Author
  • Localization

aluigi, posted Mon Jul 18, 2016 4:49 pm (15414)


Thanks but in this case the problem was mainly related to not having a real standard implementation and so there is the risk of calling "isaac" an algorithm that provides a different output.
Regarding the horrible code... well also the other library linked by Ekey was painful :D
  • Author
  • Localization

shekofte, posted Tue Jul 19, 2016 9:15 am (15427)


aluigi wrote:
Thanks but in this case the problem was mainly related to not having a real standard implementation and so there is the risk of calling "isaac" an algorithm that provides a different output.
Regarding the horrible code... well also the other library linked by Ekey was painful :D


is there any information on the frequency use of Isaac algorithm ?
don't hesitate to pause this subject for awhile and resume it when the time really demand it !
  • Author
  • Localization

aluigi, posted Tue Jul 19, 2016 9:42 am (15428)


I guess it can be classified as "rare".
Never seen it implemented in any known encryption library (for example openssl) or game/software.
  • Author
  • Localization

aluigi, posted Tue Jul 19, 2016 12:42 pm (15431)


0.7.5 is out, the isaac algorithms are: isaac (code from cryptospecs), isaac_vernam and isaac_caesar (code from RosettaCode).
  • Author
  • Localization

aluigi, posted Wed Jul 20, 2016 3:57 pm (15464)


I have just found a very small bug in the check_wildcard() function that I use from long time, basically "testccheat" with wildcard "*cheat" says that doesn't match while that's false.
This function is used only in the -f and -F options and in the ScanDir command so it's impact is really very limited.
What a "luck" just the day after the new release... :(
It's not worth to release a version 0.7.5a for this bug, but if there are more small issues then it's ok.
So remember to report any problem, suggestion and feedback :D

Note that the function is used also in other (old) tools of mine...
  • Author
  • Localization

shekofte, posted Thu Jul 21, 2016 2:06 pm (15508)


aluigi wrote:
I have just found a very small bug in the check_wildcard() function that I use from long time, basically "testccheat" with wildcard "*cheat" says that doesn't match while that's false.
This function is used only in the -f and -F options and in the ScanDir command so it's impact is really very limited.
What a "luck" just the day after the new release... :(
It's not worth to release a version 0.7.5a for this bug, but if there are more small issues then it's ok.
So remember to report any problem, suggestion and feedback :D

Note that the function is used also in other (old) tools of mine...


thanks a lot for your efforts
you made yourself eternal by donation of the great Quickbms !
its applications are uncountable in the hand of people when it spread all of the world ...
I am so eager to have effect in the future of your tool but you are giant in comparison with my weak ability !
just wish good luck
  • Author
  • Localization

aluigi, posted Wed Aug 03, 2016 10:47 am (16116)


Just noticed that a new feature of findloc added in 0.7.5 introduced a bug that happens only when ERR_VALUE is specified.
OK: findloc OFFSET string "findme" 0
KO: findloc OFFSET string "findme" 0 ""
It's just caused by a simple and stupid mistake in line 1569 of bms.c "if(argc >= 5)" where 5 had to be 6... yeah it happens and that's why I dont like to add new features to things that work from long time.
The problem affects about 25 of my scripts, basically those that rely on searching magic values and not having a full parsing of the file.
Probably I will release a quick fix this week.
  • Author
  • Localization

aluigi, posted Wed Aug 03, 2016 2:29 pm (16125)


Update: I want to wait oodle 2.3.0 before releasing a new version of quickbms, it contains some updates that make the data created with it incompatible with 2.2.0 (available in quickbms 0.7.5).
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.