Kā es ieguvu Diablo III Beta atslēgu. Kā es ieguvu Diablo III Beta Diablo 3 aktivizācijas atslēgas atslēgu

YouTube videoklipos Tas ir labi Nesen sāka parādīties Diablo III Beta atslēgas. 7 minūšu videoklipā atslēga tiek rādīta uz sekundi; uzvar tas, kurš to aktivizē pirmais. Lūk, kā atslēga izskatās nekustīgā kadrā:

Vai tu domā to pašu, ko es domāju?


Kopā ir 10 atslēgas.

1. atslēga
Es nezināju par pirmo atslēgu un, iespējams, neviens nezināja. Dažiem cilvēkiem ir paveicies.

2. atslēga
Otrajam video bija gatavs vienkāršākais bots, kas ik pēc 10 sekundēm atjaunina lapu ar pievienoto video un, ja parādās jauns video, modālais logs brīdinājuma veidā par to ziņo. Izrādījās, ka pēc 4 stundām YouTube atklāj botu un lūdz viņam ievadīt recaptcha, un pēc tam katru stundu viņš lūdz to ievadīt. Tas ir ļoti neērti, bet es īsti negribēju tērēt laiku un rakstīt normāli, jo es gaidīju, ka otrā atslēga parādīsies kaut kā savādāk, piemēram, vismaz ar zaļiem burtiem. Es palaidu garām otro taustiņu, bet, kad es ieraudzīju tos pašus pelēkos ciparus un burtus, tādā pašā fontā, vienāda izmēra, uz tā paša balta fona un pat to pašu trīs rindiņu lielumā, es nolēmu izveidot parastu robotprogrammatūru.

3. atslēga
Trešajam videoklipam robots izmantoja youtube api — kvotu pieprasījumu skaitam, kuriem 12 stundas ļāva skenēt reizi 5 sekundēs.

Algoritms bija vienkāršs:

Tātad, parādījās brīdinājums, informējot mani par jauna videoklipa izlaišanu, es pieteicos battle.net, pēc 10 sekundēm video tika lejupielādēts, pēc vēl 10 sekundēm parādījās ekrānuzņēmums ar sērijas numuru:


Iegāju tajā un... izrādījās jau lietots. Kļūdu analīze parādīja, ka dati, izmantojot youtube api, tiek atjaunināti ar aizkavēšanos līdz 5 minūtēm! Kad robots atklāja jauno videoklipu, jau bija par vēlu. Dažiem citiem robotiem vai lietotājiem, kas nospiež F5, paveicās.

4. atslēga
Ceturtajā videoklipā robots ir uzlabots: tagad tas izmanto aptuveni 100 starpniekserverus (1 pavediens katram starpniekserverim), kas skenē gdata ik pēc 5 sekundēm. Testi ir parādījuši, ka aptuveni 20 starpniekserveri vienkārši uzreiz ziņo par jauna videoklipa izlaišanu, pārējie panāk minūtes laikā, tas bija lieliski. Atšķirībā no gdata tiešās saites parādās uzreiz jebkuram IP, tāpēc šeit bez starpniekservera bots vienkārši lejupielādē video 20 straumēs (strādāja pat 1000 straumēs, YouTube to atļauj). Lejupielādes ātrums ir palielinājies. Ir uzlabots skenēšanas algoritms: bots vispirms skenē video otro daļu 4 pavedienos (visos iepriekšējos videoklipos sērijas atslēga parādījās video beigās), bet pēc tam pirmo daļu 4 pavedienos. Uzticamības labad skenēšanas solis tika samazināts līdz 500 ms, un arī citi parametri tika nedaudz vājināti.

Tātad tika parādīts brīdinājums, kas paziņoja par jauna videoklipa izlaišanu. Pirms man bija laiks pieteikties battle.net, video jau bija lejupielādēts (10 sekundes) un parādījās ekrānuzņēmums ar sērijas numuru:

Priecājos, ka biju ņēmusi vērā viņa parādīšanās iespēju divās rindās. Ar trīcošām rokām kaut kā uzrakstīju un aktivizēju! Tas viss aizņēma apmēram 20 sekundes, man ļoti paveicās ar skenēšanu, lai gan pilna skenēšana ilga 30 sekundes. Šajā video, kā izrādījās, bija divi taustiņi, kas parādījās secīgi, es ievadīju otro. Apsveicam to, kurš aktivizējās pirmais!

Vēl palikušas 5 atslēgas
Algoritmu var precizēt: palaist skenēšanu kopā ar lejupielādes sākumu, algoritms kļūs sarežģītāks, bet pastiprinājums būs 10 sekundes. Varat arī atpazīt sērijas numuru un automātiski ievadīt to vietnē battle.net. Tad atslēgu var ievadīt pat 5 sekundēs.

Viss tika rakstīts Java, izmantojot HttpComponents (http protokols) un VLCj (video apstrāde)

P.S. Diablo III ir foršs

ATJAUNINĀT
Bija interesanti uzrakstīt pašu botu, tāpēc 20 pavadītās stundas uzskatu par izklaidei veltītu laiku, nevis par 20 stundām, par kurām varētu nopelnīt daudz vairāk naudas, nekā maksā pati atslēga. Brīvajā laikā es atpūšos vai mācos kaut ko jaunu, nevis strādāju, bet šeit ir kaut kas patīkams un noderīgs. Vēl nav pabeigta spēle.

Algoritms
Es apzināti uzreiz nenorādīju sērijas numura noteikšanas algoritmu divu iemeslu dēļ. Uzzinājuši absolūti precīzu algoritmu, ThisIsHorosho autori ātri padarīs atslēgu neatpazīstamu, un es nodarīšu ļaunumu tiem, kas arī raksta botu. Lai gan pieļauju, ka tādu nav, bet, spriežot pēc komentāriem, sērijas numurus ievada 3 minūtēs, vai tiešām gaidot nospiež F5...

Nu tā kā ir daudz jautājumu par algoritmu... Galvenais, ka algoritmam jābūt ļoti ātram. Galvenā ideja ir uzreiz redzama no ekrānuzņēmuma ar sērijas numuru.

  1. Mēs uzņemam attēlu no rāmja un saglabājam to ar izmēru 640x320, VLCj ļauj saglabāt attēlus ar jebkuru izšķirtspēju, pat ja videoklipam ir cita. Visi punkti, kas ir tuvu teksta krāsai, ir melni, viss pārējais ir balts. Rezultātā mēs iegūstam melnbaltus attēlus. Pāris šādu attēlu ir iekļauti šajā rakstā.
  2. Katram ekrānuzņēmumam mēs aprēķinām balto un melno punktu statistiku. Kā fonu deklarējam tos, kur balto punktu skaits testos ir lielāks par 92%, pietika ar 94%, bet tas ir ar rezervi. Kadros ar fonu mēs meklējam sērijas numuru.
  3. Mēs atkāpjamies par 30 pikseļiem no kadra malām, jo ​​seriāls parādās tuvāk centram, bet nekad no malas. Atlikušo lauku sadalām 20x20 kvadrātos, katrā no kuriem saskaitām melno punktu skaitu
  4. Kvadrātus ar melno punktu skaitu no 10% līdz 60% mēs pasludinām par kvadrātiem ar burtiem - tas ir, ņemot vērā faktu, ka burts var ietilpt tikai līdz pusei kvadrātā un ar nelielu rezervi.
  5. Rāmji, kuru nepārtrauktā secībā ir vismaz 6 kvadrāti ar burtiem horizontāli un 3 kvadrāti vertikāli, tiek deklarēti par rāmjiem ar sērijas numuru. Mēs tos saglabājam mapē.

Rezultātā tiek parādīti tikai attēli, kuru teksts ir līdzīgs sērijas numuram:

Praksē to nav daudz, tāpēc atrast vajadzīgo nav grūti.

Darbs ar VLCj
Darbs ar VLCj ir ļoti vienkāršs. Vispirms izlasīju dokumentāciju www.capricasoftware.co.uk/vlcj/tutorial1.php, pēc tam nedaudz paspēlējos ar MediaPlayer klasi, bet kaut kā bija buggy, vispār pieņēmos pie tiešo funkciju izsaukšanas no LibVlc bibliotēkas - tā ir gan ātrāks, gan bez kļūdām.

Vispirms izveidojam bibliotēku
LibVlc libvlc = LibVlcFactory.factory().create();

Pēc tam mēs izveidojam 8 AnalyzerThreads (ar Runnable tipa) masīvu (katrs 1/8 no video laika), ko mēs nododam Executors.newFixedThreadPool(4) šādā secībā: 4, 5, 6, 7, 0, 1, 2, 3. Tie. Vispirms tiks skenēta otrā videoklipa daļa un pēc tam pirmā. Katrs AnalyzerThread satur šādu kodu:

System.out.println("Palaist sadaļu " + cipars); libvlc_media_player_t p_mi = null; libvlc_media_t media = null; try ( // sagatavot //libvlc_instance_t instance = libvlc.libvlc_new(0, new String); libvlc_instance_t instance = libvlc.libvlc_new(2, new String("--vout", "dummy")); p_mi = libvlc.libvlc_new instance); libvlc.libvlc_audio_toggle_mute(p_mi);<= msTo; msTime += msInBlock, block++) { String path = snapshotPath + File.separator + "snap-" + String.format("%03d.png", block); libvlc.libvlc_media_player_set_time(p_mi, msTime); int r = libvlc.libvlc_video_take_snapshot(p_mi, 0, path, picWidth, picHeight); if (r != 0) System.out.println("SNAPSHOT FAILED: block=" + block + ", returnCode=" + r); else analyzeImage(path); } } finally { if (p_mi != null) libvlc.libvlc_media_player_stop(p_mi); if (media != null) libvlc.libvlc_media_release(media); if (p_mi != null) libvlc.libvlc_media_player_release(p_mi); System.out.println("Close section " + num); }

Funkcija AnalyImage nosaka, vai atslēga ir ekrānuzņēmumā vai nav, tā saglabā to īpašā mapē.

Nomest no atslēgu turētājiem

Kaulu atslēga

Mēs ejam uz I cēlienu un teleportējamies uz Deadly Fields. Šajā vietā dzīvo nepatīkami ragaini radījumi vai parastie Hazras iedzīvotāji. Šeit jums būs jāatrod pirmais no nepieciešamajiem priekšniekiem - Odig. Viņu nebūs grūti atpazīt, jo viņš izmanto diezgan nepatīkamas burvestības, kas nospiež spēlētāju lielos attālumos, pēc tam, palēninot un imobilizējot viņu, met ugunsbumbas un šķēpus. Īpaši lielas briesmas tas radīs tuvcīņas nodarbībām.

Rijība

Dodamies uz nākamo II cēlienu un teleportējamies uz Dalgur Oasis. Šeit jūs gaidīs otrais atslēgas glabātājs Sokars. To var atrast arī citādā veidā, jo to atdod sava aura, kas palēnina šāviņu rašanos. Uzmanīgi apskatiet ekrāna malas, lai pamanītu tā auru, tad noteikti nekļūdīsities.

Kari

Tagad mēs pārejam pie 3. darbības. Akmens forta teritorijā jūs sagaidīs cits atslēgu glabātājs - Za'Rit. Viņš izmanto šķebinošas ledus prasmes, kas var nopietni kaitēt jūsu veselībai, vienlaikus ievērojami palēninot jūsu darbību. Arī kaujas laikā teleportējas. Taču atrast šo “atslēgu glabātāju” ir daudz vienkāršāk nekā iepriekšējos, jo šis laukums ir veidots koridora stilā un jums nebūs ilgi jāmeklē.

Ļaunums

Pēdējais atslēgas glabātājs atrodas 4. cēlienā, proti, Silver Spire teritorijas pirmajā līmenī. Vecāki viņu sauca par Nekaratu. Viņš spēj mest viņu tālu, ievietot būrī un deficēt, lai samazinātu sadzīšanu, ko viņš saņem. Loka, tāpat kā iepriekšējā, arī ir maza un meklēšana neaizņems daudz laika.

Rakstā esošā informācija ir novecojusi 2.3.0 ielāpa izlaišanas dēļ. Atslēgu turētāji tagad nekavējoties pamet elles ierīces.

Nomest no atslēgu turētājiem

Kaulu atslēga

Mēs ejam uz I cēlienu un teleportējamies uz Deadly Fields. Šajā vietā dzīvo nepatīkami ragaini radījumi vai parastie Hazras iedzīvotāji. Šeit jums būs jāatrod pirmais no nepieciešamajiem priekšniekiem - Odig. Viņu nebūs grūti atpazīt, jo viņš izmanto diezgan nepatīkamas burvestības, kas nospiež spēlētāju lielos attālumos, pēc tam, palēninot un imobilizējot viņu, met ugunsbumbas un šķēpus. Īpaši lielas briesmas tas radīs tuvcīņas nodarbībām.

Rijība

Dodamies uz nākamo II cēlienu un teleportējamies uz Dalgur Oasis. Šeit jūs gaidīs otrais atslēgas glabātājs Sokars. To var atrast arī citādā veidā, jo to atdod sava aura, kas palēnina šāviņu rašanos. Uzmanīgi apskatiet ekrāna malas, lai pamanītu tā auru, tad noteikti nekļūdīsities.

Kari

Tagad mēs pārejam pie 3. darbības. Akmens forta teritorijā jūs sagaidīs cits atslēgu glabātājs - Za'Rit. Viņš izmanto šķebinošas ledus prasmes, kas var nopietni kaitēt jūsu veselībai, vienlaikus ievērojami palēninot jūsu darbību. Arī kaujas laikā teleportējas. Taču atrast šo “atslēgu glabātāju” ir daudz vienkāršāk nekā iepriekšējos, jo šis laukums ir veidots koridora stilā un jums nebūs ilgi jāmeklē.

Ļaunums

Pēdējais atslēgas glabātājs atrodas 4. cēlienā, proti, Silver Spire teritorijas pirmajā līmenī. Vecāki viņu sauca par Nekaratu. Viņš spēj mest viņu tālu, ievietot būrī un deficēt, lai samazinātu sadzīšanu, ko viņš saņem. Loka, tāpat kā iepriekšējā, arī ir maza un meklēšana neaizņems daudz laika.

Kopumā visi atslēgu turētāji tiek nogalināti pārliecinoši, īpaši pašreizējās realitātēs, kur visas klases un viņu prasmes ir manāmi nostiprinātas.

Par to, kā lietot infernālo ierīci un kur aktivizēt to var atpazīt no attēla, noklikšķinot uz tā.

Lai saliktu infernālo ierīci, jums būs jāizsit tās skice un trīs atslēgas: iznīcināšana, naids un šausmas. Un lai tas viss varētu uzkrist jums OBLIGĀTI ir jābūt 5 kaudzēm Nephalem Valor, un iespēja būs vienāda ar 5%.

Jūs varat palielināt atslēgu izkrišanas iespējamību, izmantojot: SM1-10%, SM2-20%... SM10-100%. Tādējādi, izmantojot CM10, nogalinot aizbildni, ir 100% iespēja saņemt atslēgu.

Lūdzu, ņemiet vērā, ka pēc lietošanas infernālā ierīce tiek iznīcināta, un, lai izveidotu elles uguns gredzenu, jums būs nepieciešami no 3 (CM10) līdz 30 gabaliem (CM1), un tas nav fakts, ka tas būs labs.

Pirms aktivizēšanas infernālā ierīce labāk sadarbotos ar diviem citiem vai pat četriem spēlētājiem. Tādā veidā jūs varat iegūt reaģentus hellfire gredzenam daudz ātrāk, ņemot vērā faktu, ka katram no jums ir viena ierīce un visi to izmanto.

Saliekot sakrājas, lai nogalinātu priekšniekus, neaizmirstiet pirmajā cēlienā nogalināt atslēgu turētāju.

Vienā izveidotajā spēlē var aktivizēt 3 infernālās ierīces, un katrs atvērtais portāls novedīs pie cita priekšnieku kopuma, kuru kopā ir trīs. Katrs no tiem var nomest reaģentu, lai izveidotu elles uguns gredzenu, bet tas ir cits stāsts... kas ir aprakstīts mūsu rokasgrāmatā par elles uguns gredzena izveidi.)