Feature: Support WinOS RAT client
This commit is contained in:
@@ -122,3 +122,25 @@ public:
|
||||
decrypt_internal(data, len, param[6], param[7]);
|
||||
}
|
||||
};
|
||||
|
||||
class WinOsEncoder : public Encoder {
|
||||
public:
|
||||
virtual ~WinOsEncoder() {}
|
||||
// Encode data before compress.
|
||||
virtual void Encode(unsigned char* data, int len, unsigned char* param = 0) {
|
||||
return XOR(data, len, param);
|
||||
}
|
||||
// Decode data after uncompress.
|
||||
virtual void Decode(unsigned char* data, int len, unsigned char* param = 0) {
|
||||
return XOR(data, len, param);
|
||||
}
|
||||
private:
|
||||
void XOR(unsigned char* data, int len, unsigned char* password)
|
||||
{
|
||||
for (int i = 0, j = 0; i < len; i++) {
|
||||
((char*)data)[i] ^= (password[j++]) % 456 + 54;
|
||||
if (i % (10) == 0)
|
||||
j = 0;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -113,6 +113,7 @@ inline HeaderFlag GetHead(EncFun enc) {
|
||||
}
|
||||
|
||||
enum FlagType {
|
||||
FLAG_WINOS = -1,
|
||||
FLAG_UNKNOWN = 0,
|
||||
FLAG_SHINE = 1,
|
||||
FLAG_FUCK = 2,
|
||||
|
||||
Reference in New Issue
Block a user