Comment créer un lien symbolique avec un chemin complet court?

Je suis en train d'éditer des chemins sur certains binaires à défaut de les recompiler.

Je souhaite remplacer /lib/ld-linux-armhf.so.3 , que je ne peux pas créer, par un chemin de même longueur, que je peux créer sans enrayer le téléphone. Il devrait s'agir de la même longueur parce que je modifie les binaires. J'ai choisi le chemin /data/data/com.clk/.so.3 , après les différentes possibilités énumérées ci-dessous. Ce que j'essaie de faire, c'est créer /data/data/com.clk/.so.3 , qui devrait être un lien symbolique vers /data/data/com.spartacusrex.spartacuside/gentoo_armv6l/lib/ld-linux-armhf.so.3

  • Comment démarrer une nouvelle activité sur le clic de bouton
  • Android sdk Facebook n'appelle pas de rappel après la connexion
  • Détecter si l'appareil Android possède une connexion Internet
  • Comment puis-je envoyer le contenu du contenu par courrier électronique?
  • API RESTful sécurisée qui peut être utilisée par une application Web (angulaire), iOS et Android
  • Comment les applications populaires authentifient-elles les demandes des utilisateurs depuis leur application mobile vers leur serveur?
  • J'ai d'abord utilisé /proc/5781/cwd/rmhf.so.3 , mais cela n'est pas lisible par d'autres applications (qui sont d'autres comptes linux).

    J'ai ensuite essayé /data/.tmp , mais c'est spécifique à mon téléphone, et non documenté selon @ChrisStratton. Identique à /data/logcat_log .

    /sdcard est exclue car les options de fusibles rw,nosuid,nodev,relatime,user_id=1015,group_id=1015,default_permissions,allow_other restrict links and exectuables et /lib/ld-linux-armhf.so.3 doivent être exécutées.

    Quelqu'un sait-il comment je peux accomplir cela?

    2 Solutions collect form web for “Comment créer un lien symbolique avec un chemin complet court?”

    Avez-vous envisagé d'utiliser PatchELF plutôt que de rouler votre propre édition binaire? Il prétend être assez intelligent pour insérer une page supplémentaire dans l'en-tête ELF si nécessaire pour faire place à des interprètes plus longs ou à des champs RPATH. Cela vous permettrait d'utiliser la valeur de l'interprète réel plutôt que d'avoir besoin d'un lien symbolique.

    Je suis finalement tombé sur un fabricant d'apk qui n'a pas besoin d'ordinateur x86 et fonctionne sur le téléphone lui-même. Sans payer quoi que ce soit, en vingt minutes, j'ai créé mon premier apk et j'ai pu l'installer après avoir temporairement autorisé des sources inconnues. C'était mon premier programme java. J'ai choisi un nom court mais instructif pour l' com.symli , com.symli (semblait nécessaire).

    Ensuite, j'ai modifié l'onglet MainActivity.java de l'éditeur pour obtenir:

     package com.symli; import android.app.*; import android.os.*; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { try { Runtime.getRuntime().exec("ln -s /data/data/com.spartacusrex.spartacuside/com.symli /data/data/com.symli/n ; env > /data/data/com.symli/getRuntimeExecEnv"); } catch (java.io.IOException e) { } super.onCreate(savedInstanceState); setContentView(R.layout.main); } } 

    Ensuite, j'ai simplement cliqué sur le bouton "exécuter", et BOOM le lien symbolique est maintenant là pour de bonnes:

     lrwxrwxrwx 1 10150 10150 50 Nov 3 13:17 /data/data/com.symli/n -> /data/data/com.spartacusrex.spartacuside/com.symli 

    La partie env n'a pas fonctionné mais je m'en fous. J'ai téléchargé le .apk résultant vers http://sf.net/projects/gentooandroid/files/symlinksForStackoverflowQuestion20459834.apk (autorisations: NON! SHA256sum: 63dcc7553ae5f033ec81ff535fa4648665753675663af0e9f37f02eecdc945b6 MD5sum: a269ebdfeb1f08d0c632947a30f2764d)

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.