-
Notifications
You must be signed in to change notification settings - Fork 112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Samsung is now requiring matching IMEIs or serial numbers to download firmware #116
Comments
Posting here just for reference.
EDIT: using a service like https://samfw.com/firmware/SM-A346M/TPA/A346MUBU4BWK2 that probably gets the same url does work. |
For SM-A336B EUX I also get toIndex (62) is greater than size (32) With several versions:
|
Someone who's better at reverse engineering Windows apps than I am will need to find the new method in Smart Switch. I have a feeling it's not only the key that's changed. |
The release notes for v0.1.8 of samfusdl say they now require the IMEI for devices with a modem or the Serial Number for the rest. In addition, the Model and Region must match-up with the IMEI/SN. |
(I'm the author of the linked project) Yep, that seems to be the case unfortunately. I posted more details in a comment here: ivanmeler/SamFirm_Reborn#15 (comment) I've had no luck in bypassing the IMEI/serial number check. Spoofing old client versions doesn't seem to work. I'm guessing older versions of the official Smart Switch client don't work anymore either. |
I'm nowhere near good enough at reverse engineering assembly to find the new keys myself, so I unfortunately can't test or play around with values. |
I have a good imei database of samsung, can I help? |
Please see ivanmeler/SamFirm_Reborn#15 (comment). I posted a script to extract the keys from publicly downloadable sources. |
I don't know how long this will last, but setting the IMEI to |
Interesting. That works for me too--even for devices without a modem where a serial number would normally be needed. |
It's strange because it's neither an IMEI nor a serial number length, but lengths longer than 15 and shorter than 11 don't work. Maybe someone left a test value in the logic. |
I bet you're right. Variations of that, like |
- more info on chenxiaolong/samfusdl@1ad29ed https://github.com/chenxiaolong/samfusdl/releases/tag/v0.1.8 ivanmeler#15 (comment) zacharee/SamloaderKotlin#116 zacharee/SamloaderKotlin@e0766d7 Co-authored-by: Andrew Gunnerson <accounts+github@chiller3.com> Co-authored-by: Zachary Wander <zachary.wander@gmail.com> Co-authored-by: Anan Jaser <ananjaser@gmail.com> Signed-off-by: corsicanu <me@corsicanu.ro>
- more info on chenxiaolong/samfusdl@1ad29ed https://github.com/chenxiaolong/samfusdl/releases/tag/v0.1.8 #15 (comment) zacharee/SamloaderKotlin#116 zacharee/SamloaderKotlin@e0766d7 Co-authored-by: Andrew Gunnerson <accounts+github@chiller3.com> Co-authored-by: Zachary Wander <zachary.wander@gmail.com> Co-authored-by: Anan Jaser <ananjaser@gmail.com> Signed-off-by: corsicanu <me@corsicanu.ro>
00000000000000 imei is a common thing on LDU, phones that have modems unsynced with bootloaders, or even phones with EFS corrupted, so this particular imei might last |
FIXED MAYBE |
The test values don't work anymore. It looks like you only need a serial number, though, even for devices with an IMEI, and it looks like you might only need a matching model now. I can download U and U1 firmware on any US CSC for my S23 Ultra using my serial. |
It looks like there's an input size limit of 150 on the IMEI field. Going over that causes error 400 instead of 408. I'm not sure if we can use that for anything, but it might come in handy. |
Would be funny if we could grab a list of TACs from swappa or other gsm dbs and generate randomized imeis according to selected device. I tried last week some of the imeis from swappa and could download Fold 4 fw, so they were legit for sammy servers. LE: Not sure how legal this becomes, but might be a nasty workaround... |
I don't think there are any legal problems here since the IMEI isn't being used to register a device on a network. Some thoughts on generating IMEIs:
|
Yeah, seen that, but it's neither something you can call to fetch a imei at download request, nor a list you can integrate as a db inside the app... |
There is this, but the models are listed by marketing name instead of actual model name: http://tacdb.osmocom.org/ |
We might have a way in with |
I assume you're respecting the parity digit when you generate IMEI? ( https://simplycalc.com/luhn-calculate.php if guessing manually) (I'd try but no idea what region you're using, getting 403 errors with the few I tried) |
If you mean the check digit calculated with Luhn formula then yes. The region I use is EUX |
Thanks - I could get it to work with EUX For 35413692 many don't work indeed...
And plenty of failures all around -- I didn't see a failure in the 0 prefix on these 100 attempts but e.g. 0274804 failed when I tried before properly recording, and conversely some in the 1 range also worked (1048082, 1143164, 1192245 worked but not 1083287...); so it's not a contiguous range... I sure hope they don't actually know exactly what they sold on this server. I guess whatever we do we'll need some retry logic :/ |
Hello, I am trying to download the firmware of an sm-g900h but it gives me error 404. I don't know why I am using the imei that is recorded on the back of the device, thank you very much! |
Plenty of old devices (Note 3 , Note 4 S5 and the like) no longer host the FULL latest firmware as a standalone binary, instead they host a Previous / older firmware, and advertise an OTA as the most recent firmware, we can't download OTAs in this manner G900HXXS1CQD1 is the latest Package, but its not downloadable, G900HXXU1CVHA is advertised as the latest OS, but its an OTA not a full OS package, i faced this issue in my N910C, i could only download 1 version older firmware package that was hosted on external sources, and then OTA updated the phone. would be nice if someone knows how we can request OTAs Edit : also wonder how these devices get stock firmwares these days, last i checked smart switch did not support my note 4 or note 5, and i dont think kies works anymore
|
Thank you very much for your answer. This device is driving me crazy. The imai and the networks were deleted. I can't get the package that restores everything. greetings! |
The ODIN package isn't going to restore your IMEI. Modem info is stored in a persistent partition that never changes. |
1.16.8 includes retry logic to loop through a bunch of dummy serials until it finds one that works or runs out. I also made the in-app logic able to compile multiple TACs per model. It looks like 012345 is a good secondary to 123456, but I added the ones that worked for @martinetd as well. The IMEI field is a bit of a mess with so many generated IMEIs, but I'm not sure what the best way to present them is. |
Thanks for the information, I will continue investigating how to restore my IMEI, greetings from Argentina |
I had somewhat decent luck generating valid IMEIs, usually within 5 tries with this RNG
ananjaser1211/samloader@d93cd5b totally randomizing all digits or passing statics did not give me much luck, with this there is a good chance a valid imei will be used, incorporating this with TAC list however is a nightmare, i tried scraping swappa IMEIs etc but there seem to be a pattern of consistently marking a TAC for a certain model as a TAC for multiple models, this is obviously invalid, for example G960F and G960N are listed with the same TAC and it does not work (in the swappa csv) for either I pass the randomizer to FUS and check for response against 408, my concern though is such requests might introduce some limits from samsung, they seem to be clamping down hard for whatever reason. |
353326101234567 works for G960F/DBT and 353524091234569 works for G960N/KOO for me. |
I have tried it now and it is indeed working! i must have fudged the luhn bit, this makes variables much less thank you! |
More info at: ivanmeler/SamFirm_Reborn#15 (comment) zacharee/SamloaderKotlin#116 (comment) Signed-off-by: BlackMesa123 <giangrecosalvo9@gmail.com>
More info at: ivanmeler/SamFirm_Reborn#15 (comment) zacharee/SamloaderKotlin#116 (comment) Signed-off-by: BlackMesa123 <giangrecosalvo9@gmail.com>
More info at: ivanmeler/SamFirm_Reborn#15 (comment) zacharee/SamloaderKotlin#116 (comment) Signed-off-by: BlackMesa123 <giangrecosalvo9@gmail.com>
More info at: ivanmeler/SamFirm_Reborn#15 (comment) zacharee/SamloaderKotlin#116 (comment) Signed-off-by: BlackMesa123 <giangrecosalvo9@gmail.com>
More info at: ivanmeler/SamFirm_Reborn#15 (comment) zacharee/SamloaderKotlin#116 (comment) Signed-off-by: BlackMesa123 <giangrecosalvo9@gmail.com>
More info at: ivanmeler/SamFirm_Reborn#15 (comment) zacharee/SamloaderKotlin#116 (comment) Signed-off-by: BlackMesa123 <giangrecosalvo9@gmail.com>
More info at: ivanmeler/SamFirm_Reborn#15 (comment) zacharee/SamloaderKotlin#116 (comment)
More info at: ivanmeler/SamFirm_Reborn#15 (comment) zacharee/SamloaderKotlin#116 (comment) Signed-off-by: BlackMesa123 <giangrecosalvo9@gmail.com>
I have a samsung SM-X210 tablet, no sim card, no imei (aida64, checkimei, etc... returns null). how do i use the app ? |
Use tablet serial number. |
It seems like U and U1 can no longer share TACs. I also had to add a new "020202" dummy serial for the SM-S928U. |
More info at: ivanmeler/SamFirm_Reborn#15 (comment) zacharee/SamloaderKotlin#116 (comment) Signed-off-by: BlackMesa123 <giangrecosalvo9@gmail.com>
Generate serial doesn't work with SM-T727R4 (USC), is such behavior as expecting? |
IMEI generation only works for devices whose TAC (first 8 digits of the IMEI) we know. The SM-T727R4 isn't in the database. |
Will there ever be a way to generate SERIALS, eg. for getting firmware for tablets? |
Actually, I will move this to a new issue. |
In order to download firmware from Samsung's servers, an IMEI or serial number that matches the given model needs to be provided.
This issue is for discussing workarounds and approaches to retrieving firmware in light of the new requirement.
The text was updated successfully, but these errors were encountered: