Jump to content
VirginMary

Hacking conquiztador.ro for fun & profit

Recommended Posts

Poate crezi tu ca problema e rezolvata insa crede-ma ca nu e nimic deosebit fata de acum 2 saptamani, in plus intrebarile se pot lua mai repede decat le pot ei adauga. Si sa nu aducem vorba de penibil... poate ai uitat cand cereai programul cand era clar ca nu va fi public. Nu stiu unde ai vazut tu ca s-a laudat cineva cu erorile altora, e o diferenta intre lauda si a arata ca exista probleme, nu-ti face griji o sa intelegi cand vei fi mare.

Incearca sa nu mai fi asa arogant si vei primi ajutor pentru problemele tale.

Link to comment
Share on other sites

rair in conquiztador s-au bagat o gramada de bani . Cei peste 100000 de vizitatori unici au dovedit asta . Ceea ce a descoperit Slick nu e un amarat de bug ... Sper ca programul sa nu fie niciodata publicat . E pacat de joc , cel mai reusit joc web pe care il stiu . Daca programul va fi publicat se va ajunge cum s-a ajuns cu codurile de cs : toti copii de 10 ani joaca si "dau numai headshoturi" . Felicitarile mele Slick

Link to comment
Share on other sites

Stai asa ca eu nu cerseam programul, eu vroiam sa stiu ideea de baza.(ca var corecta era furnizata cu variantele iar tu nu faceai decat sa capturezi pachetul).EU NU AM CERUT PROGRAMUL!

Cat despre aroganta... mai gandestete... tu nu rapunzi decat la atacurile venite inspre tine, la intrebari...

Link to comment
Share on other sites

Cat despre aroganta... mai gandestete... tu nu rapunzi decat la atacurile venite inspre tine, la intrebari...

Hmm... cand a zis ca tre' sa mai cresti avea dreptate... daca nu te interesa nu mai comentai. Eu zic ca ar fi mai bine sa'i lasi pe cei interesati sa poarte o discutie in legea lor. wake up!

Link to comment
Share on other sites

Guest Nemessis

rair, aici e un loc unde ne laudam cu ce gaseste fiecare si Zaraki Kenpachi isi baga scula in mamele la totii copii idioti. So... daca nu iti convine spune-mi si mie te rog ce mai cauti pe forumul nostru?

Link to comment
Share on other sites

Hai ma baieti calmativa ca s-a terminat cu conquiztador :roll: .Ati descoperit un bug in amaratul de flash si acum lati apucat pe Dumnezeu de un picior...

Sunt postate vreo 3 intrebari simple fara raspuns.Asta e un forum unde poate veni un incepator sa puna si el o intrebare sau un loc unde sa va laudati cu erorile altora.

Cei de la conquiztador au rezolvat problema in 2-3 zile.Calmativa, chiar daca inregistrati in 3 saptamini toate intrebarile, ei le schimba pe toate in 3 zile, tu ei ban si vii iar pe forum sa ne zici ce tare ai fost.

Fa ceva valoros care sa fie corect si apoi numa respect. :wink:

ATENTIE ! ! ! DEVENITI PENIBILI ! ! ! SPRE JENANT ! ! !

Idiot copil. Taci in gatul tau si dute de te joaca ca nu-ti futem noi jocul. Daca existau ideei criminale nu mai era situl acum in picioare. Intrebarile simple fara raspuns sunt de fapt idioate, de aia nu s-a gandit nimeni sa raspunda. Trivia de orice fel este predestinata acestui "bug". Traficul exista, este encodat si candva se va gasi metoda de decodare.

Si tu fugi la joc!

Link to comment
Share on other sites

Salut! Am fost intrigat de toata chestia cu hackul pentru conquiztador intrucat la liceu toti sunt innebuniti de jocul asta. Am citit cu interes tutorialul si mi-a fost destul de dificil pentru ca nu mai programasem pe pachete transmise in retea pana acum.

Azi am studiat destul de mult problema si am reusit in cele din urma sa scriu un program in Visual C++ care iti printeaza pe ecran xml-ul din pachete.

Intrebarea mea este, de vreme ce atributul "GOOD" care contine raspunsul apare de-abia dupa ce toti au raspuns, cum e posibil sa se afle raspunsul inainte?

N-am decodat inca intrebarile si optiunile, pentru ca nu vad la ce mi-ar folosi pentru ca vreau doar sa aflu raspunsul nu sa memorez intrebarile intr-o baza de date.

In momentul asta nu vad alta modalitate de a afla raspunsul de la inceput decat daca dupa decodarea intrebarii se vor gasi si intrebarea si raspunsul in acelasi string.

As fi recunoscator pentru niste lamuriri, sfaturi, hints :D thanks

Link to comment
Share on other sites

Nu se prea poate asa ceva. Serverul e in asa fel facut incat sa trimita raspunsul tuturor, abia dupa ce toti raspund.

Si in cazul asta, cum a fost facut programul din film? Pentru ca este evident ca primea raspunsul inainte ca intrebarea sa apara in joc. Sau or fi jucat ca nebunii sute de jocuri si au memorat toate intrebarile si astfel de la un moment dat ele incepeau sa se repete? Mi-e greu sa cred asa ceva.

Link to comment
Share on other sites

Nu se prea poate asa ceva. Serverul e in asa fel facut incat sa trimita raspunsul tuturor, abia dupa ce toti raspund.

Si in cazul asta, cum a fost facut programul din film? Pentru ca este evident ca primea raspunsul inainte ca intrebarea sa apara in joc. Sau or fi jucat ca nebunii sute de jocuri si au memorat toate intrebarile si astfel de la un moment dat ele incepeau sa se repete? Mi-e greu sa cred asa ceva.

daca ai fi citit tot ce s-a scris ai fi aflat ca slick a facut un bot care a adunat raspunsurile deci avea un db

Link to comment
Share on other sites

Dupa cum a zis si Slick botul lui e creat in perl si el a folosit 6 o data 24/24 timp de 3 zile daca nu ma inseala memoria.....Acuma nu stim daca au fost toti pe acelasi calculator sau nu,insa din cate stiam daca deschideai mai multi useri pe IE puteai juca cu toti o data....aici de ce nu ar fi la fel,insa fiecare bot se va loga cu un alt utilizator!

Link to comment
Share on other sites

N-am decodat inca intrebarile si optiunile, pentru ca nu vad la ce mi-ar folosi pentru ca vreau doar sa aflu raspunsul nu sa memorez intrebarile intr-o baza de date.

In momentul asta nu vad alta modalitate de a afla raspunsul de la inceput decat daca dupa decodarea intrebarii se vor gasi si intrebarea si raspunsul in acelasi string.

As fi recunoscator pentru niste lamuriri, sfaturi, hints :D thanks

Captarea intrebarilor si stocarea raspunsurilor nu pot sa zic neaparat ca e cheating, daca joci mii de jocuri si te tine memoria, e aceeasi chestie..aproximativ!

Dar ceea ce vrei tu e cheating 100%...patetic. Slick nu primea rasunsul inainte, doar ca daca faci captura de pachete, ai intrebarea cu cateva milisecunde inainte de sa apara pe ecran, si atunci cu o cautare in baza de date rezulta vizual ca raspunsul e dat exact sau inainte de sa apara intrebarea pe ecran.

Link to comment
Share on other sites

Am inteles. Multumesc de replyuri.

Tu zici ca e cheating eu zic ca e vorba de hacking.

EDIT:

As mai avea o intrebare in legatura cu decodarea, am gasit o valoare hex in syscode.swf, desi nu stiu daca este cea corecta. Intrebarea este cum se foloseste aceasta 'scretKey' ? Pentru ca in codul de la prima pagina pentru decodare se folosea key-ul de 32 caractere care venea cu fiecare intrebare. Deci nu vad la ce foloseste acest 'secretKey'.

Link to comment
Share on other sites


#include <stdio.h>
#include <math.h>
#include <string.h>

#define ROT(k) ((((k) >> 7) & 33554431) | (((k) & 127) << 25))

int str_to_hex(char *s, int len)
{
int i, ret = 0;

for (i = 0; i < len; i++) {
ret = ret * 16 + ((s[i] >= '0' && s[i] <= '9') ? (s[i] - '0') : (s[i] - 'A' + 10));
}

return ret;
}

int dcd_key(char *s)
{
int aux;

if (*s == 0) return 0;

aux = str_to_hex(s, 2);
aux = ((aux & 28) >> 2) * 2 + 2;

return str_to_hex(&s[aux], 8) ^ 2875741179;
}

void dcd_text(char *buf, char *s, int k)
{
int i, len = strlen(s);
unsigned long aux;

if (k == 0) {
strcpy(buf, s);
return;
}

for (i = 0; i < len / 2; i++) {
aux = (str_to_hex(&s[i * 2], 2) ^ k) & 255;

if (aux <= 31) {
*(buf++) = '~';
} else if (aux >= 128) {
int uc = aux & 0x3F;
k = ROT(k);
i++;
aux = (str_to_hex(&s[i * 2], 2) ^ k) & 255;
uc = (uc << 6) + (aux & 0x3F);

switch (uc) {
case 0xe2: *(buf++) = 'a'; break; // ^a
case 0xc2: *(buf++) = 'A'; break; // ^A
case 0xee: *(buf++) = 'i'; break;
case 0xce: *(buf++) = 'I'; break;
case 0x0103: *(buf++) = 'a'; break;
case 0x0102: *(buf++) = 'A'; break;
case 0x0163: *(buf++) = 't'; break;
case 0x0162: *(buf++) = 'T'; break;
case 0x015F: *(buf++) = 's'; break;
case 0x015E: *(buf++) = 'S'; break;
case 0x0218: *(buf++) = 's'; break;
case 0x0219: *(buf++) = 'S'; break;
case 0x021B: *(buf++) = 't'; break;
case 0x021A: *(buf++) = 'T'; break;
default: *(buf++) = '~'; break;
}
} else if (aux == 127) {
*(buf++) = '~';
} else {
*(buf++) = (char)aux;
}

k = ROT(k);
}

*buf = 0;
}

int main() {
char *k = "592DC16F1B2D717B0B10B6491C0C8A4F"; // cheia aleatoare generata de server
char *q = // mesaj hashuit
"0FE9F5B9FD2A1393A4BB79736BCAF3C516D2527B4EC8F78633A7341455487C81"
"23F2FFE6FD1BB541A2F2777F6ADFF3D40DD55E3A596917CF63A2244E560760D7";
char *op1 = "7CA6E0EAB31CA4"; // prima optiune
char *op2 = "78A6E0EAB31CA454"; // a doua optiune
char *op3= "7EA6E0EAB31CA454"; // a treia optiune
char *op4 = "7EB6ADE7B849A354B3EE637E63"; // a patra optiune

unsigned long key;
char buf[1024];

key = dcd_key(k);
dcd_text(buf, q, key);
printf("Intrebare %s\n", buf); // Box: Cat timp dureaza pauza dintre reprizele unui meci de box?
dcd_text(buf, op1, key);
printf("Prima optiune %s\n", buf); // 1 minut
dcd_text(buf, op2, key);
printf("A doua optiune %s\n", buf); // 5 minute
dcd_text(buf, op3, key);
printf("A treia optiune %s\n", buf); // 3 minute
dcd_text(buf, op4, key);
printf("A patra optiune %s\n", buf); // 30 de secunde

return 0;
}

este nevoie de ea in functia dcd_key() aici : return str_to_hex(&s[aux], 8) ^ 2875741179; => cheia este in cazul acesta 2875741179 daca nu ma insel...

Link to comment
Share on other sites

@xulescu_voda

SecretKey-ul ajuta la creerea robotului pentru "strangerea" intrebarilor si raspunsurilor intr-o alta metoda decat cea din filmuletz, adica exact cum fac eu (SecretKeyul nou nu e greu de depistat chiar scos as putea zice, iar eu nu fac un bot care sa joace singur ci manual).

Link to comment
Share on other sites

#include <stdio.h>
#include <math.h>
#include <string.h>

#define ROT(k) ((((k) >> 7) & 33554431) | (((k) & 127) << 25))

int strtoul(char *s, int len)
{
int i, ret = 0;

for (i = 0; i < len; i++) {
ret = ret * 16 + ((s[i] >= '0' && s[i] <= '9') ? (s[i] - '0') : (s[i] - 'A' + 10));
}

return ret;
}

int dcd_key(char *s)
{
int aux;

if (*s == 0) return 0;

aux = strtoul(s, 2);
aux = ((aux & 28) >> 2) * 2 + 2;

return strtoul(&s[aux], 8) ^ "secretkey";
}

void dcd_text(char *buf, char *s, int k)
{
int i, len = strlen(s);
unsigned long aux;

if (k == 0) {
strcpy(buf, s);
return;
}

for (i = 0; i < len / 2; i++) {
aux = (strtoul(&s[i * 2], 2) ^ k) & 255;

if (aux <= 31) {
*(buf++) = '~';
} else if (aux >= 128) {
int uc = aux & 0x3F;
k = ROT(k);
i++;
aux = (strtoul(&s[i * 2], 2) ^ k) & 255;
uc = (uc << 6) + (aux & 0x3F);

switch (uc) {
case 0xe2: *(buf++) = 'a'; break; // ^a
case 0xc2: *(buf++) = 'A'; break; // ^A
case 0xee: *(buf++) = 'i'; break;
case 0xce: *(buf++) = 'I'; break;
case 0x0103: *(buf++) = 'a'; break;
case 0x0102: *(buf++) = 'A'; break;
case 0x0163: *(buf++) = 't'; break;
case 0x0162: *(buf++) = 'T'; break;
case 0x015F: *(buf++) = 's'; break;
case 0x015E: *(buf++) = 'S'; break;
case 0x0218: *(buf++) = 's'; break;
case 0x0219: *(buf++) = 'S'; break;
case 0x021B: *(buf++) = 't'; break;
case 0x021A: *(buf++) = 'T'; break;
default: *(buf++) = '~'; break;
}
} else if (aux == 127) {
*(buf++) = '~';
} else {
*(buf++) = (char)aux;
}

k = ROT(k);
}

*buf = 0;
}

int main() {
char *k = "592DC16F1B2D717B0B10B6491C0C8A4F"; // cheia aleatoare generata de server
char *q = // mesaj hashuit
"0FE9F5B9FD2A1393A4BB79736BCAF3C516D2527B4EC8F78633A7341455487C81"
"23F2FFE6FD1BB541A2F2777F6ADFF3D40DD55E3A596917CF63A2244E560760D7";
char *op1 = "7CA6E0EAB31CA4"; // prima optiune
char *op2 = "78A6E0EAB31CA454"; // a doua optiune
char *op3= "7EA6E0EAB31CA454"; // a treia optiune
char *op4 = "7EB6ADE7B849A354B3EE637E63"; // a patra optiune

unsigned long key;
char buf[1024];

key = dcd_key(k);
dcd_text(buf, q, key);
printf("Intrebare %s\n", buf); // Box: Cat timp dureaza pauza dintre reprizele unui meci de box?
dcd_text(buf, op1, key);
printf("Prima optiune %s\n", buf); // 1 minut
dcd_text(buf, op2, key);
printf("A doua optiune %s\n", buf); // 5 minute
dcd_text(buf, op3, key);
printf("A treia optiune %s\n", buf); // 3 minute
dcd_text(buf, op4, key);
printf("A patra optiune %s\n", buf); // 30 de secunde

return 0;
}

Unde gresesc ??!! de trei zile ma chinui :cry:

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...