Tout d'abord je te remercie pour la rapidité de ta réponse :)
j'ai travailler sur le decryptage de la map cet apres midi j'en suis finalement arriver a ce code :
clef
Cliquez pour révéler
Cliquez pour masquer
key = "2c73354461624d717c67627d374e55266761566a42316c613a2d61622c6b28436f403d7d417036607858212d685b374a403873503857302649627277727d7e27253242247d374829337634747320287f673e64665b456d47336f32253242266c615934566c3d662f3f796640317d2c4945624236507a7b5d575f39382862553e55693d6e5d6f4e21343b36687f29747e7529572f6627247e405e4b497a712d594338296b3a7a5e3223375b532a39792a5c772c40543c4c586e487e464c75526a652231692e71754237247e262a217a";
Data
Cliquez pour révéler
Cliquez pour masquer
data="24095b4c04034d0a492227285c1c2411570119396945093a522b21591231703f51472c031316131c364f4a451856294852177c1c12414d1e065f0507132d0c26560e534a470d29315537095c074e5e182e28501c49282403235718121a3c323e585949031d563408580f3c0e2f407c5357091a48151f14481f470746411f213f2a2832194c382659480a5b1b165a42563e324b58184b141f4d21315d2d390f29362e2d14370b044350086619142352451f474b40324412542100032c101d2f0a1c562b3447060037222a500d045b4c00034d2340220e255c1c2011572810394048093a562b21701b31593251472803133f1a1c1f424a451c5629615b1755111241491e06760c073a200c26520e53634e0d003c55370d5c076757180725501c4d28242a2a57311f1a3c363e58704003345b34085c0f3c272640555e57091e4815361d48364a0746451f211623281b144c3822594823521b3f5742563a324b71114b3d124d21355d2d1006291f232d14330b046a59084f14142356451f6e42401b49125425000305191d06071c562f34472f09370b245a5b005b4c290a4d0a4d220e215c1c091857011d39404c093a7f222159163159365147010a1316171c1f464a45355f29485617551512416017065f01073a240c267b07534a430d003855372455074e5a180721501c642124032757311b1a3c1f3758594d03345f340875063c0e2b40555a57093741151f1048364e07466c16213f2e281b104c380b50480a5f1b3f534256133b4b581c4b3d164d211c540b390b291f272d141a02044354084f1014237f4c1f474f401b4d12540c09032c141d06031c56063d470604370b23500d29524c00074d0a49220e08551c2015570119394065003a562f21591231591f584728071316131c1f6f43451c51231e5217553c1b41491a065f05073a020526520a534a44074c115c370d5b0d175d125508591c4d2c240323573132131a363a5859490334763d2e5c0b3c0e2f4055735e091e4c151f144836670e46451b213f2a281b394538225d480a5b1b3f7a4b563a364b58184b3d3f442135592d390f291f0e2414330f044350084f391d2356411f474b401b641b542504032c101d062a15562f334d51033d220a590d005c4659034d0a602b0e21581c201157013030664c0d3a562b21593b387f365547280313163a1539464e451c5629487b1e55151641491e065f2c0e3a240826520e534a6e04003851370d5c074e77110721541c4d2824030a5e311b1e3c363e5859600a125f30085c0f3c0e0649555a53091e4b1f303241364e0346451c2b6703211b104b32755a422472123f53455c6d324b5831423d164921355d2d39262039272914330b04436101662b102356451f4762493d4d16542500032c21142f5218562f344706293e0b23540d005b4c002a440a49260e215c1c20385e01193d404c093a56022859123559365147282a1a3013181f464a451c7f206e52135515124149380f5f0500307d0c2652275a4a470a0a6f55370d7a0e4e5e1f0d765316430e2d032353311b19362417517f4907345f34085c2635282f44555a57091e611c39144c364e0746453628192a2c1b104c382270410a5b1f3f5342563a1b4258184f3d164d21357424390f2d1f272d1433220d43500c4f101423566c16614b441b4d125425310a05411906031c562f1d4e2000330b23500d007d4500034a001e220e21751506115301193a4d4a38335510255912325430784e0e031716131c1f467b4c35072d48521755153b486f1e025f05073a243d2f7b5f574a470d00387c3e0d5c034e5e18072179154d2820032357311b3335363e5c594903345f1d015c0f380e2f40555a7e003848111f1448364e2e4f631f253f2a281b10653104594c0a5b1b3f536b5f1c324f58184b3d166428135d29390f291f27041d150b004350084f103d2a70451b474b401b4d3b5d0300072c101d0603355f0934430600370b237904265b4800034d0a491307086718201157011910494c093e562b215912185036514328031316133516464a411c562948523e5c151245491e065f0536330d5d22520e534a4724091e55330d5c074e5e290e0801184d282403237e383d1a38363e585949323d76650c5c0f3c0e2f695c7c570d1e48151f14793f675642451f213f2a0112364c3c2259480a5b2a367a13523a324b58186234304d25355d2d390f0016272d10330b044350214610142756451f474b69124d12502500032c10340f031c522f344706001e02235009005b4c000364036f220a215c1c20117e083f39444c093a562b085034315d36514728033a1f351c1b464a451c560041741751151241491e2f5623073e240c26520e7a43610d043855370d5c2e4778180321501c4d280d0a0557351b1a3c363e71504903305f34085c0f15072f40515a57091e483c161448324e0746451f08362a281f104c38225961035b1b3b5342563a326251184b39164d21355d1c3026781b272d14330b2d4a76084b10142356452e4e62111f4d125425003225132602031c55251c760f03660f23500d005b6509254d0e49220e215c2d293806051939404c09135f0d215d123159365176212a4212131c1f464a6c1556294c521755151268401e065b05073a240c0f5b0e534e470d0038551e045c074a5e180721503a442824072357321116153f18585d4903345f342155293c0a2f40555a5720176e151b1448364e076f4c1f213b2a281b104c112b59480e5b1b3c59657033324b5c184b3e1c54083c7b2d3d0f291f272d3d3a2d044750084f10140a5f631f434b401b4d12722c000328101d050e1f7f2634470200370b235024095b4c04034d0a492227285c1c24115701193969452f3a522b21591231703f77472c031316131c364f6c45185629485217641c3b104d1e065f0507132d0c26560e534a470d293155370a565e4d542e2e28501c4a227303235718121a3c323e585949031d561208580f3c0e2f4064537e581a48151f14481f470746411f213f2a2832194c382659480a5b1b165a42563e324b58184b141f4d21315d2d390f29392e2d14370b04405a366619322352451f474b40324434542100032c101d2f0a3a562b3447060037222a500d045b4c00034d2340220e255c1c2011572810394048093a562b21701b31593251472803133f1a1c1f424a451c5629615b3155111241491e066e0c2e01200c26520e53634e0d003c55370d5c076757180725501c4d28242a2a57311f1a3c363e587f4003345b34085c0f3c282640555e57091d4226361d6e364a0746451f210e23014a144c3822594823521b3f5742563a324b71114b3d124d21355d2d1006291f232d14330b046a59084f14142356451f6e42401b4912542500031d193457071c562f34472f09110b27500d005b4c290a4d0a4d220e215c1c091857011d39404c093a7f222159163159365147010a3516171c1f45406c3a5f2948551d0c16186f6017205f01073a240c267b07754a430d003855372455074e5a180721501c642124032757311b1a3c1f3758594d03345f340875063c0e2b40555a57093741151f1048364e0746741622042e281b104c380b506e0a5f1b3f534256133b6d581c4b3d164d211c542d390b291f272d141a02044354084f1319247f4c1f474f401b4d12540c09252c141d06031c56063d610604370b23500d31526551074d0a49220e07551c201557011a335365003a562f21591231591f584728071316131c1f6f43451c5229485217553c1b41491a065f05073a0d0526520a534a470d00115c110d58074e5e18071059351c2c240323573132133c363a5859490334763d085c0836572f4055735e091e4c151f144836670e6045182b662a281b39451e225d480a5b1b3f7a4b703a364b58184b3d3f442135592d390f291f0e2414330f044350084f391d2356411f474b401b641b542504032c101d062a15562f30470600370b0a590d005f4c00034d0a602b2821581c201157013030664c0d3a562b21593b3859365547280313163a151f464e451c562948741e55151641491d0c4f2c0e3a240826520e534a6e04263851370d5c074e6f112e70541c4d2824030a5e311b1e3c363d520d600a345f30085c0f3c0e0649555a53091e48151f3d41364e0346451f213f03211b1048382259480a7d123f5346563a324b5831421b164921355d2d393e2036762914330b044379016910102356451f476d491b4d165425030e29361406031b5c76344706293e0b23540d005b4c002a442c49260e215c1c20385e27193d404c093a561a2870293559365147282a1a1613181f464a451c7f204852135515114b66370f5f05033a240c2652275a4a4709003855370d750e4e5e1c0721501c4d012d252353311b1a3c3617517f4907345f34085c2635282f44555a57091e611c39144c364e07464536283f2a2c1b104c38227f410a5b1f3f5342563a1b4258184f3d164d21356c24105e2d1f272d1433220d65500c4f101423566316474b47111a115e37290a2c101a0c5a1b5c1c1d4e0600330b2353072a72450003490a49220e217a1520115301193a4a592033702b255912315936604e01521716131c1f46634c3a562d48521755152348604f025f05073a24252f740e574a470d00387c3e0d5c034e5e18072179154d28200323543b4f3335363e5c594903345f1d017a0f380e2f40555a7e003848111f1448364e214f451f253f2a2b1107653122594f000c1b3f536b5f3a324f58184b3d166428355d29390f291f27041d150b004350084f103d2a70451b474b401b4d3b5d0300072c101d0603355f0934430600370b237904265b4800034d0a490b07075c18201157011910494c093e562b225335185036514328031316133516464a411c56294852265c3c4345491e065f052e33020c22520e534a4724091e5530070b074e5e310e2150184d2824032371381b1a38363e5859492a3d79340c5c0f3c0e2f715c73060d1e48151f146e3f4e0742451f213f2a1912391d3c2259480a5b32367542523a324b58187a343f1c25355d2d390f0016272d10330b04435021461014245c1c1f474b66124d12532f560021122c0f0027522f344706001e02055009005b4c000364036f220a215c1c20117e083f39444c093a562b085012315d36514728033a1f351c1b464a451c560041741751151241491e205605073d2e5b26520e7543470d043855370d5c2e4778180321501c4d280d0a0557351b1a3c363e71504903305f34085c0f15072f40515a57091e483c161448324e0746451f08362a281f104c38225961037d1b3b5342563a327a51311a39164d21355d043029291b272d14330b354a79594b1014235645364e6d401f4d125425003225394c02031c562f34610f00370c29070e0a686a09034d0e49220d2b5035291157051939404c090b5f02705d12315936516e21031312131c1f464a6c1556294c521755151268401e065b05073a240c0f5b0e534e470d0038551e047a074a5e1807215035440e24072357311b1a153f18585d4903345f342155293c0a2f40555a5720176e151b1448364e076f4c39213b2a281b104c1e2b59480d514c3c594d7033324b5c184b3e1c7b073c5d2d3d0f291c2d043d3a0b044750084f10140a5f451f434b401b4d127d2c000328101d06031c7f2634470200370b235024095b4c04034d0a492227287a1c2411570119397145206b522b21591231683f527c2c031316131c2e4f63141856294852177c1c34414d1e065f05070b2d2577560e534a470d293155370a56504d531e2e28501c4a227303235717121a3c31340f5a43291d5634085b05650e2f407c5357091a48151f14481f470746411f213f2a2832194c382659480a5b1b165a42563e324b58184b141f6b21315d2d390f29362e0b14370b044350086619142352451f474b40324412542100032c101d2f0a3a562b3447060037222a760d045b4c00034d2340220e255c1c2011572810394048093a562b21701b31593251472803133f1a1c1f424a451c5629615b1755111241491e06760c073a200c26520e53634e0d003c55370d5c076757180725501c4d28242a2a57311f1a3c363e5868402a655b34085c0f3c272640555e57091e4815361d48364a0746451f211623281b144c382259483b52326e5742563a324b71114b3d124d213657151006291f232d143001206a59084f171e7456451f6e42401b4a18032500030a191d06071c562c39452f09370b27500d005b4c290a4d0a4d220e215c1c091857011d39404c093a7f222159163159365147010a3516171c1f464a45355f29485617551512416017065f01073a240c267b07534a430d003855372455074e5a180721501c642124032757311b1a3c1f3758594e096d5f340875063c0e2b40555a57093741151f1048364e07466c16213f2e281b104c380b50480a5f1b3f5342561c3b4b581c4b3d1547301c542d390b291f272d141a02044354084f101423704c1f474f401b4e18440c09032c141d06031c56063d470604370b23500d29524c00074d0a49220e08551c2015570119394065003a562c2b0f1231591f584728071316131c1f6f43451c5229485217553c1b41491a065f05073a0d05265209591c470d00115c370d58074e5e180708591c4d2c240323573132133c363a5859490334763d085c0b3c0e2f4055735e091e4c151f17453a";
la data est la clef étant déclaré ainsi à a fin de faire des tests
appel fonctions :
Cliquez pour révéler
Cliquez pour masquer
key = prepareKey(key);
bool ok ;
QString retour = decryptMap(data,key,checkSum(key).toInt(&ok,16)*2);
qDebug()<<retour;
/* Dim preparedKey As String = prepareKey(clef)
Dim sData As String = decypherData(mapData, preparedKey, Convert.ToInt64(checksum(preparedKey), 16) * 2) */
decryptMap
Cliquez pour révéler
Cliquez pour masquer
QString ClientTcp::decryptMap(QString d, QString k,int c)
{
QString loc5 ="";
int loc6 = k.length();
int loc7 =0;
bool ok;
QChar lettre;
for(int loc9=0;loc9<d.length();loc9= loc9+2)
{
int a = d.mid(loc9,2).toInt(&ok,16); // récupére le nombre( en HEXA) a l'emplacement loc9, 2 sur la chaine d
int b =k.at((loc7+c)%loc6).toLatin1(); // je pense que ce code récupére le code caractére a l'emplacement (loc7+c)modulo longueur de k sur le chaine k
qDebug()<<b<<" carac: "<<k.at((loc7+c)%loc6).toLatin1();
loc5+=QString::number(a^b); // operation Xor binaire
loc7++;
}
loc5 = loc5.toUtf8();
return loc5;
/*
Dim _loc5 As String = ""
Dim _loc6 As Integer = k.Length
Dim _loc7 As Integer = 0
Dim _loc9 As Integer = 0
While (_loc9 < d.Length)
Dim a As Integer = Convert.ToInt64(d.Substring(_loc9, 2), 16)
Dim b As Integer = Asc(k.Substring((_loc7 + c) Mod _loc6, 1))
_loc5 &= Chr(a Xor b)
_loc7 += 1
End While
_loc5 = unescape(_loc5)
Return _loc5
*/
}
prepareKey
Cliquez pour révéler
Cliquez pour masquer
QString ClientTcp::prepareKey(QString d)
{
QString loc3 ="";
QChar lettre;
bool ok;
for (int loc4=0;loc4<d.length();loc4 = loc4+2)
{
lettre= d.mid(loc4,2).toInt(&ok,16); // récupére le caractére codé en hexa sur le chaine "d" à l'emplacement loc4, +2
loc3+=lettre;
}
loc3 = loc3.toUtf8();
qDebug()<<loc3;
return loc3;
}
checksum
Cliquez pour révéler
Cliquez pour masquer
QString ClientTcp::checkSum(QString s)
{
int loc3 = 0;
QStringList liste;
liste <<"0"<< "1"<< "2"<< "3"<< "4"<< "5"<< "6"<< "7"<< "8"<<"9"<< "A"<< "B"<< "C"<< "D"<< "E"<< "F";
for (int loc4=0;loc4<s.length();loc4++)
{
loc3 = (s.at(loc4).toLatin1())%16; //récupère le n° caractère a la pos loc4 et récupéré le reste de sa division par 16
}
return liste[loc3%16];
/*
Dim _loc3 As String = 0
Dim _loc4 As String = 0
While (_loc4 < s.Length)
_loc3 = _loc3 + Asc(s.Substring(_loc4, 1)) Mod 16
_loc4 += 1
End While
Return (HEX_CHARS(_loc3 Mod 16))
*/
}
cependant mon résultat est étrange:
retour de la fonction
Cliquez pour révéler
Cliquez pour masquer
10256554562464410410173151075192251082211347891729402358112221982931111051628379011697107685052986110010710847325253335512110611712745120116191046413756213116982720103117474810223106786621545111881666718425291959411288355094749134811210910548122416561101028410533363432961101155652541181676152210312102109165012311866859810761472211065912479761032472119113783510598189776896712252812552115113199444954622596108114113312109940107107126279072321001250108127118106101133866503366122151117111211988256104456815663904611509311510611012017127918343104425886325650110438770126372353111118155530561157303689534855521721091231028863121533711311610212410074332166521468795436526119291825310033798511805311434096296353872898310521134946585485104861765942316398125258269381111512110982643499932110221101474112736784184103557250556449828886447122761154153561032218361253551601244311199107853798120751087039108781410678107279615199864102491041221231065312247125271628223571101051202757285464834610076391712299124619163361064350551153451123104734698256828391235336511009414114731852331046153991181125120168575106875237691211191053697741136111862371247183124311089812710798127641184538107337310388452387811111110571792127464512310112713931105741021951152012511991661024014801225330846270117403052372122107110835029421261113561341201181103557120375411912417525164861051103311378484955732444466788982345761161094412091108144012157111283683651111273231942123773686958748213661956271173975105605561351097135715377159712410362553910011059910561868248851021031075712711021116614510012739802110332476751117103251051265612758464698639116611256511899145140241161113030194581581786356135125289931114012210401798581610272528502367812760571277125541251051212799121733126251131553687177362643850696210811510434114812110311212117816329108981755371004711987101917631251181232148928192971088812264926841206675205530991077827568129121159211090246773101519535591051163482413122742475727999311452763423373596112191199210057911267122385628231191271012104521006374538867210911416716743231083115101227211111121304486120161172299478854912796750611361087412218115112111138113281189551802441101157539311938166095167556311768412257512346178351041810511781706854305954399011811234872433246331151108977291235365108921078211730579679872125101911084773596294113117627218791643712010330107104116362336184338694222121307061119119660114111921241105861667010265571412511011896106725511224756468166036243116212348381258188988239999583104305712119181079287766711117971762126109841253912769381261787108811174910911964122544079502111912610425104131271266194723411692314127988831131155920676226477074221034791139412751211166713108841051211163011696811171136074643429263441121276812764678091141001081007976284243110892333735640315382843738641208646979454774477951210158769895123112287858853331157079889344110998636628196911748561061081161811064222681011201892920904271102711111185641874850943316575126791252018412586126102528518526428727478464888575517101215811104935599275938109981065721555351051036896101864168865141401061141734302943224912650106715823298760751161268512069121429194383649943782127017127543841108112101965076612210996431021231091262922449741195180416087107110739763125591181216119609338314042102125561223012684701031181021190109427108336153891195711217912012212122061126531086281212468649291651259112110754123231552679661868886784588310411612083698564812252011621101909812594431410094119103299910268107219311514912548103756478561298114753043126861211028973122412619251111234693811960112165856116107122121119471086886791114268111411115821161031979646425766526412573843911121112185311061147256431077197101931188380119219118689805084126554598611522616053103103117106251045171132077126281271181068974101401111187939741151231111758601262224531269457126118119291001252828842213668348645110775110778251011259521201033111114835143150125740122821007727103279773971437110581275610393441124411215126508653510525113871250910611585102312121102738727127462052603560122737155775157981466772105105682471125326786210310112184961160123112142951227866421184412533466898351066732371271216542311964035127125371074314576111561871041048324118126126336428212759692754323012790483028124118431175532633419183057311084616336101101532310363994510111126891021027014472921155454121355612138114103955974712598131141117489382810780431819835205948781029111850693611261965110198220123871061412218921032571686489110123114589212398433355766415558812358361243667810116196276111101107469869463011010211159321286933043011111343566769542612651731084011086186664912137116119691181161260363412372421261247695848011299714751103107117451162851000753909710996581122347388992854659111164939949680594174674431219712412210411811037481732847861187626603611670323011512297105126102711272785308099010011124112327065512311022803010277344111316781271242525765707891066634831116017661031141252512101541022511312429632712293305142116891611182302711344119118222885106195070795611342714420535081100213152711029840641228820521228320674532741263611379581203528479410369097285211562429793105464983648058704286114783886551182115126126348103627871341076385901315101115591031112623107911611971123281195949887812555625100102471032011659287195116413471332812044841256914161365164511145571110910911473574110444247285111212772843242712476341122044332459114411459954899975663131025642118357895363971161031092211259878012477841030113100511611110123115541214341624710876212345688980355866108114483776123731131179740112174936212734234496119346611171252416885100499158119674259853321611081931711184172631189658456786116854279606314931937110542741012463820113761264960127690638112341094123342217922826621125631156510916951191158212249096676522575204461016773106120805471667299534657504343335910910813409912196107629119892911812081178737471043844881566499510033264139109377317831137017767012119808571611005625875113792024539522712010111652296711411694109998335643281241105311838689112371236011410010122102451016174110556125541133673441171112110582714042101361232037106536769976572291251071139736511733111126235929612512575512242789012115586069119901310751134711141356811411911561911471035712784911072497098191261297591902374103251221109674981005112181981034631061102811112567634210190721011061084311586110691125124945406129442102534295583832127201090114104111177769981241471163580441211512572115109912163101158112636352964975536780051113323111978126641110910568126101123916827691671596012722786070439986131687835091618794687432112304517109114443356116395363974632415455114338939109111101118112192649996112441972215365527610423222117910317116328932259178012210272430201244210298574536110394936249645961102555110100651236736428711874777497459110946208549891063351082383012585991221211328722811667381676012410460127106564274067191121284606050985153127112529109574611655104385511710462831051202196711041059401079840123581194887962104124127121113493790261119910766753410764924295911270347447121201191282115291151001274221111256051811129932301156912025674153126122419328311173831103612159836244150179586711990116106371127212020442764889151011141267376246634124125471105110132660933118614036912878452119451067227122108168275032126812685588807387611985371181855104775410380111208412379961123985335598571086654223724125111724100954725053178033936911569546359431253297908085373110814991017081791175311214675151251151369110100141213712561111118811470411011423126355112973410532606911094834336589113110124648694161241256642119941095986154111939509186858525201089177317993127646684571231201062646104677743704059747118135312441115821015281448312045743887512611382849310199971075755841234048921550251041259311060924531141469106451158437100593810501225698648411311063581248501268510512034394111122561038347689453111532521101127111291021054337118114979710910112881899914125541149911162497581225464422110978121931234843563921081044092711256515454639647739118957012179301231011052345510062911071271411671821635928329286835738369111389911312730712612740607093474461188793492114271095473109512312682123120273333369666912764122429789649242424112127110632374453466411016126222212752287495217223119381801222345114104594894973663826111211162501249065527211865735791101643210132108828223697612010625122477412095341044811968393123981002319251112673112103718810088373310234354537116961112536861087912179111118105606689855111436706358701692860112115811292618067136433288311459737910542901931181051191244135487767124111125304456126743647581201111244131195210799127917420388724106143511274543364121603516975325915837910138469819102481141179471138210110112290105125859410278117351049312412088571632113107526697100424048679170651263910549511126785305012782166912350121611249871041011268762312102911019120325104469243107211779902323101124306610125103102106111191246975491410518259447100636233847515342103283255093121121429241122694811650105635849812511118401421106133868112362472281141205147716712110562707711472344068169256431167312610711111124104122671965088865359528566059991036710223481124325610931191840167975120919810432270114511112159571310511811810596321173612539941651551083059591067576981219511255445116108256012511215189715606381117124127378421177310114213751948268111120153111944211092125102631095812197100459927873112248127781845594211510011310038481011193831433638588999234976965912790191095981149839711774808165161157961482910127431089988618691161810010357101211156154959332115113114274710110676298801102110281601410740164311411510010082243722796751232795478310738807144259902692514911411932123111561076865401212810459212612510239471117777418011133484126296686118152572751612280125548730125554012587364321043687291078279820234910924459745110127401174955989549626894849151061121237710270291191064193124723741480851267841143982326912612225669260706910211341874791221290120118754899941149558504912783577363178724647122632810210112711456871271009398684153492878330123108202515491920249173618110109210956115317496489518118910949975416913271120366638111113112114120194088934511448111126531245285105361234156101481115583641141051011029312232171268511650102742319117521181011083241161196382011853999241425559637116837292851015510510731165361235012371183411127993912311789115281171131930865712451011112012391482156534163439022124658999944490114921151201136766635952528331811157898676304429105122104120100126558739951221227494165711149311132315111193812111356510610031926460421015351521059262141012129669313607210858395483351168316621259897393310711268562810244191051231115997122981133768541038881139091981164097242921755175111511048991938816397125683215122