Quantcast
Channel: xda-developers - Android Software and Hacking General [Developers Only]
Viewing all 3614 articles
Browse latest View live

[Shell][mksh][Scripting][Tweaks-Upgrade][flash.zip][bins]::mksh-FULL:::grep:::busybox

$
0
0
:::BRIEF DESCRIPTION:::
mksh is the official, currently-developed shell used for android. It is not an app nor a virus (lol) like some people seem to think, looking at a quick xda search. And as the core shell for android, it is used to shell superuser, so if you're rooted and get a message saying "mksh requests root", that basically just means that superuser is being run correctly and is using the default Android shell that is in every android device. (GOOD)
If you get a message saying bash(or any other shell) requested root, and you're NOT in the terminal interactively. That most likely is NOT GOOD! Almost all bash scripts I've seen will run shelled with mksh, so be safe and schebang with mksh. You'll have better performance and features, and when you see bash requesting root, you'll know your security is compromised, instead of sitting there wandering whether to allow/block it.


::: mksh Resources/links :::

mirbsd mksh main page: https://www.mirbsd.org/mksh.htm

mksh man page: https://www.mirbsd.org/htman/i386/man1/mksh.htm


Now that that's out of the way, I've attached a recovery flash zip to this post containing a full mksh(R48 August 2013 from CFX ROM), full mkshrc modded for android, bunch of fpath functions like a much needed basic sudo, parallel sudo(sexe), required libc.so and libc_malloc*.so libs, and alternate busybox.ndk and standalone grep bins. The mksh binary was compiled with O3 or O4 aliasing, Clanged CodeSourcery toolchain by CFX I believe. It's very stable.

(Installer uses a modded version of Chainfire's great no-edify script.)


Features scripted into mkshrc:

--sudo: auto detects supersu for mount master (highly recommended) or CWM su
e.g.:
sudo cat <<< $'\n' >> /system/build.prop
sudo 'for i=(0 2000); do echo $i{[]}; done'

--suid: (set user id) Uses chpst to run a prog setsuid, this is broken in most busyboxes, and it's needed as much or even more than a sudo.
e.g.: suid 1000 sh

--Better tab completion: unjams clustered words, so ec[cursor]12345 + tab ---> echo 12345

--TMPDIR: mounts a tmpdir at /tmp for all users and random generates subdirs for individual secured tmpdirs. This fixes here-docs, here-strings, and here-executions. To get a /tmp directory mounted, you need to run su once upon booting android. Just type "ss".
e.g.:
su << 'eeooff'
sysrw; chgrp 2000 /system/bin; sysro
! (( $? )) && print -- -changed them bin group-
eeooff

--Basic "help" command: Android lacks this and the doc is still under development I believe. I added all the basic info(cmd forms) for mksh bultins to a command help(aliased to h):
e.g.:
$ help mkn
> mknod [-m mode] name b|c major minor
> mknod [-m mode] name p
h ''
(all help is printed, grep from here if you want)

--Very complicated and colorful PS1 prompt, it looks good and I thought it through. It auto-turns off xtrace within itself so that 50 lines don't get printed each return with set -x.

--ton of ultra lazy aliases, got my android scripting speed up to ~70% my normal pc speed.

--full mkshrc functions like pulld,popd,dirs,more,hd,64encode,64decode,hashopti mizations


The latest full R49 source with original mkshrc and complete mksh manual is completed. It'll be installed to /system/etc/mksh...zip and /system/etc/mksh...pdf. I use Document Viewer from fdroid to view it.


The scripting in this is very sophisticated and complex, especially the inherent full mkshrc functions. It would make a good scripting learning tool to say the least. I know I've learned twice what I knew from bash scripting back 3 months ago.


I've been working on modding the full mkshrc a while, so I appreciate any error reports. Shouldn't be any problems though.

Modifying the mkshrc file / mksh shell has system-wide effects, so PLEASE nandroid backup as usual!!! This should be COMPATIBLE with all androids, but has only been tested on my Galaxy Nexus thus far.


Custom rom flashing problem

$
0
0
My Phone is Ace 3 (GT-S7272) ROOTED

i tried to make a custom rom with kitchen so i make a little changes on the stock rom

- Add Root Permission
- DeOdex
- Delete some apps i don't use and replaced them with ones i prefer

Build the rom and trying to flash it in Recovery mode

Wipe cache partition
Wipe Dalvik cache
Then Installed zip from sdcard

Everything tell now goes right and he says succesfully installed

BUT when i boot my phone i found NO Changes happened

everything is the same as i didn't flash any thing + Root acces removed

Can any one just tell me what happened and how can i fix this ?

HELP ME FOR HCL TAB G1 firmware

[DEV] AndroidCtrl.dll (ADB/Fastboot Mini-Framework)

$
0
0
This (.NET 4) dll is a kind of mini ADB/Fastboot framework, it supports a lot of commands and predefined .NET functions to communicate with an Android device. U can use it in all of ur projects for free, its designed to work in 1st case with any non-root device but u can also use it with an rooted device. (A few functions requires root access.)

The following namespaces & classes are currently available:
  • AAPT (coming soon)
  • ADB
    • ADB (Includes nearly all adb.exe commands)
    • Device
      • BuildProperties
      • BusyBox
      • Daemon (Manage the daemon on the device)
      • Directories (Similar to .NET Directory/-Info)
      • Files (Similar to .NET File/-Info)
      • FileSystem (Returns all mount-points (df / df -Pakh))
      • Forensics (ALFA-State)
      • Info (Extended device info's)
      • Mount (Requires Root and manage the mounts)
      • OpenRecoveryScript (Manage the OpenRecoveryScript)
      • Phone (Start a call, dial a number, add a contact or send a sms)
      • Su
        • SuShellRT
    • LogCat
    • PushPullUTF8 (My UTF8 file/folder push/pull wrapper)
    • ShellRT
    • StatusWindow
  • Fastboot
    • Fastboot
    • OEM
  • ProcessModels
    • General (Includes some predefined process models)
    • RealTimeBG (Starts a real time process with in/-output ability)
  • Tools
    • Deploy (Deploy the ADB/Fastboot files needed by this dll)
    • General
    • Hash
    • Images (WinShell icon extraction)
    • NativeMethods (WinShell p/invokes)
    • TrayNotify
    • TypeParser


If u have any wishes about new functions or classes let me know! :cyclops:


Download
Mirror: My FTP
Mirror #1: GoogleDrive
(In the folders are the AndroidCtrl.dll and its markup xml for VisualStudio)
Samples
Mirror: My FTP
Mirror #1: GoogleDrive
Source: N/A
(If u want to have a look at it send me a PM)

Hands Free Google (Voice) Search vs Voice Dialer

$
0
0
I really would like to the the regular voice search started if i have my sleeping (display off) and push the call button on my bluethooth headset.
instead i get the very stop old voice dailer.



this article states that they changed it in search 3.2 (i'm currently running search 3.4).

http://www.androidpolice.com/2014/02...ooth-headsets/

it is correct that if the device is on and the screen unlocked i get, as expected, the new voice search command input
BUT if the device is sleeping it still trigger the ****TY **** COMMAND input (and ruins my idea of heads free via headset)
(the left screenshot in the article above)

Logcat output with device turned off and pushing button on headset....

Code:

E/bt-rfcomm(14656): PORT_DataInd, p_port:0x7580a77c, p_data_co_callback is null
D/HeadsetStateMachine(14656): processVrEvent: state=1 mVoiceRecognitionStarted: false mWaitingforVoiceRecognition: false isInCall: false
I/ActivityManager(  649): START u0 {act=android.intent.action.VOICE_COMMAND flg=0x10000000 cmp=com.google.android.googlequicksearchbox/com.google.android.voicesearch.handsfree.HandsFreeActivity} from pid 14656
I/Timeline(12527): Timeline: Activity_launch_request id:com.google.android.googlequicksearchbox time:8718723
I/ActivityManager(  649): START u0 {act=android.intent.action.VOICE_COMMAND flg=0x10000000 cmp=com.google.android.googlequicksearchbox/com.google.android.voicesearch.handsfree.HandsFreeActivityLegacy} from pid 12527
D/PhoneStatusBar(  774): disable: < expand icons alerts ticker system_info back* home* RECENT clock* search >
W/IInputConnectionWrapper(12527): showStatusIcon on inactive InputConnection
I/Timeline(12527): Timeline: Activity_idle id: android.os.BinderProxy@41970ba0 time:8718822
I/Timeline(12527): Timeline: Activity_idle id: android.os.BinderProxy@41970ba0 time:8718823
I/Timeline(  649): Timeline: Activity_windows_visible id: ActivityRecord{4230fb80 u0 com.google.android.googlequicksearchbox/com.google.android.voicesearch.handsfree.HandsFreeActivityLegacy t62} time:8718842
I/PowerManagerService(  649): Waking up from sleep...
E/PowerHAL(  649): sync_thread: failed to send: No such file or directory
D/SurfaceFlinger(  198): Screen acquired, type=0 flinger=0xb7a31450
I/Timeline(12527): Timeline: Activity_idle id: android.os.BinderProxy@41970ba0 time:8718915
I/WindowManager(  649): No lock screen! windowToken=android.os.BinderProxy@4238a600
V/audio_hw_primary(  201): adev_set_parameters: enter: screen_state=on
D/audio_hw_extn(  201): audio_extn_set_anc_parameters: anc_enabled:0
V/audio_hw_primary(  201): adev_set_parameters: exit with code(-2)
I/audio_a2dp_hw(  201): adev_set_parameters: state 5
I/audio_a2dp_hw(  201): out_set_parameters: state 5
I/str_params(  201): key: 'screen_state' value: 'on'
I/AudioRouter(12527): ROUTE_NONE->ROUTE_BLUETOOTH_REQUIRED
I/MediaFocusControl(  649):  AudioFocus  requestAudioFocus() from android.media.AudioManager@419e12c0fiw@419e4228
I/AudioRouter(12527): BT required, starting SCO
V/Avrcp  (14656): New genId = 69, clearing = 1
I/BluetoothController(12527): Starting VR
D/BluetoothHeadset(12527): startVoiceRecognition()
D/BluetoothAdapterService(1103761344)(14656): getState(): mAdapterProperties: com.android.bluetooth.btservice.AdapterProperties@41ca1508
D/HeadsetStateMachine(14656): isBluetoothVoiceDialingEnabled mRemoteBrsf: 187supported: 8
D/HeadsetStateMachine(14656): Voice recognition started successfully
D/HeadsetStateMachine(14656): Initiating audio connection for Voice Recognition
V/audio_hw_primary(  201): adev_set_parameters: enter: A2dpSuspended=true
D/audio_hw_extn(  201): audio_extn_set_anc_parameters: anc_enabled:0
V/audio_hw_primary(  201): adev_set_parameters: exit with code(-2)
I/audio_a2dp_hw(  201): adev_set_parameters: state 5
I/audio_a2dp_hw(  201): out_set_parameters: state 5
I/str_params(  201): key: 'A2dpSuspended' value: 'true'
I/audio_a2dp_hw(  201): check_a2dp_stream_started: state 5
W/bt-btm  (14656): BTM Remote does not support 3-EDR eSCO
D/BluetoothManager(  948): mReceiver: HEADSET_AUDIO_STATE_CHANGED_ACTION
D/BluetoothManager(  948): ==> new state: 11
D/AudioRouter(  948): onBluetoothIndicationChange false
D/AudioRouter(  948): calculateModeFromCurrentState EARPIECE
D/BluetoothManager(  948): isBluetoothAvailable()...
D/BluetoothAdapterService(1103761344)(14656): getState(): mAdapterProperties: com.android.bluetooth.btservice.AdapterProperties@41ca1508
D/BluetoothAdapterService(1103761344)(14656): getState(): mAdapterProperties: com.android.bluetooth.btservice.AdapterProperties@41ca1508
D/BluetoothManager(  948): state = 2for headset: B4:52:7E:FA:DF:29
D/BluetoothManager(  948):  ==> true
D/SmartKey Service(12553): isPlaying false
D/SmartKey Service(12553): state = IDDLE
I/GCoreUlr( 1263): Starting service, intent=Intent { act=com.google.android.location.reporting.ACTION_LOCATION_STATUS cmp=com.google.android.gms/com.google.android.location.reporting.service.DispatchingService (has extras) }, extras=Bundle[{status=LocationStatus[cell status: STATUS_SUCCESSFUL, wifi status: STATUS_TIMED_OUT_ON_SCAN, elapsed realtime ns: 24652606874646]}]
D/SmartKey Service(12553): isPlaying false
D/SmartKey Service(12553): state = IDDLE
D/GCoreUlr( 1263): Throttling analytics event: entity, ApiMetadataStore:save_attempt, 1
D/GCoreUlr( 1263): Throttling analytics event: entity, ApiMetadataStore:saved, 1
D/HeadsetStateMachine(14656): Set sample rate: 8000
V/audio_hw_primary(  201): adev_set_parameters: enter: bt_samplerate=8000
D/audio_hw_extn(  201): audio_extn_set_anc_parameters: anc_enabled:0
V/audio_hw_primary(  201): adev_set_parameters: exit with code(-2)
I/audio_a2dp_hw(  201): adev_set_parameters: state 4
I/audio_a2dp_hw(  201): out_set_parameters: state 4
I/str_params(  201): key: 'bt_samplerate' value: '8000'
D/BluetoothManager(  948): mReceiver: HEADSET_AUDIO_STATE_CHANGED_ACTION
D/BluetoothManager(  948): ==> new state: 12
D/AudioRouter(  948): onBluetoothIndicationChange false
D/AudioRouter(  948): calculateModeFromCurrentState EARPIECE
D/BluetoothManager(  948): isBluetoothAvailable()...
D/BluetoothAdapterService(1103761344)(14656): getState(): mAdapterProperties: com.android.bluetooth.btservice.AdapterProperties@41ca1508
D/BluetoothAdapterService(1103761344)(14656): getState(): mAdapterProperties: com.android.bluetooth.btservice.AdapterProperties@41ca1508
D/BluetoothManager(  948): state = 2for headset: B4:52:7E:FA:DF:29
D/BluetoothManager(  948):  ==> true
D/AudioFlinger(  201): start(4097), calling pid 15786 session 395
D/AudioFlinger(  201): ? => ACTIVE (4097) on thread 0xb8c4d728
D/audio_hw_primary(  201): out_set_parameters: enter: usecase(1: low-latency-playback) kvpairs: routing=32
V/audio_hw_primary(  201): out_set_parameters: exit: code(0)
V/audio_hw_primary(  201): start_output_stream: enter: usecase(1: low-latency-playback) devices(0x20)
D/audio_hw_primary(  201): select_devices: out_snd_device(10: bt-sco-headset) in_snd_device(0: )
V/audio_hw_primary(  201): enable_snd_device: snd_device(10: bt-sco-headset)
V/audio_hw_primary(  201): enable_audio_route: enter: usecase(1)
V/audio_hw_primary(  201): enable_audio_route: apply mixer path: low-latency-playback bt-sco
V/audio_hw_primary(  201): enable_audio_route: exit
V/audio_hw_primary(  201): start_output_stream: Opening PCM device card_id(0) device_id(14)
V/audio_hw_primary(  201): start_output_stream: exit

device on and unlocked is like this....

Code:

D/HeadsetStateMachine(14656): processVrEvent: state=1 mVoiceRecognitionStarted: false mWaitingforVoiceRecognition: false isInCall: false
I/ActivityManager(  649): START u0 {act=android.intent.action.VOICE_COMMAND flg=0x10000000 cmp=com.google.android.googlequicksearchbox/com.google.android.voicesearch.handsfree.HandsFreeActivity} from pid 14656
I/HotwordWorker(12527): #onHotwordDetectorStopped(false)
I/MicrophoneInputStream(12527): mic_close ela@418be178
V/audio_hw_primary(  201): in_standby: enter
I/ActivityManager(  649): START u0 {act=android.speech.action.WEB_SEARCH flg=0x34000000 pkg=com.google.android.googlequicksearchbox cmp=com.google.android.googlequicksearchbox/.SearchActivity (has extras)} from pid 12527
V/audio_hw_primary(  201): stop_input_stream: enter: usecase(4: audio-record)
V/audio_hw_primary(  201): disable_audio_route: enter: usecase(4)
V/audio_hw_primary(  201): disable_audio_route: reset mixer path: audio-record
V/audio_hw_primary(  201): disable_audio_route: exit
V/audio_hw_primary(  201): disable_snd_device: snd_device(37: voice-rec-mic) refcnt=0
V/audio_hw_primary(  201): stop_input_stream: exit: status(0)
V/audio_hw_primary(  201): in_standby: exit:  status(0)
I/Timeline(12527): Timeline: Activity_launch_request id:com.google.android.googlequicksearchbox time:9488919
V/audio_hw_primary(  201): adev_close_input_stream
V/audio_hw_primary(  201): in_standby: enter
V/audio_hw_primary(  201): in_standby: exit:  status(0)
I/ActivityManager(  649): START u0 {act=android.intent.action.MAIN flg=0x34000000 pkg=com.google.android.googlequicksearchbox cmp=com.google.android.googlequicksearchbox/com.google.android.velvet.ui.VelvetActivity (has extras)} from pid 12527
I/HotwordRecognitionRnr(12527): Stopping hotword detection.
I/HotwordRecognitionRnr(12527): Hotword detection finished
I/Velvet.Presenter(12527): setupFromIntent(Intent { act=android.intent.action.MAIN flg=0x34400000 pkg=com.google.android.googlequicksearchbox cmp=com.google.android.googlequicksearchbox/com.google.android.velvet.ui.VelvetActivity (has extras) })
I/AudioRouter(12527): ROUTE_NONE->ROUTE_BLUETOOTH_REQUIRED
I/MediaFocusControl(  649):  AudioFocus  requestAudioFocus() from android.media.AudioManager@419e12c0fiw@419e4228
I/AudioRouter(12527): BT required, starting SCO
V/Avrcp  (14656): New genId = 73, clearing = 1
I/BluetoothController(12527): Starting VR
D/BluetoothHeadset(12527): startVoiceRecognition()
D/BluetoothAdapterService(1103761344)(14656): getState(): mAdapterProperties: com.android.bluetooth.btservice.AdapterProperties@41ca1508
D/HeadsetStateMachine(14656): isBluetoothVoiceDialingEnabled mRemoteBrsf: 187supported: 8
D/HeadsetStateMachine(14656): Voice recognition started successfully
D/HeadsetStateMachine(14656): Initiating audio connection for Voice Recognition
V/audio_hw_primary(  201): adev_set_parameters: enter: A2dpSuspended=true
D/audio_hw_extn(  201): audio_extn_set_anc_parameters: anc_enabled:0
V/audio_hw_primary(  201): adev_set_parameters: exit with code(-2)
I/audio_a2dp_hw(  201): adev_set_parameters: state 5
I/audio_a2dp_hw(  201): out_set_parameters: state 5
I/str_params(  201): key: 'A2dpSuspended' value: 'true'
I/audio_a2dp_hw(  201): check_a2dp_stream_started: state 5
W/bt-btm  (14656): BTM Remote does not support 3-EDR eSCO
D/BluetoothManager(  948): mReceiver: HEADSET_AUDIO_STATE_CHANGED_ACTION
D/BluetoothManager(  948): ==> new state: 11
D/AudioRouter(  948): onBluetoothIndicationChange false
D/AudioRouter(  948): calculateModeFromCurrentState EARPIECE
D/BluetoothManager(  948): isBluetoothAvailable()...
D/BluetoothAdapterService(1103761344)(14656): getState(): mAdapterProperties: com.android.bluetooth.btservice.AdapterProperties@41ca1508
D/BluetoothAdapterService(1103761344)(14656): getState(): mAdapterProperties: com.android.bluetooth.btservice.AdapterProperties@41ca1508
I/MicrophoneInputStream(12527): mic_starting ela@41b8bdf8
V/Zygote  (19412): Switching descriptor 33 to /dev/null
V/Zygote  (19412): Switching descriptor 10 to /dev/null
I/ActivityManager(  649): Start proc android.process.acore for content provider com.android.providers.contacts/.ContactsProvider2: pid=19412 uid=10003 gids={50003, 3003, 1028, 1015}
D/BluetoothManager(  948): state = 2for headset: B4:52:7E:FA:DF:29
D/BluetoothManager(  948):  ==> true
I/Timeline(  649): Timeline: Activity_windows_visible id: ActivityRecord{420ba150 u0 com.google.android.googlequicksearchbox/com.google.android.velvet.ui.VelvetActivity t58} time:9489060
D/SmartKey Service(12553): isPlaying false
D/SmartKey Service(12553): state = IDDLE
W/GLSUser ( 1233): GoogleAccountDataService.getToken()
D/ActivityThread(19412): handleBindApplication:android.process.acore
D/ActivityThread(19412): setTargetHeapUtilization:0.75
D/ActivityThread(19412): setTargetHeapMinFree:524288
I/Timeline(12527): Timeline: Activity_idle id: android.os.BinderProxy@4193cb28 time:9489151
D/HeadsetStateMachine(14656): Set sample rate: 8000
V/audio_hw_primary(  201): adev_set_parameters: enter: bt_samplerate=8000
D/audio_hw_extn(  201): audio_extn_set_anc_parameters: anc_enabled:0
V/audio_hw_primary(  201): adev_set_parameters: exit with code(-2)
I/audio_a2dp_hw(  201): adev_set_parameters: state 4
I/audio_a2dp_hw(  201): out_set_parameters: state 4
I/str_params(  201): key: 'bt_samplerate' value: '8000'
D/BluetoothManager(  948): mReceiver: HEADSET_AUDIO_STATE_CHANGED_ACTION
D/BluetoothManager(  948): ==> new state: 12
D/AudioRouter(  948): onBluetoothIndicationChange false
D/AudioRouter(  948): calculateModeFromCurrentState EARPIECE
D/BluetoothManager(  948): isBluetoothAvailable()...
D/BluetoothAdapterService(1103761344)(14656): getState(): mAdapterProperties: com.android.bluetooth.btservice.AdapterProperties@41ca1508
D/BluetoothAdapterService(1103761344)(14656): getState(): mAdapterProperties: com.android.bluetooth.btservice.AdapterProperties@41ca1508
D/BluetoothManager(  948): state = 2for headset: B4:52:7E:FA:DF:29
D/BluetoothManager(  948):  ==> true



if the device is locked he falls back to the
com.google.android.googlequicksearchbox/com.google.android.voicesearch.handsfree.HandsFree ActivityLegacy
act****TITY

any help ?!


Running CM 11-20140504-SNAPSHOT-M6-Mako (Nexus 4... but i'd say you figured that out yourself by now)

Looking for samsung galaxy light development

$
0
0
Hey on a samsung galaxy y phone user I'm sure there are others out there that would like to see some development maybe even a simple custom kernel or we can overclock and do other tweaks when you don't developers on this there's not very much at all going on with this phone it is a very good phone and cheap

Sent from my SGH-T399 using XDA Free mobile app

[Q] Is there a Chromium for Android APK?

$
0
0
I found some build instructions at chromium.org and some public repo (not google's) at github, but so far no apk.

I'm asking because I couldn't find a video or demo of chromium running on android either which makes me wonder if it works at all or just limited to a webview basic mode.

[R&D|WIP] Reversing the Samsung OEM App/Bins

$
0
0
This is a dumper thread for collecting research and development information on reversing some (or all) of the various Samsung proprietary Applications and binaries found in their later top models running at least 4.2.2, and preferably also SELinux enabled as Enforcing.

In these devices there is an extensive amount of hidden functions, applications and behind the scenes modifications that is completely outside anything that we will ever be able to find in the AOSP repositories. In addition Samsung is spending more energy into obfuscating many of these functions and applications, which makes security vulnerability research much harder. Why? What is it that they try to hide from public scrutiny?

So if you have any insights or are particularly good at reading obtuse OEM Java code. Please join the discussion and help us out.


One of the first Apps to look at is the Samsung ServiceMode apps. There are at least three of them.
1) serviceModeApp_FB.apk
2) serviceModeApp_RIL.apk
3) Samsungservice.apk


Let's have a look at the first one: serviceModeApp_FB.apk

The first thing that hits you in the face is the LibOTPSecurity. This class is using the time zone as a mechanism for obfuscating some security mechanism using OTP (one time programmable) Qfuses (aka QFPROM in Qualcomm devices). The code look like this:
Code:

package LibOTPSecurity;

import ibOTPSecurity.OTPSecurit;
import java.text.DecimalFormat;
import java.util.Calendar;
import java.util.TimeZone;

public class OTPSecurity
{
  private String GetDateString(int paramInt)
  {
    Calendar localCalendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
    localCalendar.add(12, paramInt * -1);
    return new StringBuilder(String.valueOf(new StringBuilder(String.valueOf(new StringBuilder(String.valueOf(new DecimalFormat("00").format(-2000 + localCalendar.get(1)))).append(new DecimalFormat("00").format(1 + localCalendar.get(2))).toString())).append(new DecimalFormat("00").format(localCalendar.get(12))).toString())).append(new DecimalFormat("00").format(localCalendar.get(5))).toString() + new DecimalFormat("00").format(localCalendar.get(11));
  }

  private int MakeHashCode(String paramString)
  {
    int i = 0;
    for (int j = 0; ; j++)
    {
      if (j >= paramString.length())
      {
        if (i < 0)
          i *= -1;
        return i;
      }
      i = i + (i << 5) + paramString.charAt(j);
    }
  }

  public boolean CheckOTP(String paramString1, String paramString2)
  {
    int j;
    for (int i = 5; ; i = j)
    {
      j = i - 1;
      if (i <= -1)
        return false;
      if (paramString1.equalsIgnoreCase(Integer.toString(MakeHashCode(paramString2 + GetDateString(j)))))
        return true;
    }
  }
}


This is making a "hash" out of some date strings for comparison. hopefully we'll see later what exactly these strings come from.

The GetDateString function can be reformatted as:
Code:

  private String GetDateString(int paramInt) {
      Calendar localCalendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
      localCalendar.add(12, paramInt * -1);
      return new StringBuilder(String.valueOf(new StringBuilder(String.valueOf(new StringBuilder(String.valueOf(new DecimalFormat("00")
              .format(-2000 + localCalendar.get(1))))
          .append(new DecimalFormat("00")
              .format(1 + localCalendar.get(2)))
          .toString()))
          .append(new DecimalFormat("00")
          .format(localCalendar.get(12)))
          .toString()))
      .append(new DecimalFormat("00")
          .format(localCalendar.get(5)))
      .toString() + new DecimalFormat("00")
      .format(localCalendar.get(11));
  }

I'd have been much happier if this was simplified to readable pseudo-code.

Another interesting part is the SysDump.class:
Code:

  private boolean checkForNoAuthorityAndNotEngBuild()
  {
    this.settings = getSharedPreferences("SYSDUMPOTP", 0);
    boolean bool = this.settings.getBoolean("ril.OTPAuth", false);
    String str = String.valueOf(SystemProperties.get("ro.build.type"));
    if ((!bool) && (str.compareToIgnoreCase("eng") != 0))
    {
      Log.e("SysDump", "It's user binary");
      return true;
    }
    Log.e("SysDump", "It's eng binary");
    return false;
  }

This clearly (!) determines whether or not your phone is currently set as an Engineering model or User model, in order to verify and allow the dumping of OTP values (QFUSES). To allow this you need to set these properties:
Code:

ro.build.type=eng
ril.OTPAuth=true


HCL me tab Sync 1.0 stuck please help

$
0
0
Ok now this is tough!

i receive an strange case from my friend.
His Hcl me tab 1.0 is locked due to wrong pattern attemps by his kid. this tab is wifi only

I do not see any way to retrieve this Tab due to the following

1) the kid doesnt know the email id he put to set up play store.
2) the tab is not connecting to internet
3) Usb debugging is not ticked
4) there is not recovery for this chinese tab.

is there any one on earth who can give me a solution to retrieve this tab?

Another china clone of S5 GT-i9600 by ALPS

$
0
0
Hi all experts,
a friend of mine bought a Samsung S5 clone which resulted to be an ALPS GT-I9600.
These are the specs as reported by CPU-Z:

Display: JDQ39.I9600ZSUAMDF
hardware: mt6572;
kernel version: 3.4.5 (eng . linux . 1398851142);
Screen resolution in pixel: 480 x 854
Total RAM: 1857 MB
Internal Storage: 0.14 GB (sic!)
Available RAM: 47 MB (2%)

Now, the problems... please guide me on how to solve them thanks a lot:
1) There are some problems with the internet connection (3G) with some operators... I guess this is a common problem and I read something about IMEI overwrite, but did not understand a lot... can anyone explain me a bit the procedure? Why is it necessary?

2) The device has really few available memory, therefore it is not possible to install anything due to shortage of memory... it seems also that the "Move to SD" option for all the apps installed is disabled by default. How can we free some space?

I'd love to find an alternative ROM without bloatware and maybe root.... but any alternative is welcome anyway. Can I install any ROM intended for phones which have identical specs? Where should I search for these?

Thanks for your support guys, I'm waiting for your suggestions :cool:

deleted

[PAKAGE] [ICS-] [GAPPS] [Gplay Only]

$
0
0
Hello, ICS- users
After Doing Gapps with Gplay only for JB+ Users I tried to do it agin But now, for ics and older
so, i broght to you a simple, but advanced pakage
it will remove that gapps bloat
then it will install it agin, but only with Google play and it's core apps to work properly.
So, no more bloat,
Just flash it via recovery
Enjoy it!
Download it>>>>>HERE

Features:
-Youtube with download ability
-Gplay only, install you favorite apps later
-More safe 'n' secure 'n' slim :)
-Can work on stock roms, also.

Regards...

[PAKAGE] Android Linux Armor

$
0
0
As like as you know devs, default android miss many features, at least, the pakage in this thread will add some features:
The Features ARe:
Quote:

-BASH, Linux's best shell, it's better than sh
-NANO, Text editor, very helpful for editors(Will help you on aroma)
-ADBWIFI, enable|disable wifi
-SUDO, run command as root
and many. many more...
Regards...

ICS 4.0.3 for HD for all 900

$
0
0
Android Ice Cream Sandwich for HD for all 900yer base on the Hi3716C Soc

Hello dear friends I managed to get working a new Ice Cream Sandwich 4.0.3 based on the 3.0.8 kernel and the update zips.
Many thanks to:
  1. M1cha from this forum helping me with the initial rom am the technical procedure for flashing using UART that was necessary in the development stage.

Requirements:
  1. An Eboda HD for all 900 player (If you don't have one, buy one :p)
  2. Am sdcard/usb-stick formated using FAT file system with at least 256 MB free space
  3. Lots of guts (If you follow the procedure right nothing bad should happen)

Instalation Procedure:
  1. Get an USB-stick/SD-Card
  2. Format the USB-Stick/SD-Card using FAT file system
  3. Copy update_system.zip and update.zip to the USB-Stick/SD-Card
  4. Make sure that you TV is switched on and the Player is connected to it
  5. Shut down the player
  6. Unplug the power cable from the player
  7. Insert the USB-Stick/SD-Card into the player
  8. Push the player power button and keep it holded down
  9. With the power button held down plug in the player's power cable
  10. Keep the player's power button held down for at least 5 seconds (you should be now in recovery mode)
  11. Now the update procedure will start you will be able to see it happening on the TV
  12. The update procedure has 2 main stages, after stage 1 it will reboot and continue the second one.
  13. When the second stage will finish the updater progress bar will reach 100%
  14. Wait till the second stage finishes then unplug the power cable and plug it back to boot the device
  15. Congratulation !!! you flashed Android 4.0.3 on Eboda HD for all 900

Installation Notes:
  1. The instalation will happen in 2 stages, the player will reboot once and continue with stage 2
  2. After the second stage finishes you must unplug the power cable and plug it back again to boot the device.This is necessary because of a bug in the new 3.0.8 kernel that does not handle well the power management.

XDA:DevDB Information
Ice Cream Sandwich for HD for all 900, ROM for all devices (see above for details)

Contributors
adrianaxente
ROM OS Version: 4.0.x Ice Cream Sandwich
ROM Kernel: Linux 3.0.x

Version Information
Status: Stable

Created 2014-06-15
Last Updated 2014-06-14

[Q] Trimming Android libraries (.so) by hex-editing?

$
0
0
I've recently become interested in hex-editing prebuilt proprietary libraries. Many of the Android libraries have a lot of "00"s in hex code, so I was wondering if all those zeroes could be edited out (removed) to essentially "trim" the libraries, save space, and not cause any issues. Or are the many zeroes more than just fillers? Thank you.

[NO ROOT] [NO USB DEBUGGING] Bypass Too Many Pattern Attempts

$
0
0
:) Hiii



Bypass Too Many Pattern Attempts

Without Root And Without USB Debugging





This Method will change your Android ID

Use This At your Own Risk !





Description :

Many times by mistake Android Pattern is Attempted wrong and generate "Too Many Pattern Attempts" Message

Which can only bypass by email account you logged in that device

But It requires Internet Connection like WiFi or Data Plan Turned On



The basic thing behind this scene is the Database of Settings.apk which holds the boolean value of Pattern Attempts

If you crossed limited pattern attempts this value becomes 1

The settings.db is Located at /data/data/com.android.providers.settings/databases/settings.db



So I developed a Updater Script to Delete settings.db which can be flash to device through custom recovery like CWM.

To flash this Zip you must have Unlocked Bootloader



Follow The Steps to Flash this BypassPatternAttempts.zip

Required Files :

1.CWM.zip for Galaxy Y Duos https://db.tt/nxnZWSOp

you can search for your devices on XDA

2.BypassPatternAttempts.zip : Find in Attachments of thread



Procedure :

1.Copy both files in root of memory card.

2.Insert that memory card in your android device.

3.Now switch off your device.

4.Now press volume up + power + home button together to start Recovery mode ( May be Different for Different Devices ).

5.In this mode touch will not work so navigate using volume up and down keys and select using home button.

6.Now select update zip from sd card’

7.Now select CWM.zip.

8.Yellow coloured menu will appear. ( May be Different for Different Devices )

9.Select ‘install zip from sd card’.

10.Then select ‘choose zip from sd card’.

11.Select BypassPatternAttempts.zip.

12.Now select ‘yes’.

13.Then the process will complete after some time.

14.Now press back and select ‘Reboot Device’.

15.Enjoy.



Press Thanks Button if This Thread Helped You
:)

Attached Files
File Type: zip BypassPatternAttempts.zip - [Click for QR Code] (161.2 KB)

[FIX] For MANY scripts broken due to missing wait_for_fb_sleep/wake files.

$
0
0
I originally found the fix in the SuperCharger Thread when I found that my Flush-O-Matic script wasn't working properly on my Sony Z1.

See original posting here.
Quote:

Originally Posted by zeppelinrox (Post 51640363)
Hey I realized yesterday that Flush O Matic doens't work properly on newer kernels.
Well it works, but it doesn't wait for the screen to go off before flushing.

A little googlie told me that the newer kernels no longer have the /sys/power/wait_for_fb_sleep file.
Normally, FOM will try and read it's contents (but it's unreadable) and it just hangs until the device goes to sleep.
When it goes to sleep, that file can be read and the script gets "unhung" and flushes.
And when the file is missing, well FOM will just spit out errors (check the log) and dump cache without uh... waiting for the fan to be turned on... :p

BUTT (yeah, thats a big butt!) I fingered out another way for newer kernels... heh.
Check it via PC... with the screen on do this
Code:

adb shell
su
while [ "`cat /sys/class/graphics/fb0/dynamic_fps`" ]; do sleep 1; done; echo " OK Flush Time!"

Who's your daddy!? LOL

While the screen is on it should hang there until you turn off the screen.
When the screen goes off, it will pronounce what "time" it is... ;)

I'll probably do sleep 10 instead of sleep 1 tho to minimize battery suckage.

This fix would be applicable to various scripts on xda that will get outdated due to the missing wait_for_fb_sleep/wake files on some device/kernel combinations.
Currently effected hardware, that I'm aware so far: some Sony, Moto and Nexus devices using kernel version 3.3 or above.

These scripts change things or do things depending on whether the screen turns off or turns on.
Examples are cpu governor scripts or other screen state scaling scripts.

As mentioned above, it had effected my FOM script which dumps caches at a user defined interval.
However, when the time is up, it will actually wait until the screen is off if the screen happens to be on at the time.

So if you have a misbehaving script due to the missing /sys/power/wait_for_fb_sleep/wake files, you should have 2 other files that you can use.

1. /sys/class/graphics/fb0/dynamic_fps
2. /sys/class/graphics/fb0/show_blank_event

File contents with screen off:
Code:

shell@C6906:/ $ cat /sys/class/graphics/fb0/dynamic_fps
shell@C6906:/ $ cat /sys/class/graphics/fb0/show_blank_event
panel_power_on = 0
shell@C6906:/ $

File contents with screen on:
Code:

shell@C6906:/ $ cat /sys/class/graphics/fb0/dynamic_fps
60
shell@C6906:/ $ cat /sys/class/graphics/fb0/show_blank_event
panel_power_on = 1
shell@C6906:/ $

So when the screen is off, dynamic_fps is empty but has a value (60 in my case) when the screen is on.

I preferred to take advantage of that file.

However some may like to use the contents of show_blank_event and check whether panel_power_on = 0 (off) or panel_power_on = 1 (on).

Of course, a script will have to check and decide whether to use the wait_for_fb_sleep file or use the new way.

So a fixed script will look something like:
Code:

if [ -f "/sys/power/wait_for_fb_sleep" ]; then
    echo "Android is now `cat /sys/power/wait_for_fb_sleep`!"
else while [ "`cat /sys/class/graphics/fb0/dynamic_fps`" ]; do sleep 10; done
    echo "Android is now sleeping!"
fi

So if that code is ran when the screen is on, when the screen is off, the output would be Android is now sleeping! and it won't matter if you have the wait_for_fb_sleep file ;)

Alternately, to do something when the screen turns on...
Code:

if [ -f "/sys/power/wait_for_fb_wake" ]; then
    echo "Android is now `cat /sys/power/wait_for_fb_wake`!"
else while [ ! "`cat /sys/class/graphics/fb0/dynamic_fps`" ]; do sleep 10; done
    echo "Android is now awake!"
fi

Of course, when the screen comes on, the output will be Android is now awake!

I used sleep 10 so that it doesn't do any needless work.
Of course sleep 1 would give an instant reaction but isn't very battery or cpu friendly.
You can decide for yourself how long is a good sleep interval between checks.

Anyhow, hope that helped ;)

[Tool][Windows] control a device with a broken screen

$
0
0
I would like to present you my little program written in Visual Basic.
This tool lets you use your device through your Windows pc even if your touchscreen doesn't work or you can't see anything.
You need to have usb debugging enabled.
It uses droid@Screen, which wasn't made by me.




http://youtu.be/yrAN69XjNtg

Links:
Source code: http://goo.gl/fgLHWx
GitHub: https://github.com/kjanku1/WindowsApplication1
The tool itself: http://goo.gl/0foDiL

No installation needed.
The first time you open it, you'll see an error. Just close it and open it again.

If you have any problem, ask me anything

Help Unlock Bootloader

$
0
0
Is there anyone out there that can help the members of the LG Optimus L5 II unlock there bootloader?

here is our phone on GSM

http://www.gsmarena.com/lg_optimus_l5_ii_e460-5293.php

the device is mt6575

the device is locked by LG.

As far as i understand the uboot partition is where the security check is comming from.

I cannot use spflash tool as it does not see my device.

so my question is this.

the LG optimus L3 II have managed to unlock there bootloader using an aboot img fro the LG optimus L5

could we replace our uboot img with the L3 II aboot img?

alternatively could we use a uboot img from another mt6575 device

my partition table is as follows

Code:

preloader 0x0000000000040000 0x0000000000000000 2 /dev/misc-sd
dsp_bl 0x00000000005c0000 0x0000000000040000 2 /dev/misc-sd
mbr 0x0000000000080000 0x0000000000000000 2 /dev/block/mmcblk0
ebr1 0x0000000000080000 0x0000000000080000 2 /dev/block/mmcblk0p1
ebr2 0x0000000000080000 0x0000000000100000 2 /dev/block/mmcblk0
misc2 0x0000000000800000 0x0000000000180000 2 /dev/block/mmcblk0
pmt 0x0000000000400000 0x0000000000980000 2 /dev/block/mmcblk0
nvram 0x0000000000300000 0x0000000000d80000 2 /dev/block/mmcblk0
seccfg 0x0000000000080000 0x0000000001080000 2 /dev/block/mmcblk0
uboot 0x0000000000080000 0x0000000001100000 2 /dev/block/mmcblk0
bootimg 0x0000000000600000 0x0000000001180000 2 /dev/block/mmcblk0
recovery 0x0000000000700000 0x0000000001780000 2 /dev/block/mmcblk0
sec_ro 0x0000000000600000 0x0000000001e80000 2 /dev/block/mmcblk0p2
misc 0x0000000000080000 0x0000000002480000 2 /dev/block/mmcblk0
logo 0x0000000000300000 0x0000000002500000 2 /dev/block/mmcblk0
expdb 0x0000000000100000 0x0000000002800000 2 /dev/block/mmcblk0
persist_lg 0x0000000000800000 0x0000000002900000 2 /dev/block/mmcblk0p3
persist 0x0000000000600000 0x0000000003100000 2 /dev/block/mmcblk0p4
mpt 0x0000000001600000 0x0000000003700000 2 /dev/block/mmcblk0p5
lgfota 0x0000000000a00000 0x0000000004d00000 2 /dev/block/mmcblk0
swap 0x0000000000a00000 0x0000000005700000 2 /dev/block/mmcblk0p6
rct 0x0000000000100000 0x0000000006100000 2 /dev/block/mmcblk0
android 0x0000000043c00000 0x0000000006200000 2 /dev/block/mmcblk0p7
cache 0x0000000013600000 0x0000000049e00000 2 /dev/block/mmcblk0p8
usrdata 0x0000000088700000 0x000000005d400000 2 /dev/block/mmcblk0p9
fat 0x0000000000b00000 0x00000000e5b00000 2 /dev/block/mmcblk0p10
bmtpool 0x0000000000a00000 0x00000000ff9f0050 2 /dev/block/mmcblk0

how would I dd uboot partition if it is on the same block as others.


I thank you for your help in advanced.

List Of Custom Recoveries available For XOLO A600

$
0
0
So Instead Of creating Different different Threads for every single recovery.img available for XOLO A600 i created one and only this thread.
Get the Recovery.img u want from the download Link provided , flash it & Enjoy ;)
.


Procedure :

Quote:

  • Download the recovery from the link provided.
  • Rename it to recovery.img [Rename file to only "recovery" if you are on windows machine.]
  • Place it in the root of your sd card.
  • Use Flashify / mobileuncletool / recoverytool app to flash recovery .
  • Boot into recovery mode by pressing POWER + Vol up key .
  • ENJOY :)

STOCK <3e> recovery

Quote:

download here
CWM 5 automade by Mtktool

Quote:

download here
CWM 6 ported by Himalya Nayak

Quote:

download here
Carliv Touch Recovery 2.2 Ported By @navneetasnavi (me) :)

Quote:

download here
Carliv Touch Recovery 2.4 Ported By @navneetasnavi (me) :)

Quote:

download here
TWRP 2.3 ported by Ported By @navneetasnavi (me) :)

Quote:

download here
TWRP 2.4 Ported By @navneetasnavi (me) :)

Quote:

download here

CREDITS :
Quote:



DON'T FORGET TO PRESS THANKS :)
Viewing all 3614 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>