« Documentation de l'API Jeuxvideo.com » : différence entre les versions

De JVFlux
user: d2adb2d (?)
(Ask for list of bionicle sets)
m (Révocation des modifications de 159.224.160.157 (discussion) vers la dernière version de Kuji)
Ligne 1 : Ligne 1 :
He got to his feet and walked straight across the gravel and up the wooden steps and the frame doors banged to behind him.  
L''''API de [[Jeuxvideo.com]]''', utilisée à l'origine par les applications mobiles de Jeuxvideo.com, permet de développer plus facilement des applications, sites web, et autres scripts en rapport avec Jeuxvideo.com.
<a href=http://ln2wcheapalbenza.isnotmyreal.name>order albenza</a>  <a href=http://m6xkbuyadvair.snackblogger.com>buy advair diskus cheap</a>  There will only be one other, our old pal at the Korea, Jack Seward.   <a href=http://3imbcheapvermox.ismissed.com>buying vermox online</a>  <a href=http://www.wattpad.com/user/kki-buy-robaxin>order robaxin in au</a>  I think I drowse myself, for all of sudden I feel guilt, as though I have done something.  <a href=http://trustedstore.yooco.org/forum/t.81103-buy_cheap_flagyl_buy_cheap_flagyl_online_without_prescription_metronidazole_flagyl_500_mg_oral_tablet.html#81103>flagyl 0 5 100 ml</a>  <a href=http://trustedstore.yooco.org/forum/t.84064-buy_online_vibramycin_vibramycin_chlamydia_purchase_buy_vibramycin_online.html#84064>order vibramycin</a>  They are both quiet persons, and I never saw the man angry, nor heard the dog bark.  
 
<a href=http://qkmborderduricef.snackblogger.com>price of duricef</a> <a href=http://3akacheapparlodel.snack.ws>parlodel side effect</a>  Half-an-hour, said Owl, settling himself comfortably.   <a href=http://v09fbuytopamax.ismyreal.name>400 mg topamax binge eating</a>  Now to the historical, for as Madam Mina write not in her stenography, I must, in my cumbrous old fashion, that so each day of us may not go unrecorded.   In Morgans Harbour they would think she had been drowned on one of her expeditions.  <a href=http://trustedstore.yooco.org/forum/t.81349-buy_duphaston_online_cheapest_duphaston_online_overnight_duphaston_ups.html#81349>purchase duphaston overnight</a>  <a href=http://vbepbuyamoxil.enjin.com>amoxil 875 mg used</a>  <a href=http://4612orderhyzaar.snack.ws>price of hyzaar</a>  
Elle est au format XML, ce qui fait qu'elle est plus facile à parser, mais aussi plus rapide à charger qu'une page web normale.
<a href=http://s5bzcheapzyprexa.ismyreal.name>buy zyprexa online</a> <a href=http://v9vgcheapinderal.snack.ws>inderal 240 mg</a>   Found Van Helsing in excellent spirits, and Lucy much better.   <a href=http://0t54buynorvasc.isnotmyreal.name>cheap norvasc in au</a> <a href=http://aizporderlithobid.ismyreal.name>buy lithobid discount</a>   Some made it as short as three minutes-some as long as five. <a href=http://uo1ybuyrobaxin.isnotmyreal.name>cheap robaxin in gb</a> <a href=http://gjtqonlinearicept.ismyreal.name>for sale aricept</a>   They exchanged smiles over some item on the menu and apparently agreed that it would suit for the patron took the card and with, Bond guessed, a final exchange about the wine, he withdrew.
 
<a href=http://r4n3cheapflomax.ismissed.com>buying flomax without a script</a> <a href=http://iyhbbuymestinon.enjin.com>cheapest mestinon</a>   Bond felt a tingle of excitement.   <a href=http://www.wattpad.com/user/feh-order-zestril>discount zestril</a> There are jockeys who would bust you in the nose if you propositioned them to pull a horse.   Its no canny to run frae London to the Black Sea wi a wind ahint ye, as though the Deil himself were blawin on yer sail for his ain purpose. <a href=http://7s59buymobic.enjin.com>buy mobicarte orange</a> <a href=http://www.purevolume.com/8ztybuyexelon>online purchase exelon</a>   <a href=http://l4e5buyasacol.enjin.com>asacol hd coupon</a>  
== Identification ==
<a href=http://xtowordercymbalta.ismissed.com>buy cymbalta australia</a> <a href=http://www.purevolume.com/p6gvcheapminocin>minocin 100mg price</a>   Suppose I carried my family about with me in my pocket, how many pockets should I want?  <a href=http://p7m9orderdeltasone.snack.ws>deltasone 40mg</a> <a href=http://b8elordersuprax.isnotmyreal.name>buy suprax online australia</a>   But at length reflection came to my aid.  <a href=http://uhkgonlinehyzaar.isnotmyreal.name>where can i buy hyzaar</a> <a href=http://u5mtcheapflagyl.ismissed.com>price flagyl</a>  In them I find some letters from you, which show how great friends you were and how you love her.  
L'API utilise le nom de domaine [http://ws.jeuxvideo.com/ ws.jeuxvideo.com]. Pour y accéder, il faut utiliser un des identifiants ci-dessous (authentification HTTP basique).
<a href=http://www.purevolume.com/bjw4onlinebiaxin>buy biaxin tablets</a> <a href=http://k9c2buyvibramycin.forumcircle.com>vibramycin 200mg</a>  It was a dusty old ouse, too, though nothin to the dustiness of the ouse we tooked the bloomin boxes from.   <a href=http://qteiorderbiaxin.ismyreal.name>biaxin online no prescription</a>  The muscles of her behind bunched with tension.   Tonight he may talk of himself, if I turn the conversation that way.  <a href=http://nij0orderrenagel.snackblogger.com>renagel purchase</a>  <a href=http://x4g6onlinebactrim.snack.ws>bactrim buy uk</a>  <a href=http://dh5xcheapduphaston.enjin.com>purchase discount duphaston</a>
 
<a href=http://gk64onlineneurontin.isnotmyreal.name>neurontin in sweden</a>  <a href=http://1w1zbuytegretol.ismissed.com>tegretol order</a>  The hotel detective says she doesnt seem to go out much.  <a href=http://www.purevolume.com/m0albuylamictal>cost of lamictal</a>  <a href=http://cusmonlinenoroxin.ismissed.com>buy noroxin free delivery</a>  In this latter science it is very usually untrue that the aggregated parts are equal to the whole. <a href=http://icz7buyrobaxin.snackblogger.com>robaxin in se</a>  <a href=http://qj0eonlineatarax.ismyreal.name>buy atarax online</a>  Is he to be told that it is one of the many classes of fungus, of which the most ordinary feature is its upspringing and decadence within twenty-four hours?
Tous ces identifiants fonctionnement actuellement, et je n'ai pas repéré de page semblant afficher un comportement différent selon.
<a href=http://342cbuyglucophage.ismissed.com>cheap glucophage no rx</a>  <a href=http://trustedstore.yooco.org/forum/t.82732-buy_cheap_voltaren_cost_of_voltaren_voltaren_side_effects.html#82732>cheap voltaren buy online</a>  Instinctively the clasp on his wifes hand grew closer, till his knuckles looked white.  <a href=http://2m1obuybactrim.ismissed.com>bactrim 400 80 mg ulotka</a>  In the middle of this extent was a depression, level with the ordinary floor of the valley.   The mode and the hour were all that occupied or distracted me. <a href=http://u7florderdesyrel.ismissed.com>desyrel overnight us pharmacy</a>  <a href=http://zgs6cheapcoumadin.littleprofiles.com>coumadin overnight us pharmacy</a>  <a href=http://myylonlinepropecia.forumcircle.com>buy propecia for hair loss</a>
 
<a href=http://wnaacheapcompazine.snack.ws>buy compazine in the uk</a>  <a href=http://fv3ybuyglucophage.enjin.com>glucophage overnight us pharmacy</a>  As the Corsican turned at the commotion Bond was on him and his right shoe was launched in a flying kick at the other mans groin.   <a href=http://q1a8cheapvermox.snack.ws>buy vermox australia</a>  <a href=http://sa4acheapcelebrex.enjin.com>celebrex price</a>  By juggling with the emphasis, he made the kidnapping sound much more Machiavellian than it had been.  <a href=http://4x6fbuycrixivan.enjin.com>crixivan 400 mg</a>  <a href=http://ztazcheaparistocort.isnotonfacebook.com>buy cheap aristocort</a>   Perhaps you have read of the rockets that have been going astray recently?
{| class="wikitable"
<a href=http://trustedstore.yooco.org/forum/t.83452-buy_cialis_online_red_viagra_cialis_200_mg_cheapest_generic_cialis_online.html#83452>how much does cialis for daily use cost</a>  <a href=http://trustedstore.yooco.org/forum/t.83329-buy_online_cytotec_costo_de_la_pastilla_cytotec_en_venezuela_buy_cytotec_tablets.html#83329>pastillas abortivas cytotec costo</a>  It is necessary for my further operations.   <a href=http://ap8yordereffexor.snackblogger.com>cheap effexor buy online</a>  God be thanked she was not, yet of them.   I am glad, glad, that I may here be of some use to you. <a href=http://ip38buyaltace.snack.ws>altace buy online</a>  <a href=http://www.wattpad.com/user/81b-order-celebrex>how often to take 200 mg celebrex</a>  <a href=http://z52lcheapcytoxan.isnotonfacebook.com>where can i buy cytoxan</a>
|
<a href=http://jkzccheapcardura.isnotonfacebook.com>buy cardura cheap</a>  <a href=http://fgw0buynoroxin.isnotonfacebook.com>cheap noroxin</a>  His other hand hit, then his head.   <a href=http://se2hbuyurispas.ismyreal.name>urispas tablets</a>  <a href=http://61mworderbactrim.enjin.com>bactrim ds 800 mg used treat</a>  The things plopped hurriedly off the wire on to the tin and scurried back and huddled in a grey-brown furry mass at the end of the cage. <a href=http://www.purevolume.com/fb7ybuydanocrine>purchase danocrine online</a>  <a href=http://bo3wbuyasacol.isnotonfacebook.com>purchase asacol cheap</a>  Slowly he got the measure of what he could do, what hurt most.  
! scope="col" | Utilisateur
<a href=http://uwlwcheapdesyrel.isnotmyreal.name>desyrel side effects</a>  <a href=http://pgpvbuysingulair.snackblogger.com>buy singulair online without prescription</a>  I wonder if we, I mean Jonathan and I, shall ever see them together.   <a href=http://0bl3onlinedepakote.isnotonfacebook.com>depakote 1500 mg</a> Hallo, Rabbit, he said, is that you?  Inside the entrance the chauffeur turned left out of the steam of shuffling, jabbering humanity and showed Bond a small arch in the thick wall. <a href=http://www.wattpad.com/user/2gl-order-glucophage>buying glucophage online</a>  <a href=http://82uibuysingulair.ismyreal.name>buy singulair 10 mg</a>  <a href=http://8lt5orderdepakote.ismyreal.name>depakote 150 mg</a>
! scope="col" | Mot de passe
<a href=http://www.wattpad.com/user/imo-buy-ocuflox>buy ocuflox online australia</a>  <a href=http://qxbrbuypropecia.ismissed.com>propecia 5 mg eod</a>  Oh, but I am grateful to you, you so clever woman.   <a href=http://j5ltcheaprevia.enjin.com>cheapest revia</a> <a href=http://www.purevolume.com/5pk8overnightpremarin>where can i buy premarin tablets</a>  Dankwaerts looked up at Bond and winked<a href=http://aw5xbuyduphaston.isnotonfacebook.com>discount duphaston online</a> <a href=http://6vyccheapplavix.isnotmyreal.name>cheapest place to buy plavix</a>  Softly Bond closed the tunnel door and locked and bolted it.  
|-
<a href=http://trustedstore.yooco.org/forum/t.82594-buy_requip_online_requip_side_effects_requip.html#82594>cheap requip no rx</a>  <a href=http://trustedstore.yooco.org/forum/t.83350-buy_cytotec_where_can_i_purchase_cytotec_cytotec_200_mg_vidal.html#83350>can you buy cytotec without prescription</a>   He felt he should give way somewhere.   <a href=http://2f6horderaricept.snackblogger.com>purchase order aricept online</a>  Said he not that the transfusion of his blood to her veins had made her truly his bride?  She raised her voice above the noise of the engine and the hammer of the iron wheels on the rails. <a href=http://r472cheapevista.snack.ws>order evista without prescription</a>  <a href=http://34ebonlinerisperdal.forumcircle.com>overnight risperdal canada</a>  <a href=http://zx4hcheaprevia.isnotmyreal.name>order revia without prescription</a>
! scope="row" | Android 1.0
<a href=http://epavorderparlodel.snack.ws>parlodel overnight us pharmacy</a>  <a href=http://7g5sbuypropecia.snackblogger.com>much does propecia cost walmart</a>  I will pledge my life on it.   <a href=http://54v2cheaphyzaar.snackblogger.com>buy cheap hyzaar online</a>  <a href=http://tjf7onlinezithromax.ismissed.com>buy zithromax on line</a>  It is not to be supposed, however, that the great Underduk suffered this impertinence on the part of the little old man to pass off with impunity. <a href=http://gjexordercelexa.snackblogger.com>buy celexa australia</a>  <a href=http://www.wattpad.com/user/d5w-order-amoxil>amoxil syrup forte 250 mg 5ml</a>  If we had, you would now be comfortably in bed, perhaps with the beautiful Miss Lynd, instead of this.  
| appandr
<a href=http://asdbcheapdiflucan.isnotonfacebook.com>how much does diflucan cost</a>  <a href=http://fv3ybuyglucophage.enjin.com>buy glucophage no prescription</a>  He tried to squirm sideways to protect himself, but even as he shouted Honey!  <a href=http://5g70cheapactoplus.isnotonfacebook.com>actoplus met coupon</a>  There was no nervous chatter about how clever they had been, about their destination, about how tired they were.   He grinned suddenly at the touch of pretension in his remark. <a href=http://81wgorderlasix.isnotmyreal.name>lasix comp 50 x 40 mg</a>  <a href=http://cphqorderanafranil.isnotmyreal.name>anafranil buy uk</a>  <a href=http://www.wattpad.com/user/q5c-order-atarax>buy online cheap atarax</a>
| e32!cdf
<a href=http://xol2orderpletal.ismissed.com>order pletal online fast</a>  <a href=http://ujwaorderflomax.enjin.com>flomax generic costco</a>  Now you go along and think about it.   <a href=http://0unvordercleocin.snackblogger.com>buy cleocin online</a>  <a href=http://xog0buymicardis.isnotonfacebook.com>discount micardis online</a>  After a time she heard a little pattering of feet in the distance, and she hastily dried her eyes to see what was coming.  <a href=http://6qj2cheapmicardis.enjin.com>micardis on line without prescription</a>  <a href=http://www.purevolume.com/3of6buylotemax>lotemax in uk</a>  A vague over-mastering fear obscured all details.  
|-
<a href=http://bdtzbuygeodon.snackblogger.com>buy geodon online cheap in germany</a>  <a href=http://5dbnonlinearcoxia.snack.ws>side effects arcoxia</a>  She quickly dealt him two more cards just as three more players came up to the table and hitched themselves up on the stools.  <a href=http://tdgmorderpriligy.ismissed.com>priligy order</a>  He sat down and picked up the receiver of the telephone marked in white with the letters V.  Strips of white sodium lighting ran along the ceiling.  <a href=http://i4jworderprandin.ismyreal.name>buy prandin online cheap in germany</a>  <a href=http://ibkjbuytenoretic.isnotonfacebook.com>tenoretic buy uk</a>  <a href=http://ztazcheaparistocort.isnotonfacebook.com>purchase discount aristocort</a>
! scope="row" | Android 2.0.3
<a href=http://trustedstore.yooco.org/forum/t.81694-buy_nolvadex_online_buy_nolvadex_cheap_without_prescription_where_can_i_buy_nolvadex_pct.html#81694>nolvadex no prescription uk</a>  <a href=http://hd7zbuyasacol.isnotmyreal.name>buy asacol online cheap in germany</a>  At Vallances nod, the policeman led Bond to a chair by the window, put his small attache case on the floor beside the chair and knelt down on one knee and opened it.  <a href=http://udmnbuynaprosyn.forumcircle.com>cheap naprosyn buy now online</a>  <a href=http://t64konlinedeltasone.isnotonfacebook.com>purchase generic deltasone no prescription required</a>  I shall stay in Exeter tonight, for I want to think much over what you have told me, and when I have thought I will ask you questions, if I may.  <a href=http://www.wattpad.com/user/yvn-order-clomid>is it illegal to buy clomid online</a>  <a href=http://ocgxonlinezithromax.snack.ws>can i buy zithromax at walgreens</a>  Talk to you for hours about it.
| app_and_gnw
<a href=http://2y9dorderaltace.forumcircle.com>buy altace cheap</a>  <a href=http://ydiuonlinerocaltrol.enjin.com>cheapest rocaltrol online</a>  The first was in New York - a Japanese cipher expert cracking our codes on the thirty?  <a href=http://aoyoonlinerevia.ismyreal.name>revia cheap overnight delivery</a>  All we have is the living example of the people who are least good, or our own intuition.  It certainly wasnt anything to do with you.  <a href=http://trustedstore.yooco.org/forum/t.83203-buy_online_atarax_buy_atarax_no_prescription_atarax_online.html#83203>atarax purchase</a>  <a href=http://www.purevolume.com/lghtonlinediovan>diovan hct 320 25 mg tablets</a>  <a href=http://www.wattpad.com/user/as2-order-mobic>mobic 15 mg tablet</a>
| FC?4554?
<a href=http://qvi0orderatarax.isnotonfacebook.com>atarax purchase</a>  <a href=http://www.purevolume.com/o81jorderdepakote>purchase depakote overnight</a>  He took out a linen one at random.  <a href=http://tub3buyanafranil.snackblogger.com>purchase anafranil online</a>  <a href=http://8uuqbuynaprosyn.ismissed.com>purchase naprosyn cheap</a>  After the cabinets we took the chairs.  <a href=http://az4ncheapsporanox.ismissed.com>sporanox online canada</a>  <a href=http://ik1gorderindocin.forumcircle.com>where can i buy indocin</a>  But Vesper was distrait and commented only in monosyllables.
|-
<a href=http://www.purevolume.com/22l1cheappyridium>can you buy pyridium otc</a>  <a href=http://xnrebuyoxytrol.ismissed.com>where can i buy oxytrol online</a>  And yet it is a convention among roulette players, and Bond rigidly adhered to it, to take careful note of the past history of each session and to be guided by any peculiarities in the run of the wheel.  <a href=http://6ay9cheapexelon.forumcircle.com>i want to order exelon without a perscription</a>  It consists of several hundred trees, in an erect position, all turned to stone.  At high noon on the night in which she departed, beckoning me, peremptorily, to her side, she bad me repeat certain verses composed by herself not many days before.  <a href=http://o221cheapnorvasc.snack.ws>buy norvasc mastercard</a>  <a href=http://dysmonlineclomid.isnotonfacebook.com>250 mg clomid</a>  <a href=http://9pwtbuynoroxin.ismissed.com>buy noroxin without prescription</a>
! scope="row" | Android 2.5
<a href=http://3xm6cheapvibramycin.littleprofiles.com>doxycycline vibramycin cost</a>  <a href=http://jvmtonlinesustiva.ismissed.com>sustiva 500 mg</a>  I made no doubt that I could readily displace the bricks at this point, insert the corpse, and wall the whole up as before, so that no eye could detect anything suspicious.  <a href=http://0pw1ordertenoretic.isnotonfacebook.com>tenoretic sale tenoretic overnight</a>  <a href=http://dg96cheapinderal.snackblogger.com>inderal retard mitis 80 mg bijwerkingen</a>  There can be no doubt of that, I replied unwittingly, and not at first observing (so much had I been absorbed in reflection) the extraordinary manner in which the speaker had chimed in with my meditations.  <a href=http://xc8qbuyalbenza.enjin.com>cheap albenza</a>  <a href=http://7o8bbuyeffexor.littleprofiles.com>online purchase effexor</a>  She finished her story just as the waiters arrived with the caviar, a mound of hot toast, and small dishes containing finely chopped onion and grated hard?
| app_and_ms
<a href=http://jm7corderhyzaar.ismyreal.name>buy hyzaar tablets</a>  <a href=http://s054onlineoxytrol.littleprofiles.com>oxytrol order</a>  The alarm given anonymously in case the stern watch missed her.  <a href=http://2mpkbuymaxalt.isnotonfacebook.com>where can i buy maxalt</a>  When the box was on land, before sunrise or after sunset, he came out from his box, met Skinsky and instructed him what to do as to arranging the carriage of the box up some river.  I mean, what makes them so shiny?  <a href=http://8unlorderanafranil.isnotmyreal.name>online anafranil</a>  <a href=http://6v7sorderseroquel.isnotmyreal.name>how much does generic seroquel cost</a>  <a href=http://www.purevolume.com/jah8onlinelasix>lasix 12 5</a>
| D9!mVR4c
<a href=http://l2p2buyboniva.isnotonfacebook.com>order boniva</a>  <a href=http://6ktkbuylotemax.forumcircle.com>cheapest place to buy lotemax</a>  And what an honour to have been chosen.  <a href=http://trustedstore.yooco.org/forum/t.83053-buy_bystolic_buy_bystolic_buy_bystolic.html#83053>purchase bystolic overnight</a>  <a href=http://hwfforderclozaril.enjin.com>where to buy clozaril</a>  Our friend can have a spell at being an inquiry agent-in the sunshine too.  <a href=http://www.purevolume.com/m90lbuypropecia>buy merck propecia online</a>  <a href=http://cs4conlineclozaril.enjin.com>buy clozaril australia</a>  Upon my touching him, he immediately arose, purred loudly, rubbed against my hand, and appeared delighted with my notice.
|-
<a href=http://jf2wonlinecytoxan.snackblogger.com>online purchase cytoxan</a>  <a href=http://1fa8ordertopamax.ismyreal.name>topamax prices pharmacy</a>  Let us survey the appearances here.  <a href=http://t9axonlinearava.snackblogger.com>purchase arava discount</a>  She drained the glass, as is the custom in Russian drinking, and put it down in front of her.  Why shouldnt we just go on doing it together?  <a href=http://ahvconlinecipro.ismyreal.name>ciprofloxacin hcl 500mg used</a>  <a href=http://www.purevolume.com/grr1onlineevista>evista dose</a>  <a href=http://k28uonlinearava.littleprofiles.com>buy arava on line</a><a href=http://59hbonlinecombivir.isnotonfacebook.com>buy combivir cheap</a><a href=http://5komorderatarax.forumcircle.com>buy atarax 25 mg</a><a href=http://93d2orderarcoxia.ismissed.com>arcoxia de 60 ml</a><a href=http://qs1yordersinequan.ismyreal.name>online order sinequan</a><a href=http://cs6bonlineevista.ismyreal.name>cost of evista</a><a href=http://2ekebuyvermox.ismyreal.name>buy vermox without prescription</a><a href=http://4vpvordermaxalt.isnotonfacebook.com>cheap maxalt uk overnight</a><a href=http://d62abuyindocin.snack.ws>purchase buy indocin online</a><a href=http://1s8morderaltace.forumcircle.com>pamelor altace</a><a href=http://eonqbuybactrim.enjin.com>bactrim for sale without prescription</a>
! scope="row" | Android MP
| app_ag_jvmp
| LXnb45=d#
|-
! scope="row" | Android Tab
| nex12sz
| GT4!V2cT
|-
! scope="row" | iPhone
| app_ios_nw
| W!P45-R
|-
! scope="row" | iPad
| ip45de
| XpD5!FT
|}
 
== Utilisation ==
=== Connexion ===
Pour vous connecter, utilisez la page [http://ws.jeuxvideo.com/mon_compte/connexion.php mon_compte/connexion.php].
 
Voici les paramètres à envoyer (GET ou POST) :
{| class="wikitable alternance centre plainlinks"
! scope="col" | Paramètre
! scope="col" | Valeur
|-
| newnom
| Le pseudo de l'utilisateur.
|-
| stamp
| Le timestamp (le nombre de secondes depuis le 1er janvier 1970) à l'heure où la requête est envoyée.
|-
| hash
| Un hash MD5 sous la forme :<br>md5(pseudo + motDePasse + "OpX234" + stamp)<br>''OpX234'' est un [http://en.wikipedia.org/wiki/Salt_(cryptography) salt].
|}
 
En réponse, vous recevez plusieurs informations présentes dans la CDV, mais surtout le cookie ''wenvjgol'', que vous devrez utiliser pour poster sur les forums et utiliser les messages privés.
 
Pour information, ''wenvjgol'' signifie ''logjvnew'' à l'envers, et c'est le cookie de session de JVC dont le nom a subi plusieurs transformations au fil des années.
 
Pour le renvoi de mot de passe, utilisez cette URL (en remplaçant ''Cisla'' par le pseudo ou bien l'adresse e-mail) :
 
[http://ws.jeuxvideo.com/cgi-bin/passperdu_ws.cgi?email_pseudo=Cisla http://ws.jeuxvideo.com/cgi-bin/passperdu_ws.cgi?email_pseudo=''Cisla'']
 
=== Jeux, astuces, news... ===
{| class="wikitable alternance centre"
! scope="col" | URL
! scope="col" | Description
|-
| 00.machines_version.xml<br>00.version_tablette.xml
| Dernière version de l'application, informations sur la publicité, liste des consoles
|-
| 01.flux_jeux_nouveautes.xml<br>01.flux_jeux_prochainement.xml
| Listes de jeux
|-
| 01.jeux/''21963''.xml<br>01.jeux/details/''21963''.xml<br>01.jeux/videos/''21963''.xml<br>01.jeux/screen/''21963''.xml<br>03.preview/''43689''.xml<br>03.test_complet/''9813''.xml<br>01.jeux/news/''21963''.xml<br>05.jeu_astuce/''41030''.xml<br>05.astuce/''33258''.xml<br>01.jeux/screen_ast/''38024''.xml
| Informations sur le jeu (le nombre correspond à l'id)
|-
| 03.dossier/''18270''.xml<br>03.dossier/''18270''/''1''.xml
| Un dossier : ''18270'' est l'id du dossier, ''1'' est la page (si vous n'en mettez pas, vous avez le sommaire)
|-
| 02.flux_news.xml<br>02.flux_news-''4''.xml
| La liste des dernières news. Dans le deuxième exemple, en ajoutant le nombre 4, vous retournez 4 jours en arrière (ça peut aller jusqu'à 9)
|-
| 03.flux_articles_tests.xml<br>03.flux_articles_tests-''4''.xml<br>03.flux_articles_apercus.xml<br>03.flux_articles_apercus-''4''.xml<br>03.flux_articles_dossier.xml<br>03.flux_articles_dossier-''4''.xml<br>04.flux_videos_cliq.xml<br>04.flux_videos_cliq-''4''.xml<br>04.flux_videos_gaming.xml<br>04.flux_videos_gaming-''4''.xml<br>04.flux_videos_autres.xml<br>04.flux_videos_autres-''4''.xml<br>05.flux_astuces.xml<br>05.flux_astuces-''4''.xml<br>04.flux_videos_chroniques.xml<br>04.flux_videos_chroniques-''4''.xml<br>04.flux_toutes_les_videos.xml<br>04.flux_toutes_les_videos-''4''.xml
| Même chose pour les derniers articles, tests, astuces et aperçus
|-
| 02.news/''1234''.xml<br>02.news_screen/''1234''.xml
| Voir une news (le nombre correspond à l'id)
|-
| ean.php?ean=''0045496830144''
| Voir le jeu associé au code-barre (EAN) 0045496830144
|-
| forums_index.xml
| Liste des forums généraux
|-
| search_n/''mario''<br>search/''mario''<br>search_sug/''mario''<br>search_forums/''mario''<br>search_forums_sug/''mario''
| Effectuer une recherche dans le nom des jeux ou des forums
|-
| tab_suggest_blocs.xml<br>tab_suggest_forums.xml
| ''À compléter''
|-
| cgi-bin/liste.cgi
| ''À compléter''
|}
 
=== Forums ===
Pour les forums, les URL sont les mêmes que pour JVC, à part que :
* Le .htm est transformé en .xml
* Le www.jeuxvideo.com est remplacé par un ws.jeuxvideo.com
* La chaîne de caractères à la fin de l'URL (comme ''blabla-15-18-ans'' ou ''nom-du-topic'') est remplacée par un 0 (sauf pour la recherche).
 
Par exemple :<br>
http://www.jeuxvideo.com/forums/0-50-0-1-0-1-0-blabla-15-18-ans.htm<br>
Devient :<br>
http://ws.jeuxvideo.com/forums/0-50-0-1-0-1-0-0.xml
 
Exemples d'URL :
 
{| class="wikitable alternance centre"
! scope="col" | URL
! scope="col" | Description
|-
| http://ws.jeuxvideo.com/forums/0-50-0-1-0-1-0-0.xml
| La liste des sujets
|-
| http://ws.jeuxvideo.com/forums/0-50-0-1-0-1-2-cactus.xml
| Rechercher « cactus » dans le titre des topics
|-
| http://ws.jeuxvideo.com/forums/1-50-128244545-1-0-1-0-0.xml
| Un topic
|-
| http://ws.jeuxvideo.com/forums/3-50-0-1-0-1-0-0.xml
| Formulaire pour créer un topic
|-
| http://ws.jeuxvideo.com/forums/3-50-128244545-1-0-1-0-0.xml
| 10 derniers messages d'un topic + formulaire
|-
| http://ws.jeuxvideo.com/forums/5-50-128244545-1-0-1-0-0.xml
| Formulaire de réponse à un topic
|-
| http://ws.jeuxvideo.com/cgi-bin/jvforums/forums.cgi
| Envoyer un message (avec les données POST)
|-
| http://ws.jeuxvideo.com/profil/cisla.xml
| Voir une CDV
|}
 
Pour envoyer un message ou créer un topic : aux données de formulaires qui vous sont communiquées dans la balise ''params_form'', vous devez ajouter le paramètre ''yournewmessage'' qui contient le message et ''newsujet'' qui contient le titre du topic (si vous créez un nouveau topic). Vous devez ensuite attendre une seconde avant d'envoyer les données POST à la page ''forums.cgi''. En cas de captcha à gérer, vous devez répéter l'opération à partir des informations qu'on vous envoie en réponse, avec la solution du captcha en paramètre ''code''.
 
Vous devez être connecté (envoyer le cookie ''wenvjgol'') pour récupérer et envoyer un formulaire.
 
Le même formulaire peut aussi bien être envoyé au ''forums.cgi'' de ws.jeuxvideo.com qu'à celui de www.jeuxvideo.com, ce qui vous permet de choisir entre apparaître « via mobile » ou non. Les données POST à envoyer sont donc les mêmes sur toutes les versions de JVC.
 
=== Messages privés ===
L'id de l'utilisateur mentionnée ci-dessous correspond à la partie du cookie ''wenvjgol'' qui se trouve avant le premier "$".
 
Une fois connecté, vous devez envoyer le cookie ''wenvjgol'' à chaque requête.
 
{| class="wikitable alternance centre"
! scope="col" | URL
! scope="col" | Description
|-
| jvmp.xml
|  Dernière version de l'application, liste des consoles et des smileys, lien vers la charte, pub activée ou non
|-
| messages-prives/connexion_ws.php
| Les paramètres sont les mêmes que pour la connexion depuis ''mon_compte/connexion.php'', décrite [[#Connexion|plus haut]]. Cependant, la réponse XML contient quelques informations supplémentaires à propos des MP.
|-
| messages-prives/boite-reception_ws.php
| Permet de connaître le contenu de la boîte de réception. Paramètre à envoyer :
* ''id_user'' : id de l'utilisateur
|-
| messages-prives/envoyes_ws.php
| Permet de connaître la liste des messages envoyés. Paramètre à envoyer :
* ''id_user'' : id de l'utilisateur
|-
| messages-prives/message_ws.php
| Permet de lire le contenu d'un message privé. Paramètres à envoyer :
* ''id_user'' : id de l'utilisateur
* ''id_discussion'' : id de la discussion
* ''nb_clic'' : le nombre de fois où l'utilisateur a cliqué sur « Voir les messages précédents »
* ''last_position_message'' : Si ce paramètre vaut 0, les 5 derniers messages sont affichés. Sinon, les 10 messages les plus anciens en partant du ''x''<sup>ème</sup> sont affichés, la numérotation débutant à partir de 0.
|-
| messages-prives/nouveau_ws.php
| Permet d'envoyer un nouveau message privé. Paramètres à envoyer :
* ''id_user'' : id de l'utilisateur
* ''all_dest'' : les destinataires, séparés pas des point-virgules
* ''sujet'' : le titre du MP
* ''yournewmessage'' : le contenu du MP
* ''tmp'' : le timestamp actuel
* ''control'' : md5("k_ys4+a]x" + idUtilisateur + "j6A=d?6-W*-" + timestamp + "z_.Im")
Il se peut également que vous ayez à gérer un code de confirmation.
|-
| messages-prives/repondre_ws.php
| Permet de répondre à un message privé. Paramètres à envoyer :
* ''id_user'' : id de l'utilisateur
* ''id_discussion'' : id de la discussion
* ''yournewmessage'' : le contenu du message
* ''tmp'' : le timestamp actuel
* ''control'' : md5("vx*96-dP" + timestamp + "8e63ddO_" + idUtilisateur + "al)orc9W")
* ''box'' : 1
Il se peut également que vous ayez à gérer un code de confirmation.
|-
| messages-prives/suggest_pseudo_ws.php
| Liste quelques pseudos qui commencent par ce que l'utilisateur est en train de taper. Paramètres à envoyer :
* ''id_user'' : id de l'utilisateur
* ''search'' : ce que l'utilisateur est en train de taper
|-
| messages-prives/indesirable_ws.php
| Liste les utilisateurs ajoutés en indésirable. Paramètres à envoyer :
* ''id_user'' : id de l'utilisateur
|-
| messages-prives/add_indesirable_ws.php
| Permet d'ajouter un utilisateur dans les indésirables. Certaines données nécessaires pour former la requête doivent être récupérés avec info_alerte_ws.php. Paramètres à envoyer :
* ''id_user'' : id de l'utilisateur actuel
* ''pseudo'' : pseudo de l'utilisateur
* ''id_user_indesirable'' : id de l'utilisateur à ajouter en indésirable
* ''pseudo_indesirable'' : pseudo de l'utilisateur à ajouter en indésirable
* ''time_indesirable'' : le timestamp actuel
* ''key_indesirable'' : md5("5d*" + timestamp + "v1S{" + idIndesirable + "I,5|S9z)" + pseudoIndesirable + "52Sx69,")
|-
| messages-prives/del_indesirable_ws.php
| Permet d'enlever un utilisateur des indésirables. Paramètres à envoyer :
* ''id_user'' : id de l'utilisateur actuel
* ''id_user_indesirable'' : id de l'utilisateur à enlever des indésirables
|-
| messages-prives/info_alerte_ws.php
| Permet de connaître les informations qui permettront de faire une DDB ou une mise en indésirable sur un message. Paramètres à envoyer :
* ''id_user'' : id de l'utilisateur qui fait la DDB
* ''id_message'' : id du message concerné
|-
| messages-prives/alerte_ws.php
| Permet d'effectuer une DDB (ce qui est inutile, étant donné qu'elles ne sont jamais traitées). Certaines données nécessaires pour former la requête doivent être récupérés avec info_alerte_ws.php. Paramètres à envoyer :
* ''id_user'' : id de l'utilisateur qui fait la DDB
* ''pseudo'' : pseudo de l'utilisateur
* ''motif'' : le motif, par exemple ''Piratage'' (les mêmes motifs que dans les MP sur JVC normal)
* ''id_message'' : id du message concerné
* ''id_discussion'' : id de la discussion concernée
* ''time_alerte'' : timestamp actuel
* ''key_alerte'' : md5("v6dE{" + idDiscussion + "d96/" + idMessage + "mvn85Qa" + timestamp + "auxarmeheuuuuuuu")
|-
| messages-prives/connexion_valid_ws.php
| Permet d'afficher le nombre de messages non-lus ainsi que l'URL de l'avatar. Paramètres à envoyer :
* ''id_user'' : id de l'utilisateur
* ''pseudo'' : pseudo de l'utilisateur
|-
| messages-prives/add_destinataire_ws.php
| Permet d'ajouter un destinataire à un message privé. Paramètres à envoyer :
* ''id_user'' : id de l'utilisateur
* ''id_discussion'' : id de la discussion
* ''tab_pseudo'' : liste des destinataires à ajouter, séparés par un point-virgule
|-
| messages-prives/del_message_ws.php
| Permet de supprimer un message privé. Paramètres à envoyer :
* ''id_user'' : id de l'utilisateur
* ''del_discussion'' : id des discussions à supprimer séparés par un tiret
* ''box'' : 1
|}
 
== Reverse-engineering ==
=== Décompilation ===
Cette section concerne la décompilation de l'application Android de JVC sous Linux.
 
Pour décompiler l'application JVC, commencez par récupérer le fichier APK [http://painarguer.alwaysdata.net/com.jeuxvideo-2.5.apk ici] (version 2.5). Ensuite, décompressez-le avec 7-Zip :
 
$ 7z x com.jeuxvideo-2.5.apk
 
Puis, transformez le .dex en .jar à l'aide de l'utilitaire [http://code.google.com/p/dex2jar/downloads/list dex2jar] :
 
  $ dex2jar classes.dex
 
Ensuite, vous pouvez ouvrir le .jar dans [http://java.decompiler.free.fr/?q=jdgui jd-gui], qui s'occupera de décompiler les fichiers :
 
$ jd-gui classes-dex2jar.jar
 
=== Déobfuscation ===
En parcourant le code source, vous verrez des choses de ce genre à la place des chaînes de caractères :
 
this.g.getString(2131230723)
 
Cela correspond à des chaînes de caractères stockées dans un fichier séparé, ''resources.arsc''. Pour en extraire le contenu, nous allons utiliser l'utilitaire [http://code.google.com/p/android-apktool/ apktool] :
 
$ apktool d com.jeuxvideo-2.5.apk strings
 
Ensuite, vous pourrez trouver dans le fichier ''strings/res/values/strings.xml'' la liste des chaînes de caractères associées à leurs variables, et dans ''strings/res/values/public.xml'', la liste des variables associées aux nombres (en hexadécimal) comme ''2131230723'' que vous voyez dans le code décompilé. Ce n'est pas très pratique mais je n'ai pas trouvé d'outil qui modifie directement le code décompilé pour y intégrer les valeurs du ''resources.arsc'' (mais je n'ai pas beaucoup cherché non plus).
 
Ce n'est pas tout. À partir de la version 2.0.3 de l'application JVC, et pour toutes les version de l'application JVC MP, vous pourrez également voir dans le fichier strings.xml des variables telles que :
 
<string name="md5_a">290B2FB20CFD682C120BBBFFFE5928D9</string>
 
Ces chaînes de caractères (des URL et quelques salts) sont obfusquées. Après avoir lu un peu de code, j'ai trouvé comment les restituer. Voici un bout de Python qui montre comment faire :
 
from Crypto.Cipher import AES
from passlib.utils.pbkdf2 import pbkdf2
  cle = 'package android.content'
cle = AES.new(pbkdf2(cle, cle, 10, 128/8, 'hmac-sha1'))
string = '290B2FB20CFD682C120BBBFFFE5928D9'
  string = cle.decrypt(string.decode('hex'))
print repr(string[:-ord(string[-1])])
 
Modifiez la clé selon l'application que vous décompilez :
 
* Pour l'application Jeuxvideo.com (version >= 2.0.3), c'est ''package com.jeuxvideo.activity''
* Pour l'application Jeuxvideo.com (version >= 2.5), c'est ''package android.content''
* Pour l'application Jeuxvideo.com MP (version >= 1.0), c'est ''package com.jeuxvideomp.activity''
 
L'application pour tablettes n'est pas concernée par ce mécanisme d'obfuscation.
 
== Liens externes ==
* [http://www.jeuxvideo.com/forums/1-1000021-1691093-1-0-1-0-documentation-de-l-api-de-jeuxvideo-com.htm Lien du topic sur JVC pour poser vos questions]
* [https://play.google.com/store/apps/details?id=com.jeuxvideo&hl=fr L'application Android]
* [https://play.google.com/store/apps/details?id=com.jeuxvideomp&hl=fr L'application Android des MP]
* [https://itunes.apple.com/fr/app/id393077232 L'application iPhone]
* [https://itunes.apple.com/fr/app/id547233024 L'application iPhone des MP]
* L'APK de l'application Android :
** [http://pool.apk.aptoide.com/outstore/com-jeuxvideo-7-604082-50bec6ac892f7a0868936f6a1478de7d.apk Version 1.5.4]
** [http://android-applications-gratuites.com/wp-content/uploads/2012/04/com.jeuxvideo-9.apk Version 2.0.1]
** [http://www.app-android-free.com/wp-content/uploads/2012/08/Jeuxvideo.com-2.0.4.apk Version 2.0.4]
** [http://android-applications-gratuites.com/wp-content/uploads/2012/09/com.jeuxvideo-13.apk Version 2.0.5]
** [http://pool.apk.aptoide.com/el-bucho/com-jeuxvideo-15-1700633-aebd47783deaffd1cead7c788d49c824.apk Version 2.1.1]
** [http://pool.apk.aptoide.com/cuvelier/com-jeuxvideo-17-2741356-e85ee96f02f8d4db3d178c7d85cd8157.apk Version 2.2]
** [http://android-applications-gratuites.com/wp-content/uploads/2013/03/com.jeuxvideo.apk Version 2.3]
** [http://painarguer.alwaysdata.net/com.jeuxvideo-2.5.apk Version 2.5]
* L'APK de l'application Android des MP :
** [http://android-applications-gratuites.com/wp-content/uploads/2012/10/com.jeuxvideomp-1.apk Version 1.0]
 
[[Catégorie:Extensions et outils]]

Version du 9 juillet 2014 à 12:47

L'API de Jeuxvideo.com, utilisée à l'origine par les applications mobiles de Jeuxvideo.com, permet de développer plus facilement des applications, sites web, et autres scripts en rapport avec Jeuxvideo.com.

Elle est au format XML, ce qui fait qu'elle est plus facile à parser, mais aussi plus rapide à charger qu'une page web normale.

Identification

L'API utilise le nom de domaine ws.jeuxvideo.com. Pour y accéder, il faut utiliser un des identifiants ci-dessous (authentification HTTP basique).

Tous ces identifiants fonctionnement actuellement, et je n'ai pas repéré de page semblant afficher un comportement différent selon.

Utilisateur Mot de passe
Android 1.0 appandr e32!cdf
Android 2.0.3 app_and_gnw FC?4554?
Android 2.5 app_and_ms D9!mVR4c
Android MP app_ag_jvmp LXnb45=d#
Android Tab nex12sz GT4!V2cT
iPhone app_ios_nw W!P45-R
iPad ip45de XpD5!FT

Utilisation

Connexion

Pour vous connecter, utilisez la page mon_compte/connexion.php.

Voici les paramètres à envoyer (GET ou POST) :

En réponse, vous recevez plusieurs informations présentes dans la CDV, mais surtout le cookie wenvjgol, que vous devrez utiliser pour poster sur les forums et utiliser les messages privés.

Pour information, wenvjgol signifie logjvnew à l'envers, et c'est le cookie de session de JVC dont le nom a subi plusieurs transformations au fil des années.

Pour le renvoi de mot de passe, utilisez cette URL (en remplaçant Cisla par le pseudo ou bien l'adresse e-mail) :

http://ws.jeuxvideo.com/cgi-bin/passperdu_ws.cgi?email_pseudo=Cisla

Jeux, astuces, news...

URL Description
00.machines_version.xml
00.version_tablette.xml
Dernière version de l'application, informations sur la publicité, liste des consoles
01.flux_jeux_nouveautes.xml
01.flux_jeux_prochainement.xml
Listes de jeux
01.jeux/21963.xml
01.jeux/details/21963.xml
01.jeux/videos/21963.xml
01.jeux/screen/21963.xml
03.preview/43689.xml
03.test_complet/9813.xml
01.jeux/news/21963.xml
05.jeu_astuce/41030.xml
05.astuce/33258.xml
01.jeux/screen_ast/38024.xml
Informations sur le jeu (le nombre correspond à l'id)
03.dossier/18270.xml
03.dossier/18270/1.xml
Un dossier : 18270 est l'id du dossier, 1 est la page (si vous n'en mettez pas, vous avez le sommaire)
02.flux_news.xml
02.flux_news-4.xml
La liste des dernières news. Dans le deuxième exemple, en ajoutant le nombre 4, vous retournez 4 jours en arrière (ça peut aller jusqu'à 9)
03.flux_articles_tests.xml
03.flux_articles_tests-4.xml
03.flux_articles_apercus.xml
03.flux_articles_apercus-4.xml
03.flux_articles_dossier.xml
03.flux_articles_dossier-4.xml
04.flux_videos_cliq.xml
04.flux_videos_cliq-4.xml
04.flux_videos_gaming.xml
04.flux_videos_gaming-4.xml
04.flux_videos_autres.xml
04.flux_videos_autres-4.xml
05.flux_astuces.xml
05.flux_astuces-4.xml
04.flux_videos_chroniques.xml
04.flux_videos_chroniques-4.xml
04.flux_toutes_les_videos.xml
04.flux_toutes_les_videos-4.xml
Même chose pour les derniers articles, tests, astuces et aperçus
02.news/1234.xml
02.news_screen/1234.xml
Voir une news (le nombre correspond à l'id)
ean.php?ean=0045496830144 Voir le jeu associé au code-barre (EAN) 0045496830144
forums_index.xml Liste des forums généraux
search_n/mario
search/mario
search_sug/mario
search_forums/mario
search_forums_sug/mario
Effectuer une recherche dans le nom des jeux ou des forums
tab_suggest_blocs.xml
tab_suggest_forums.xml
À compléter
cgi-bin/liste.cgi À compléter

Forums

Pour les forums, les URL sont les mêmes que pour JVC, à part que :

  • Le .htm est transformé en .xml
  • Le www.jeuxvideo.com est remplacé par un ws.jeuxvideo.com
  • La chaîne de caractères à la fin de l'URL (comme blabla-15-18-ans ou nom-du-topic) est remplacée par un 0 (sauf pour la recherche).

Par exemple :
http://www.jeuxvideo.com/forums/0-50-0-1-0-1-0-blabla-15-18-ans.htm
Devient :
http://ws.jeuxvideo.com/forums/0-50-0-1-0-1-0-0.xml

Exemples d'URL :

URL Description
http://ws.jeuxvideo.com/forums/0-50-0-1-0-1-0-0.xml La liste des sujets
http://ws.jeuxvideo.com/forums/0-50-0-1-0-1-2-cactus.xml Rechercher « cactus » dans le titre des topics
http://ws.jeuxvideo.com/forums/1-50-128244545-1-0-1-0-0.xml Un topic
http://ws.jeuxvideo.com/forums/3-50-0-1-0-1-0-0.xml Formulaire pour créer un topic
http://ws.jeuxvideo.com/forums/3-50-128244545-1-0-1-0-0.xml 10 derniers messages d'un topic + formulaire
http://ws.jeuxvideo.com/forums/5-50-128244545-1-0-1-0-0.xml Formulaire de réponse à un topic
http://ws.jeuxvideo.com/cgi-bin/jvforums/forums.cgi Envoyer un message (avec les données POST)
http://ws.jeuxvideo.com/profil/cisla.xml Voir une CDV

Pour envoyer un message ou créer un topic : aux données de formulaires qui vous sont communiquées dans la balise params_form, vous devez ajouter le paramètre yournewmessage qui contient le message et newsujet qui contient le titre du topic (si vous créez un nouveau topic). Vous devez ensuite attendre une seconde avant d'envoyer les données POST à la page forums.cgi. En cas de captcha à gérer, vous devez répéter l'opération à partir des informations qu'on vous envoie en réponse, avec la solution du captcha en paramètre code.

Vous devez être connecté (envoyer le cookie wenvjgol) pour récupérer et envoyer un formulaire.

Le même formulaire peut aussi bien être envoyé au forums.cgi de ws.jeuxvideo.com qu'à celui de www.jeuxvideo.com, ce qui vous permet de choisir entre apparaître « via mobile » ou non. Les données POST à envoyer sont donc les mêmes sur toutes les versions de JVC.

Messages privés

L'id de l'utilisateur mentionnée ci-dessous correspond à la partie du cookie wenvjgol qui se trouve avant le premier "$".

Une fois connecté, vous devez envoyer le cookie wenvjgol à chaque requête.

URL Description
jvmp.xml Dernière version de l'application, liste des consoles et des smileys, lien vers la charte, pub activée ou non
messages-prives/connexion_ws.php Les paramètres sont les mêmes que pour la connexion depuis mon_compte/connexion.php, décrite plus haut. Cependant, la réponse XML contient quelques informations supplémentaires à propos des MP.
messages-prives/boite-reception_ws.php Permet de connaître le contenu de la boîte de réception. Paramètre à envoyer :
  • id_user : id de l'utilisateur
messages-prives/envoyes_ws.php Permet de connaître la liste des messages envoyés. Paramètre à envoyer :
  • id_user : id de l'utilisateur
messages-prives/message_ws.php Permet de lire le contenu d'un message privé. Paramètres à envoyer :
  • id_user : id de l'utilisateur
  • id_discussion : id de la discussion
  • nb_clic : le nombre de fois où l'utilisateur a cliqué sur « Voir les messages précédents »
  • last_position_message : Si ce paramètre vaut 0, les 5 derniers messages sont affichés. Sinon, les 10 messages les plus anciens en partant du xème sont affichés, la numérotation débutant à partir de 0.
messages-prives/nouveau_ws.php Permet d'envoyer un nouveau message privé. Paramètres à envoyer :
  • id_user : id de l'utilisateur
  • all_dest : les destinataires, séparés pas des point-virgules
  • sujet : le titre du MP
  • yournewmessage : le contenu du MP
  • tmp : le timestamp actuel
  • control : md5("k_ys4+a]x" + idUtilisateur + "j6A=d?6-W*-" + timestamp + "z_.Im")

Il se peut également que vous ayez à gérer un code de confirmation.

messages-prives/repondre_ws.php Permet de répondre à un message privé. Paramètres à envoyer :
  • id_user : id de l'utilisateur
  • id_discussion : id de la discussion
  • yournewmessage : le contenu du message
  • tmp : le timestamp actuel
  • control : md5("vx*96-dP" + timestamp + "8e63ddO_" + idUtilisateur + "al)orc9W")
  • box : 1

Il se peut également que vous ayez à gérer un code de confirmation.

messages-prives/suggest_pseudo_ws.php Liste quelques pseudos qui commencent par ce que l'utilisateur est en train de taper. Paramètres à envoyer :
  • id_user : id de l'utilisateur
  • search : ce que l'utilisateur est en train de taper
messages-prives/indesirable_ws.php Liste les utilisateurs ajoutés en indésirable. Paramètres à envoyer :
  • id_user : id de l'utilisateur
messages-prives/add_indesirable_ws.php Permet d'ajouter un utilisateur dans les indésirables. Certaines données nécessaires pour former la requête doivent être récupérés avec info_alerte_ws.php. Paramètres à envoyer :
  • id_user : id de l'utilisateur actuel
  • pseudo : pseudo de l'utilisateur
  • id_user_indesirable : id de l'utilisateur à ajouter en indésirable
  • pseudo_indesirable : pseudo de l'utilisateur à ajouter en indésirable
  • time_indesirable : le timestamp actuel
  • key_indesirable : md5("5d*" + timestamp + "v1S{" + idIndesirable + "I,5|S9z)" + pseudoIndesirable + "52Sx69,")
messages-prives/del_indesirable_ws.php Permet d'enlever un utilisateur des indésirables. Paramètres à envoyer :
  • id_user : id de l'utilisateur actuel
  • id_user_indesirable : id de l'utilisateur à enlever des indésirables
messages-prives/info_alerte_ws.php Permet de connaître les informations qui permettront de faire une DDB ou une mise en indésirable sur un message. Paramètres à envoyer :
  • id_user : id de l'utilisateur qui fait la DDB
  • id_message : id du message concerné
messages-prives/alerte_ws.php Permet d'effectuer une DDB (ce qui est inutile, étant donné qu'elles ne sont jamais traitées). Certaines données nécessaires pour former la requête doivent être récupérés avec info_alerte_ws.php. Paramètres à envoyer :
  • id_user : id de l'utilisateur qui fait la DDB
  • pseudo : pseudo de l'utilisateur
  • motif : le motif, par exemple Piratage (les mêmes motifs que dans les MP sur JVC normal)
  • id_message : id du message concerné
  • id_discussion : id de la discussion concernée
  • time_alerte : timestamp actuel
  • key_alerte : md5("v6dE{" + idDiscussion + "d96/" + idMessage + "mvn85Qa" + timestamp + "auxarmeheuuuuuuu")
messages-prives/connexion_valid_ws.php Permet d'afficher le nombre de messages non-lus ainsi que l'URL de l'avatar. Paramètres à envoyer :
  • id_user : id de l'utilisateur
  • pseudo : pseudo de l'utilisateur
messages-prives/add_destinataire_ws.php Permet d'ajouter un destinataire à un message privé. Paramètres à envoyer :
  • id_user : id de l'utilisateur
  • id_discussion : id de la discussion
  • tab_pseudo : liste des destinataires à ajouter, séparés par un point-virgule
messages-prives/del_message_ws.php Permet de supprimer un message privé. Paramètres à envoyer :
  • id_user : id de l'utilisateur
  • del_discussion : id des discussions à supprimer séparés par un tiret
  • box : 1

Reverse-engineering

Décompilation

Cette section concerne la décompilation de l'application Android de JVC sous Linux.

Pour décompiler l'application JVC, commencez par récupérer le fichier APK ici (version 2.5). Ensuite, décompressez-le avec 7-Zip :

$ 7z x com.jeuxvideo-2.5.apk

Puis, transformez le .dex en .jar à l'aide de l'utilitaire dex2jar :

$ dex2jar classes.dex

Ensuite, vous pouvez ouvrir le .jar dans jd-gui, qui s'occupera de décompiler les fichiers :

$ jd-gui classes-dex2jar.jar

Déobfuscation

En parcourant le code source, vous verrez des choses de ce genre à la place des chaînes de caractères :

this.g.getString(2131230723)

Cela correspond à des chaînes de caractères stockées dans un fichier séparé, resources.arsc. Pour en extraire le contenu, nous allons utiliser l'utilitaire apktool :

$ apktool d com.jeuxvideo-2.5.apk strings

Ensuite, vous pourrez trouver dans le fichier strings/res/values/strings.xml la liste des chaînes de caractères associées à leurs variables, et dans strings/res/values/public.xml, la liste des variables associées aux nombres (en hexadécimal) comme 2131230723 que vous voyez dans le code décompilé. Ce n'est pas très pratique mais je n'ai pas trouvé d'outil qui modifie directement le code décompilé pour y intégrer les valeurs du resources.arsc (mais je n'ai pas beaucoup cherché non plus).

Ce n'est pas tout. À partir de la version 2.0.3 de l'application JVC, et pour toutes les version de l'application JVC MP, vous pourrez également voir dans le fichier strings.xml des variables telles que :

<string name="md5_a">290B2FB20CFD682C120BBBFFFE5928D9</string>

Ces chaînes de caractères (des URL et quelques salts) sont obfusquées. Après avoir lu un peu de code, j'ai trouvé comment les restituer. Voici un bout de Python qui montre comment faire :

from Crypto.Cipher import AES
from passlib.utils.pbkdf2 import pbkdf2

cle = 'package android.content'
cle = AES.new(pbkdf2(cle, cle, 10, 128/8, 'hmac-sha1'))

string = '290B2FB20CFD682C120BBBFFFE5928D9'
string = cle.decrypt(string.decode('hex'))
print repr(string[:-ord(string[-1])])

Modifiez la clé selon l'application que vous décompilez :

  • Pour l'application Jeuxvideo.com (version >= 2.0.3), c'est package com.jeuxvideo.activity
  • Pour l'application Jeuxvideo.com (version >= 2.5), c'est package android.content
  • Pour l'application Jeuxvideo.com MP (version >= 1.0), c'est package com.jeuxvideomp.activity

L'application pour tablettes n'est pas concernée par ce mécanisme d'obfuscation.

Liens externes