рдбрд╛рдпрдордВрдб рдбреИрд╢, рдпрд╛ рдХреИрд╕реЗ рдЕрдкрдиреЗ рдСрдирд▓рд╛рдЗрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рд░рдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ

рдореБрдЭреЗ рдЦреЗрд▓рдирд╛ рдФрд░ рдЦреЗрд▓ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рджрд┐рд▓рдЪрд╕реНрдкреА рдереА рдХрд┐ рд╡реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреА рдХреНрдпрд╛ рдХрдордЬреЛрд░рд┐рдпрд╛рдВ рд╣реИрдВ, рд╡реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдХреНрдпрд╛ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рд╣рдм рдкрд░ рдбрд╛рдпрдордВрдб рдбреИрд╢ рдЧреЗрдо рдХреА рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдкрд░ рд▓реЗрдЦ рдереЗ,
рдФрд░ рдлрд┐рд░, рдбрд╛рдпрдордВрдб рдбреИрд╢
рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЧреЗрдо рдХреЗ рд▓рд┐рдП рдореИрдХреНрд░реЛ рдмреЙрдЯ рд▓рд┐рдЦрдирд╛

рдореБрдЭреЗ рдЗрд╕ рдЦреЗрд▓ рдореЗрдВ рднреА рджрд┐рд▓рдЪрд╕реНрдкреА рдереА, рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдЖрдЧреЗ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВ рдХрд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЦреЗрд▓ рдХреЗ рдЕрдзреНрдпрдпрди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреА рдЧрдИ рдереА рдЬреЛ рдХрд┐рд╕реА рднреА (!!!) рд╡реНрдпрдХреНрддрд┐ рдФрд░ рдЦреЗрд▓ рдХреЗ рд▓рд┐рдП рд░реЗрдЯрд┐рдВрдЧ рдмрдврд╝рд╛ рд╕рдХрддреА рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдлреЗрд╕рдмреБрдХ рдкрд░ рдЗрд╕ рд╡реНрдпрдХреНрддрд┐ рдХреА рдЖрдИрдбреА рдЬрд╛рдирдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред


рд╕рд░реНрд╡рд░ рдореЗрдВ рд╕рдлрд▓ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд░реНрддрдорд╛рди рдирд┐рд░рдкреЗрдХреНрд╖ рд╕рдордп рдФрд░ рдЕрдиреБрд░реЛрдз рдХреЗ рдкреЛрд╕реНрдЯ рдкрде рдореЗрдВ рдХреБрдЫ рд░рд╣рд╕реНрдпрдордп рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдЦреЗрд▓ рдХреЗ рдЕрдВрдд рдХреЗ рдмрд╛рдж рд╕рд╛рдорд╛рдиреНрдп рдЕрдиреБрд░реЛрдз рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

POST / game / eor /! рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк = 1328793172978 рдФрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ = ktVfjD3VFg2EG2GNiBlTgVnBg4TZJ3-DGkbAsuWirw% 3D рдФрд░ рд╕рддреНрд░ = 1100447b5bb0d01c14a974bc63318c633c61818
рд╣реЛрд╕реНрдЯ: dd.wooga.com
рдХрдиреЗрдХреНрд╢рди: рдЬреАрд╡рд┐рдд рд░рдЦреЗрдВ
рдХрдВрдЯреЗрдВрдЯ-рд▓рдВрдмрд╛рдИ: 136
рдореВрд▓: http://cdn-dd.wooga.com
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдПрдЬреЗрдВрдЯ: рдореЛрдЬрд╝рд┐рд▓рд╛ / 5.0 (X11; рд▓рд┐рдирдХреНрд╕ i686) AppleWebKit / 535.7 (KHTML, рдЬреИрд╕реЗ рдЧреЗрдХреЛ) рдХреНрд░реЛрдо / 16.0.912.77 рд╕рдлрд╛рд░реА / 535.7
рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░: рдЖрд╡реЗрджрди / json
рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ: * / *
рд╕реНрд╡реАрдХрд╛рд░-рдПрдирдХреЛрдбрд┐рдВрдЧ: gzip, deflate, sdch
рд╕реНрд╡реАрдХрд╛рд░-рднрд╛рд╖рд╛: ru-RU, ru; q = 0.8, en-US; q = 0.6, en; q = 0.4
рд╕реНрд╡реАрдХрд╛рд░-рд╕рд╛рд░рд╕реЗрдЯ: рд╡рд┐рдВрдбреЛрдЬрд╝ -резреирелрез, рдпреВрдЯреАрдПрдл-;; q = реж. windows, *; q = реж.рей

{"fireballs_used": 0, "xp": 75, "рдзреНрд╡рдирд┐": рд╕рдЪ, "рд░рддреНрди_рдорд╣рд┐рд▓рд╛": 65, "рд╕реНрдХреЛрд░": 19430, "рд╕реНрддрд░": 100, "рдкреНрд▓рд╛рдЬреНрдорд╛_рдмрд░реНрд╕реНрдЯ_рдЙрдкрдпреЛрдЧ": 0, "user_id": "рдореЗрд░реА рдЖрдИрдбреА "}


рдЙрдкрд░реЛрдХреНрдд рд▓реЗрдЦреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рд╕рд░реНрд╡рд░ рдХреЛ рд╡рд╛рдВрдЫрд┐рдд рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдФрд░ рд╕рд░реНрд╡рд░ рд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдкреИрд░рд╛рдореАрдЯрд░ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХреА, рд▓реЗрдХрд┐рди рдирд╣реАрдВ, рдпрд╣ рд╕рдм рдЙрд╕рдиреЗ рдореБрдЭреЗ рдмрддрд╛рдпрд╛: рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдмреЗрдореЗрд▓!

рдЕрдЧрд▓рд╛ рдХрджрдо рдЦреЗрд▓ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдкрд░ рд╢реЛрдз рдХрд░рдирд╛ рдерд╛ред рддреЛ рдЗрд╕реЗ рдмрдВрдж рдХрд░реЛред рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреНрдпрд╛ рд╣реИ? o_Oред рд╕рдЪ рд╣реИ, рдХреЛрдИ рдЧреЗрдо рд╕реНрд░реЛрдд рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХреНрд╢рдирд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рдЕрджреНрднреБрдд рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХрдо рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдбрд┐рдХрдВрдкрд╛рдЗрд▓рд░ рдирд╣реАрдВ рд╣реИрдВред рдРрд╕рд╛ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ рд╣реБрдЖ рдХрд┐ рдореИрдВ рдЯреНрд░рд┐рд▓рд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлреНрд▓реИрд╢ рдмрд╛рдЗрдирд░реА рдбрд┐рдХрдореНрдкреЛрдЬрд░ рд╣реИрдВ рдФрд░ рд╣рдм рдкрд░ рдПрдХ рд╕рдореАрдХреНрд╖рд╛ рднреА рдереАред

рддреЛ, рд╕реНрд░реЛрдд рдХреЛрдбред
Google Chrome рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдг рдЖрдкрдХреЛ рд╡рд╣ рд╕рдм рдХреБрдЫ рджреЗрдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдЬреЛ рдкреГрд╖реНрда рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдореИрдВрдиреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрдЦреА рд╣реИ рдФрд░ рдпрд╣ cdn-dd.wooga.com/assets/DiamondDash-fe2222a63919abae44ca4d0ac97c.swf рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ;

рд╕реВрддреНрд░реЛрдВ рдХреЗ рдордиреЛрд░рдВрдЬрдХ рдкрдврд╝рдиреЗ рдХреЗ рдХрдИ рдШрдВрдЯреЛрдВ рдХреЗ рдмрд╛рдж, рдХреЛрдб рдореЗрдВ рдРрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╕реНрдерд╛рди рдкрд╛рдП рдЧрдП:
рдЖрдВрддрд░рд┐рдХ рдХрд╛рд░реНрдп рд╡рд┐рд╕реНрддрд╛рд░рдХреВрдЯ ( ) : рд╢реВрдиреНрдп
{
var loc1: * = рдиреЗрдЯред рд╡реЛрдЧрд╛ ред рд╣реАрд░рд╛ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ ред рдЙрдкрдпреЛрдЧ ред getTimestamp ( ) ;
var loc2: * = рдиреЗрдЯред рд╡реЛрдЧрд╛ ред рд╣реАрд░рд╛ рд╕реЗрд╡рд╛ ред рдЙрдкрдпреЛрдЧ ред GenerRequestSignature ( loc1 + this ред userId + this_requestDetails; requestData ) ;
loc2 = рдПрд╕реНрдХреЗрдк ( loc2 ) ;
рдпрд╣ ._requestDetailsред url = рдпрд╣ ._requestDetailsред url + ( " ; рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк =" + loc1 + "& рд╣рд╕реНрддрд╛рдХреНрд╖рд░ =" + loc2 + "рдФрд░ рд╕рддреНрд░" " + рдпрд╣ +ред sessionId + " & api_version = 2 " ) ;
рд╡рд╛рдкрд╕реА;
}



рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХрд╛рд░реНрдп рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИрд╕рд╛рдорд╛рдиреНрдп рдЕрд╡рдзрд┐ ( arg1: рд╕реНрдЯреНрд░рд┐рдВрдЧ ) : рд╕реНрдЯреНрд░рд┐рдВрдЧ
{
var loc1: * = new comред рдмрд╛рдзрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗрд╡рд╛рд▓рд╛ ред рдХреНрд░рд┐рдкреНрдЯреЛ ред рд╣реИрд╢ ред HMAC ( рдирдпрд╛ рдХреЙрдоред рд╣рд░реНрд▓реЗрдВрдЯ ред рдХреНрд░рд┐рдкреНрдЯреЛ ред рд╣реИрд╢ ред SHA256 ( ) ) ;
var loc2: * = рдирдпрд╛ рдлреНрд▓реИрд╢ред рдмрд░реНрддрди ред рдмрд╛рдЗрдЯрдЕрд░реЗ ( ) ;
loc2ред WrUTFBytes ( рдиреЗрдЯред рд╡реВрдЧрд╛ ред рдбрд╛рдпрдордВрдбрдбреИрд╢ ред рд╕реЗрд╡рд╛ ред SHARED_SECRET ) ;
var loc3: * ;
( loc3 = рдирдпрд╛ рдлрд╝реНрд▓реИрд╢ред рдмрд░реНрддрдиред рдмрд╛рдЗрдЯрдПрдпрд░реНрд░реЗ ( ) ) ред wrUTFBytes ( arg1 ) ;
var loc4: * ;
рд╡рд╛рдкрд╕реА loc4 = ( loc4 = ( loc4 = comред рд╣рд░реНрд▓реЗрдВрдЯ ред рдЙрдкрдпреЛрдЧред Base64) ред encodeByteArray ( loc1ред рдХрдВрдкреНрдпреВрдЯ ( loc2, loc3 ) ) ) ред рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ ( рдирдпрд╛ RegExp ( " \ + , " g " ) , " - " ) )) ред рдмрджрд▓реЗрдВ ( рдирдпрд╛ RegExp ( " \ / " , "g" ) , "_" ) ;
}


рдкреИрдХреЗрдЬ рдиреЗрдЯред рд╡реЛрдЧрд╛ ред рд╣реАрд░рд╛ рд╕реЗрд╡рд╛
{
public const SHARED_SECRET: рд╕реНрдЯреНрд░рд┐рдВрдЧ = "foeD4ktl2gdoDdle" ;
}


рдХреЛрдб рдХреЗ рдЗрди рд╡рд░реНрдЧреЛрдВ рд╕реЗ рдЖрдк рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
base64(SHA256(_ + id_ + _, SHARED_SECRET)).
рдЙрд╕рдХреЗ рдмрд╛рдж, рдПрдХ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрди + рд╕реЗ - рдФрд░ \ / рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдЪреЗрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ - рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд, рдЕрдиреБрд░реЛрдз рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реБрдЖред

рдЕрдЧрд▓реА рдЪреАрдЬ рдЬреЛ рдореИрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд╡рд╣ рдПрдХ рдиреНрдпреВрдирддрдо, рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдЕрдиреБрд░реЛрдз рд▓рд┐рдЦ рд░рд╣рд╛ рдерд╛ред рдкрд░рд┐рдгрд╛рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ:

рдкреЛрд╕реНрдЯ http://dd.wooga.com/game/eor/?timestamp=$time&signature=rr%3D&api_version=2 HTTP / 1.1
рд╣реЛрд╕реНрдЯ: dd.wooga.com
рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░: рдЖрд╡реЗрджрди / json

$ рдбрд╛рдЯрд╛


рдФрд░ рдУрд╣ рд╣реЙрд░рд░ !!! рдХреЛрдИ рд╕рддреНрд░ рдЖрдИрдбреА рдкреИрд░рд╛рдореАрдЯрд░ рдирд╣реАрдВ рд╣реИ !!! рд╡рд╣ рд╣реИ, рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдЕрдиреБрд░реЛрдз рдХреЗрд╡рд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдФрд░ рдбреЗрдЯрд╛ рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪреЗ рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдк user_id рдЕрдиреБрд░реЛрдз рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХреЛрдИ рднреА рдЖрдИрдбреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХреЛ рднреА рд░реЗрдЯрд┐рдВрдЧ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣рд╛рдБ рдбрд╛рдпрдордВрдбрдбреИрд╢ рдкрд░ рд╢реЛрдз рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реА рдХрд╣рд╛рдиреА рд╣реИред
рдореИрдВ рд╕рднреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╣рдореЗрд╢рд╛ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдФрд░ рдХрднреА рднреА рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рдХрд┐ рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рд╕реЗ рдЖрдкрдХреЗ рд╕рд░реНрд╡рд░ рдкрд░ рдХреНрдпрд╛ рдЖрддрд╛ рд╣реИред рдЕрдкрдиреЗ рдЖрдк рдХреЛ рд╣реИрдХрд┐рдВрдЧ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдЦреЗрд▓ рдореЗрдВ, рд╕рддреНрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдХреА рд╢реБрджреНрдзрддрд╛, рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рдХреА рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рд╡рд┐рдзрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рд╕рд╛рд░реНрдердХ рд╣реЛрдЧрд╛ - рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХрдХреНрд╖рд╛рдУрдВ, рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рдирд╛рдо рдмрджрд▓реЗрдВ рддрд╛рдХрд┐ рдХреЛрдб рдЕрд░реНрде рдЦреЛ рджреЗрддрд╛ рд╣реИред
рдЕрдВрдд рдореЗрдВ, рдкреВрд░рд╛ рдЕрдиреБрд░реЛрдз рдирд┐рд╖реНрдкрд╛рджрди рдХреЛрдб:

#! / usr / bin / perl -w

LWP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ :: UserAgent ;
рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ :: SHA qw ( hmac_sha256_base64 ) ;

$ ua = рдирдпрд╛ LWP :: UserAgent ;
$ userID = "123456789123456" ;
$ рд╕рдордп = рд╕рдордп ;

$ рдбреЗрдЯрд╛ =
qq # {"рдкреНрд▓рд╛рдЬреНрдорд╛_рдмрд░реНрд╕реНрдЯреНрд╕_рдпреВрд╕реНрдЯ": 0, "рд╕реНрдХреЛрд░": 10000000, "рд╕реНрддрд░": 100, "рд░рддреНрди_ рдкреНрд░рд┐рдп": 165, "user_id": "$ userID", "рдзреНрд╡рдирд┐": рд╕рддреНрдп, "xp": 100, "fireballs_used ": 1} #;

$ r = hmac_sha256_base64 ( $ рд╕рдордп ред $ userID ред $ рдбреЗрдЯрд╛ , "foeD4ktl2gdoDdle" ) ;
$ r = ~ s / ┬▒ / g ;
$ рдЖрд░ = ~ рдПрд╕ / \ / // _ / рдЬреА ;

$ рд░реЗрдХ =
qq #POST http://dd.wooga.com/game/eor/?timestamp=$time&signature=$r%3D&api_version=2 HTTP / 1.1
рд╣реЛрд╕реНрдЯ : рдбреА.рдбреА. рд╡реЛрдЧрд╛ ред рдХреЙрдо
рд╕рд╛рдордЧреНрд░реА - рдкреНрд░рдХрд╛рд░ : рдЖрд╡реЗрджрди / json

$ рдбреЗрдЯрд╛ #;

$ req = HTTP :: рдЕрдиреБрд░реЛрдз -> рдкрд╛рд░реНрд╕ ( $ req ) ;

$ ua рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ -> simple_request ( $ req ) -> as_string ( ) ;


Source: https://habr.com/ru/post/In137913/


All Articles