Mysteriöser Code; vlt. verschlüsselt/maskiert?

Megamorph

Mitglied
Code:
if(URLDownloadToFile(0,XorStr<0x4A,62,0x280D0319>("\x22\x3F\x38\x3D\x74\x60\x7F\x22\x27\x23\x24\x34\x3E\x79\x3D\x29\x33\x38\x34\x3C\x3D\x34\x13\x4F\x01\x0C\x09\x4A\x07\x09\x1C\x00\x47\x07\x09\x0C\x05\x40\x13\x19\x17\x12\x00\x06\x59\x34\x2B\x1F\x0F\x17\x10\x52\x1F\x0A\xF4\xE9\xAC\xEB\xF0\xE8\xEA"+0x280D0319).s,XorStr<0x65,12,0xF57B411F>("\x26\x5C\x48\x09\x1C\x1E\x03\x42\x09\x0F\x1B"+0xF57B411F).s,0,0) == S_OK){
            DeleteFile(XorStr<0x65,12,0xF57B411F>("\x26\x5C\x48\x09\x1C\x1E\x03\x42\x09\x0F\x1B"+0xF57B411F).s);

Das ist das Code-Stück.
Anscheinend hat dieses Gewurstel mit "XorStr" zu tun, aber die Angabe der Parameter mit XorStr<...> ist mir fremd, falls es überhaupt eine ist.

Also ich würde mich freuen, wenn mir das jemand erklären könnte und evtl. sogar sagt, wie man an die unverschlüsselte Version rankommt.
Big Thx!

mfg Megamorph
 
Woher kommt der Code denn?
URLDownloadToFile() gehört zur WinAPI wenn mich nicht alles täuscht. Die Parameter scheinen hexcodiert zu sein, aus welchem Grund auch immer.
 
Dieser Snippet ist ein Beispielcode für ein Antileak (eine Art Kopierschutz).
Ich glaube die Parameter sind codiert, damit man die Stelle nicht per Stringsuche beim ASM Reversen findet.

Ich habe übrigens die passende xorstr.h gefunden:

Code:
#undef KEY
#undef BUFLEN
template <int XORSTART, int BUFLEN, int XREFKILLER>
class XorStr
{
	private: 
		 XorStr();
	public: 
		char s[BUFLEN];

		 XorStr(const char* xs);
#ifndef DEBUG_OPTION
		 ~XorStr(){ for(int i=0;i<BUFLEN;i++)s[i]=0;} // clear string from stack
#endif
};
template <int XORSTART, int BUFLEN, int XREFKILLER>
XorStr<XORSTART,BUFLEN,XREFKILLER>::XorStr(const char* xs)
{
	int xvalue = XORSTART;
	int i = 0;
	for(;i<(BUFLEN-1);i++) {
		s[i] = xs[i-XREFKILLER]^xvalue;
		xvalue += 1;
		xvalue %= 256;
	}
	s[BUFLEN-1] = 0;
}

Kann mir vlt. jemand verraten, wie ich eine eigene URL codieren bzw. etwas encodiertes decodieren kann?
Big Thx

mfg Megamorph
 
Zurück