-
Notifications
You must be signed in to change notification settings - Fork 32
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
Manual #3
Comments
Not developer of this project, but maybe I am able to help you. |
More about compiler, it may not be possible to compile with more modern API compiler because of some C header files are missing in more recent APIs. It may have changed recently, feel free to experiment. |
Basically the hardest part is to determine correct memory offsets (g_current_page, g_led_status, g_main_domain, g_loaddomain_code for 128x64 OLED screens). I do it as follows:
Some older oled binaries has debug text and you can understand what functions does what, but newer binaries are completely stripped (most probably because Huawei knows about oled_hijack). |
hi can you make video or be more clearly about the steps and thanks |
Can you please include easy steps on how to use it on E5786? |
There isn't any easy steps to perform everything I described in #3 (comment) |
I am confused about find variable, also there is no |
You should use a proper disassembler, not an online one. |
What decompiler that you use.. |
@aiemassfiria I use IDA Pro, but that's doesn't really matter. |
ValdikSS Im study the binary from E5372 to implement binary at 5377. Its really hard to understand for 1st time...but after a deep learn now its works...the problem is now i can't select the menu..for example: to change the TTL from 64 to 128. After press button nothing happen. Hope u can show me the select part or izzit have some error from my .c variable Video: http://199.175.53.21/E5377.mp4 Thanks for your hardwork. really appreciate it. |
@aiemassfiria Add |
Try to look at this video again.. http://199.175.53.21/E5377-1.mp4 Only selected menu did't work..and i dont know what part need to be edited. OR in #define part Thanks for quick reply. Really excited |
Either oled daemon configuration is not suitable for oled_hijack (it requires special configuration) or this newer executable file requires special handling to "skip" back button focus on menu change. |
Edited: So all my configuration in C is correct? Thank you for your tips "newer executable file requires special handling to "skip" back button focus on menu change" http://199.175.53.21/E5377-work.mp4 Thank you so much ValdikSS. |
#3 (comment) |
@aiemassfiria make sure to fix/adapt the scripts for your device model. Take a look at all required firmware modifications in the log of https://github.com/Huawei-LTE-routers-mods/Huawei_E5770_mod_fw_webui/ |
not fully compile it yet.. |
Sure @ValdikSS . Im already make some custom for others modem too.. E5885 with compiling version 21.182.63.00.233 supported to 2.4 & 5ghz based on your old firmware. Some modification too at oled..included On/off//BandSelection/Dns Selection hijack forward port 53 to others smartdns port which is some telco's blocked change dns others and vpn too up to 5 config. But all based on your oled. http://199.175.53.21/E5885.mp4 For E5377 looks like all work fine. Then.. I try to implement it at E5577 seem similiar too binary E5885 and E5770. In oled E5885 i can find From that result i can see .text:00012C90 which is looks like same to 0x2C90 but without 1 at front. and i think thats is not the correct variable. Hope u can give me some guided where can i find the correct variable at binary E5885 to study and implement to E5577. Thanks you for your great works..really appreciated. I try to study binary from E5770 too. Looks like same problem..i cant find matching *g_led_status (cannot find matching variable at IDA) |
|
Well I'm trying to reverse the oled binary, but I can't figure out where exactly start_data points to. |
@aiemassfiria could you please share your oled binary file and those offsets & those variables' address in IDA? I'm on a different firmware version 21.191.61.00.233, and I need to find those offsets :( |
@aiemassfiria well... seems that you are not using start_data and end_data. Is it ok to hardcode the offset? |
For those who wants to analysis, here's some maybe helpful information: |
Im using oled binary from @ValdikSS firmware because i try to find the variable at firmware 21.182.63.00.233 but failed...thats y im using @ValdikSS oled and .so file...
@ValdikSS can you help me by take a look at this binary E5577 For your information. E5577 is same size, interface and menu like E5377 but use new binary that similiar like E5885 and E5770 binary....im little confuse to use what .c file...oled_hijack_so_128x64.c OR oled_hijack_so.c . For right now im using oled_hijack_so_128x64.c . Izzit correct? Here is the absolute addresses that i guess. Can u check it for me... static uint32_t g_current_page = (uint32_t)(0x00003EB4); // I think Correct Really appreciated your work and your help @ValdikSS |
Well I've already got the offset
I've have a look at your e5577 |
for your e5577:
Please according minues the end_data / start_data according to ValdikSS's comment |
will try |
@ValdikSS Sadly when I finally hooked everything, it's appearing to be something like this: |
@NyaMisty i already try but still cannot...can u take a look where is the mistake. https://anotepad.com/notes/thcetc9h Pass: 0000 U can edit it. |
Please wait for a moment :( I still struggling to implement support for
e5885 😵
aiemassfiria <[email protected]>于2020年1月23日 周四20:55写道:
… 2f7c4
@NyaMisty <https://github.com/NyaMisty> i already try but still
cannot...can u take a look where is the mistake.
https://anotepad.com/notes/thcetc9h
Pass: 0000
U can edit it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#3?email_source=notifications&email_token=ABIYZL5NHJWHLW2OVECNQWDQ7GHSRA5CNFSM4E7Z2CJKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJXIT3A#issuecomment-577669612>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABIYZL24BRWJ3UMFUXDJX43Q7GHSRANCNFSM4E7Z2CJA>
.
|
@aiemassfiria, @NyaMisty, what's the reason of your interest in these modems and modifications? Did you learn about this project recently (~ 8 days ago) or did you know about it before? |
That's expected, you need to tune oled configuration file.
|
i know about this project a year ago ...i know u from forum russia..ad im start using this git to try at E5372 with some additional function like Dns hijack....im always interest in modification modem...its to be good if have more information at oled...hope u can help me for E5577 |
Well in fact I've patched that to use the one sn is using, as ip address also uses this dynamic text property. But I failed to figure out the format parameter should be 256 haha |
I've learnt about this project about 5 months ago. I've always known that you have posted detailed disassembling & flashing tutorial on your 4pda.ru forum. And they in fact have already been translated to Korean and Chinese. |
any luck for my E5577 @NyaMisty |
still struggling for e5885 as the sms part is too difficult
aiemassfiria <[email protected]>于2020年1月24日 周五23:38写道:
… @aiemassfiria <https://github.com/aiemassfiria>, @NyaMisty
<https://github.com/NyaMisty>, what's the reason of your interest in
these modems and modifications? Did you learn about this project recently
(~ 8 days ago) or did you know about it before?
I've learnt about this project about 5 months ago. I've always known that
you have posted detailed disassembling & flashing tutorial on your 4pda.ru
forum. And they in fact have already been translated to Korean and Chinese.
For me I'm rewriting your code to implement a sms reader on screen, so
that I needn't to reconnect to a different network just for receiving a SMS
code.
any luck for my E5577 @NyaMisty <https://github.com/NyaMisty>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#3?email_source=notifications&email_token=ABIYZL4LYASZAWUTJ5GHNATQ7MDOLA5CNFSM4E7Z2CJKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEJ3FSQA#issuecomment-578181440>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABIYZLZTMAB4MXAZMXVBCKDQ7MDOLANCNFSM4E7Z2CJA>
.
|
This conversation can go so long... email me at [email protected] . I will give u my whatsapp |
which firmware are possible in E5577? any one have tried |
I've added support for newer 128×128 models like E5577/E5377 into oled_hijack with commit 6e0bab4. Please be informed of new Huawei modifications github group, and especially of firmware kitchen project. There's also new huawei_oled_hijack_ng project by @alexbers for E5785, which is more advanced and utilizes all device' LED screen functionality. |
Wow...thanks Valdik...will try |
|
i have e5577cs-321 model with 21.333.01.00.00 frimmware possible to work on this? |
hi |
Hi guys. Ive got a technical background but no knowledge of reverse engineering so struggling with some of the things going on here. I was hoping you could clarify a few things. 0 - How do i get the oled binary to load into the disassembler 1 - is the a guide or a resource you can point me to so i can understand how to identify the variable values. 2 - When i update the hijack script how do i run it to observe the values when selecting menu options 3- When addresses are updated how do i load them back to to the modem. From reading the scripts i think they need to be compiled to a location on the hotspot ? Im also guessing this library requires a custom firmware to be flashed onto the hotspot? And brief steps that need to be complete and how some are complete would be really appreciated. Thanks for all the work thats already been put into this project. P.s ive just ordered the 5885 and im interested in the anti sensorship features and the ttl functions :) Thanks in advanced. |
@NyaMisty it seems you were able to get this all working. Are you able to help me in any way to understand what I need to do to get this working on my device. Thanks |
Valdik has a tutorial: https://gist.github.com/ValdikSS/323bcdfceb2f09d9c6ef02db1bc573e2 For the variable location there aren't any easy way. You have to have basic reverse engineering experience to understand those hints posted by either me or Valdik. For debug, just simply use After that there's build script in the repo, understand them, then simply run those compile commands on a Linux host with android SDK installed and finally transfer it to the modem. |
Thanks @NyaMisty I might try the binary file you provided from @ValdikSS as a learning experience to see if i can make sense of the approach to make. I did study some assembly a long time ago so I hope my brain remembers some of it to quickly make sense of how to identify the variables. Again thanks for the hard work guys. |
|
Hi I have e5785 device I need to add https://github.com/ValdikSS/huawei_oled_hijack this mod how to flash to the device? |
Hello,
first of all I would like to thank you for this great hack.
Unfortunately, I can't find any english tutorial to use your hack.
I'm a experience software developer, so I will not answer you unqualified questions.
But may I ask for a readme, how-to, a tutorial or a clue?
Thank you very much sir!
The text was updated successfully, but these errors were encountered: