1

Dans un programme que je suis en train d'écrire, j'aurais besoin de savoir si mon programme a été lancé par l'intermédiaire de la ligne de commande (dans home) ou d'un kbdpgrm.
J'ai pensé à lire le contenu de la ligne de commande mais je ne sais pas où c'est stocké. (il existe une RomCall pour y accéder?)
Sinon je pourais regarder dans tous les flags des kbdprgm pour voir s'ils sont lockés mais bon ...
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

2

je ne pense pas que ca soit possible simplement

tu pourrais regarder dans l'estack si tu trouve un appel à ton programme (mais il faudrait aussi savoir comment il s'appelle)

au pire tu fais deux lanceurs qui appellent ton programme avec des arguments différents grin
avatar

3

[cross]

c'est un peu vague formulé comme ça... et si c'est lancé par un programme (et non home ou un kbdprgm) ? et si y a plusieurs appels de programmes sur la ligne de commande ? et si c'est lancé par un shell ?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

4

y a aussi être lancé par shift-on, par une application flash, par un tsr, ....
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

5

Tu fais deux lanceurs qui appellent ton programme avec des arguments différents
Ouais je pense que je vais faire un truc dans le genre.
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

6

tu lance un éditeur hexadécimal de plusieurs façon différentes smile comme ça tu peux regarder toutes les différences
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

7

Oui mais regarder où par exemple? (je ne vois que l'estack comme nul l'a dit)

Edit : j'ai confondu les pseudos je crois nu + nil = nul
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

8

À mon avis, c'est plutôt du coté de la ligne de commande qu'il faudrait regarder.

Je ne sais pas comment marche le programme AutoClBr, mais il est possible qu'il touche à la ligne de commande. Peut-être une piste à suivre...
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

9

Ah oui en plus les sources sont disponibles :P

je crois que j'ai trouvé dans la source de Kevin
params: dc.l $6016 ;position of the home screen entry line
                   ;parameters (TEXT_EDIT structure + 16)
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

10

nan, ça c'est moche comme méthode, j'avais une méthode plus propre (mais je sais plus dans quel TSR :$)
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

11

 move.l  200,a5
 move.l  1080(a5),a0;HomeExecute
 move.l  708(a5),d0;TE_select
\Loop:
 addq.l   #2,a0
 cmp.l    (a0),d0 
 bne.s    \Loop
 move.w   -4(a0),a0
 lea      16(a0),a0
 move.w   a0,242(a6)

 suba.l  a0,a0
 move.w  242(a6),a0
 move.w  18(a0),d3


d3 est le handle cherché, tu le déréférences et tu as l'adresse correcte
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

12

Twindruff :
(je ne vois que l'estack comme nul l'a dit)

trilove

flanker> arg de l'asm sans constante symbolique sick
avatar

13

Ouais en fait c'est bien ce qu'a fait Kevin aussi.
 move.l $c8,a0
 move.l TE_select*4(a0),d0 ;get the address of TE_select
 move.l HomeExecute*4(a0),a0 ;get the address of HomeExecute
;The code for HomeExecute contains a jsr to TE_select preceded by a pea of the
;required address.
search_loop:
 addq.l	#2,a0 ;code is word-aligned, so no need to check every byte
 cmp.l (a0),d0 ;compare with the address of TE_select
 bne search_loop
 moveq.l #0,d0
 move.w -4(a0),d0 ;get address of the home screen entry line
 add.l #16,d0 ;add 16 to the address to point it to the length of the text
 move.l d0,params
;End of the home screen entry line parameters detection
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

14

Nu :
flanker> arg de l'asm sans constante symbolique sick

trilove
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

15

C'est de l'asm pur ^^
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.