QtDevl wrote:I'm sorry but unfortunately I don't have the imagination to write a challenge
I'm more intrigued to solve them
Alright then, at least I tried.
QtDevl wrote:I'm sorry but unfortunately I don't have the imagination to write a challenge
I'm more intrigued to solve them
cyberdrain wrote:QtDevl, if you have the time, could you dev up some binary exploitation missions? Sounds like you know what you're talking about and HTS could use some binary exploitation missions imho.
ilanman123 wrote:QtDevl wrote:ilanman123 wrote:Hi.
Like a number of people before me, the app says the password is correct but I can't submit it to HTS.
The password I got is HTS-142C-1A2A-2120-0118-0D13
As with programming 9, you must remember the server handles all the binary calculations as 64 bit integers, not 32 bit.
For example, your code is correct for the app, but for the server your code would really be
HTS-142C-1A2A-2120-2705-160E
MODS: if this is a spoiler delete, but since he got a correct code, i presume this is ok.
LATE EDIT:
Since I was asked as to why this happens, I'll explain it here.
The application was compiled for 32 bit, and it uses 32bit integers, which means all bitwise operations are done ON 32 bits( NOTE that compiling for 64 bits does not guarantee 64bit integers or unless you specifically use them ).
As me and mzungudo have found out for programming 9, the server on the other hand is 64 bits, so all integers are 64 bits, which means bitwise operations can AND WILL overflow to 64 bits if necessary.
Now, this wouldn't be a problem normally, but NightQuest ( app17 creator ) made a small mistake.
The app does a LEFT SHIFT x positions ( x position varies, if you've done this you'll know which one it is ), sometimes x can be more than 32, which is a problem as in c a left shift of more than int size ( 32 in this case ) bits IS UNDEFINED BEHAVIOUR.
The server on the other hand has 64 bit integers and can do shifts up to and including 64 bits.
So if you've made a keygen for this and want to submit your code, you should use 64 bit integers and you should be fine, the easiest way would be if you know php to convert your code to php and use a 64 bit server.Obviously the app won't accept the code, but the site will.
Fixing this can be easy or hard depending on which road you take, the app could have some sanity checks so bitwise operations don't overflow, the server could force 32bit integers or cut out extra bits when they overflow.
About 2 years ago me and mzungudo have proposed a fix but apparently it wasn't put online.
Thank you for explaining why this happens. This problem exists for more than 2 years, I wonder why they still haven't fixed it.
Users browsing this forum: No registered users and 0 guests