Alter the IR database to send other codes to the TV - Need help - Shield Android TV Android Development

Hey there.
I have since a few days the new ShieldTV remote with IR function and netflix button. Since yesterday I try to change the NvIRTuner.apk (com.nvidia.irtuner) or its database or the IR calls. Unfortunately without success so far.
The database is built very interesting. I'm talking about the O1R_UPDATE_19NOV20.sqlite here.
In the table M_Codes you can find all IR codes. Before the corresponding Java class determines the device which one has selected in the IR-AV-Toogle menu. In my case a LG TV with the id 1970. This Id can be seen in the setup.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Here a Logcat excerpt, if I press my menu button to trigger the HDMI toggle:
07-11 13:37:30.050 4415 4601 D ShieldBluetoothIRInterface: *****REPORT*****0 - Pastebin.com
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
pastebin.com
Good to see the actual IR_Code that is taken, or its alias:
INPUT SCROLL
What I have tried so far:​-I replaced all IR codes in O1R_UPDATE_19NOV20.sqlite with Channel_UP and then moved this db to /data/data/com.nvidia.irtuner/databases with su-rights.
-> Unfortunately the system app com.nvidia.irtuner seems to read the db inital only once. I can't get it to read my db. I don't understand why. No matter if I reset the app, replaced the O1R_UPDATE_19NOV20.sqlite and give appropriate chown and chmod rights or reset the app before.
-My second attempt was a modified APK. Unfortunately, this can not be installed, because it must be signed by nvidia. I have root, but I don't know what to change in the /system/packages.xml so that the system would accept the app.
->When I try to install it, I only get the message that you have to sign this apk appropriately for the user.
-Then I tried to reproduce the service call from the logcat but unfortunately I don't know what to do.
Does anyone have a tip for me?
Greetings by Idijt

Related

Video screen capture app - Z Screenrecorder

I just came across an app in the market called " Z screenrecorder " and Im downloading it now to see if it works. Has anyone else tried this app with success?
Well... nothing. It looks like its working but its not creating a video file. Here is a screenshoot... my friend has a DROID x and it worked for him. Not sure why?
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Sent from my DROID X2 using XDA App
the X2 has issues with screen shots, you gotta use Screenshot ER AFAIK
but this app is for taking video instead of just pics of your screen.
and if this wont work on the DX2 then why cant we tether the hdmi output to the camcorder and have an option to choose source.
Need help to improve Z-ScreenRecorder
Hi everybody,
my name is Jorge , and I'am part of the developement team of Z-ScreenRecorder.
We have received several complains about not recording issue in some devices, and we are investigating the cause.
It will be very helpful for us, if someone who hasn´t made the app works (The interface runs ok, but not records the video file) sends back a log as follows:
-Download a free app from the market called "Android Terminal Emulator" (It's a linux terminal on the phone)
-Open it (A blue shell and a "$" prompt will be showed) and type "mount" followed by enter in the keyboard.
-In Menu-> Email To, send to "[email protected]" and exit.
Now, open Z-ScreenRecorder (Last version is 1.0.3), and push the button to record. While the icon on the satus bar is still blinking, open again the "Android Terminal Emulator", and repeat again the previus steps, sending a new e-mail.
Thank you in advanced for your time and collaboration.
Best Regards.

[APP] What time is it?

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
"What time" application will add a new functionality to your phone: if you want to know what time is it now but you are too lazy to take the phone out of pocket, just press button on the headset (to start "Speech" functionality) and say "What time is it?" - and phone will tell you the current time.
Application supports most "speech-enabled" languages for Windows Phone 8.
Link to the store: http://www.windowsphone.com/en-us/store/app/what-time/1e51d223-2d05-4c25-907f-35e40db416a5
Trial version is fully functional; the only premium option "Turn screen off on exit" requires app purchase.
I want to say "Big thanks" to the great xda community for the help with UI translation!
Nice app and good job.
I have one suggestion - command for Polish is to long: "Która jest teraz godzina?". In everyday speech is enough to say "Która godzina?".
Budniu, thanks for suggestion but Microsoft voice commands architecture has some limitation: the app should declare some "prefix" (usually it's the app name but developer can choose any) and actual "command" (app can have many commands).
I've tried on Russian shorter sentence "Который час?" ("What time?") where "Который" is prefix, and "час" is command but this don't work... So I ended with "Который час сейчас" ("What time is it now"). I afraid, for the Polish behavior will be the same. If you can sideload apps, I can send you a version with sorter command to try.
THX for your reply, I understand.
I can send you a version with sorter command to try
Click to expand...
Click to collapse
Would be nice,check PM.
I've been looking for something to do just this, but unfortunately it just tells me that I have to unlock the 'phone before I can use this command. Is this a Microsoft limitation or is there any way around this?
Go to Settings -> Speech and check "Use Speech when phone is locked".
It works pretty fine with bluetooth or regular headsets.
By the way, app received update 1.2: now you may use your own voice command.

LightMyPi Android App - Control GPIO without SSH and WebioPi wirelessly

I want to share the project I was working on an android app to control all GPIO pins of Rapsberry Pi wirelessly from Android Phone without using SSH nor WebioPi nor port forwarding
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Download from Google Play Store
play.google.com/store/apps/details?id=com.lightmypi
The app communicates with your Raspberry without using SSH nor WebIoPi
You need to install a web server, PHP handler and wiringPi and switch.php file on your raspberry to get this app working.
I have given a detailed guide on github along with switch.php file
github.com/juniorhero/raspberrypi2
Read more on Github
If you install Weaved on HTTP port 80, then you can access the GPIO pins from anywhere in the world using LightMyPi app
I am sure you will like this app, please try it and let me know if you face any difficulties :fingers-crossed:
Have you done more development on this?
Could you share Android App source code so we can hack as in our DIY project. Please.
I've followed the directions on github, however when I run the weaved-nixinstaller_1.2.13.bin I choose option 2 and it sets up port 80 OK but then it asks for my Weave email address and password. I gave it my email and invented a password, but then it says:
You are missing a valid session token and must be logged back in.
I also installed the Android app lightmypi, however there is no place to enter an email and password, so it's very confusing how the Android app is supposed to connect to my pi. Probably the issue is with the weaved-nixinstaller not finishing correctly.
I did some Google search and discover that I have to first create a Weaved account online, however they are not accepting new accounts, rather they direct me to setup an account at www dot remot3 dot it. What a run around.
Any help is appreciated, because I am so close to testing this all out.

[Q] How to remove this trojan?

Hi,
a cousin came to me with a problem about a trojan and now I have some questions to you:
All I know:
Some weeks ago I installed on this smartphone an app from F-Droid (Ghost-Commander) and to do so I had to tick >unknown sources<. After that I forgot to untick it again. About a week after that my cousin came to me with the smartphone and the 'trojan' on it (as you can see on the picture). She said that she only installed apps from the appstore.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
What the 'trojan' does:
A program is forced to foreground (as you can see on the picture) - it can't be exited. No key works. The status bar can be expanded but also clicking on the icons doesn't do anything. If the device is rebooted the lock-screen is shown first and when the device is unlocked then after about one to two seconds later the 'trojan' is executed.
What I did:
After some research I rebooted the device into safe-mode. The 'trojan' wasn't executed there and so I enabled android debugging. I couldn't remove any malicious app because due to safe-mode no suspicious app was loaded. After rebooting to normal-mode again the 'trojan' was back. I connected to the android shell with $adb shell and executed $top there. Then I started to force-stop suspicious apps with $am force-stop <package> and after some tries the 'trojan' was gone. I unchecked >unknown sources< und returned the smartphone to my cousin.
The problem now is that after some days the 'trojan' showed up again but now with a different package-name! (it was called edu.fluster this time)
View attachment commands.txt
Do you know
1) how this 'trojan' got onto the smartphone?
2) how it can be totally removed or if it was another infection how to prevented more infections?
3) how it is possible to write such a harmful program? I did some simple android programming and the sandbox that is built seemed pretty secure to me (as a novice) but how are such vulnerabilitiesfound? With much time? luck? knowledge? or all together?
I would be glad if you helped me!
piqJZu
EDIT:
I finally found the apps that start this trojan:
- 2 apps with the same name both are malicious - both show up as "Browser Update" in the menu
|-- one package is called: de.record.gauge
|-- the other: edu.fluster
Answers to the other questions are still appreciated

Simple Hello World for SMS Access without root?

This is my first time working with Kotlin or Android. I looking to get a very basic Hello World type thing started as a proof of concept of a future app, but need a little basic guidance.
I would like to be able to back up my SMS and my MMS messages. I have found that most applications focus on SMS only, which for me, leaves out many important messages.
I am just looking for a basic proof of concept that I can connect to that database located in the `/data/data/com.android.providers.telephony/mmssms.db` without being root.
I was able to, using a PC software BackupTrans, get a local copy of the db using USB debugging, and so I have all my queries written, but would like to know how to access that database, and for extra credit, it would be awesome if it isn't any extra effort to access the files at: `/data/user_de/0/com.android.providers.telephony/app_parts/` where the images and other multimedia files are at.
So as a for instance, I normally work in C#, so forgive me, if I wanted to run this query, how would I do so?
Code:
using (SqliteConnection DatabaseConnection = new SqliteConnection(string.Format(@"Data Source=D:\CodeStuff\MMS_Backup\part\mmssms.db")))
{
DatabaseConnection.Open();
SqliteCommand GetDataCommand =
new SqliteCommand(@"SELECT * FROM(
SELECT DISTINCT datetime(date, 'unixepoch','localtime') as msg_date , text as msg, cl as attachment , ""mms"" as type, msg_box as direction FROM part JOIN pdu ON pdu._id=part.mid
WHERE pdu.thread_id =1011
UNION
SELECT datetime(sms.date/1000, 'unixepoch','localtime') as msg_date ,body as msg, """" as attachment, ""sms"" as type, type as direction
FROM sms
WHERE sms.thread_id = 1011
)
WHERE attachment !=""0.smil"" AND attachment !=""smil.xml""
order by msg_date", DatabaseConnection);
var dbResults = GetDataCommand.ExecuteReader();
while (dbResults.Read()){
}
}
I would like to stay away from rooting the phone because if this works, I would like to make it more accessible to more people, and nobody wants the chance of data loss just to back things up
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
For what it is worth, I have a Galaxy S10 with Android 11, build # RP1A.200720.012.G973USQU4FTLN

Categories

Resources