/c
#include<stdio.h>
#include<stdint.h>
#include <math.h>
#include <stdlib.h>
const char* Gen() {
const char* key = "";
char Data[17] = {0};
int v1; // edi
int v2; // esi
int v3; // eax
v1 = rand() % 255;
v2 = rand() % 255;
v3 = rand();
sprintf(
Data,
"%02X%02X%02X7C%02X%02X%02X%02X",
v1,
v2 ^ 0x7C,
(uint8_t)~(uint8_t)v1,
v2,
v3 % 255,
(uint8_t)(v3 % 255) ^ 7,
v1 ^ (uint8_t)~(v3 % 255));
key = (const char*)Data;
return key;
}
int main(){
printf("%s",Gen());
}
кусок кода от кейгена для HTTPDEbugger
ПРОВЕРКА ТИПОВ У auto в С++20
HCPP подписаться)
#include <iostream>
#include <string>
#include <stdint.h>
template <typename T>
using Type = std::decay_t<T>;
template <typename T>
constexpr bool isType(auto&& e){
return std::is_same_v<Type<decltype(e)>,T>;
}
int main(){
int intvalue = 0;
int8_t int8value = 0;
int16_t int16value = 0;
int64_t int64value = 0;
float floatvalue = 0.0f;
double doublevalue = 0.0;
long double ldoublevalue = 0.0L;
//
auto &p0 = intvalue;
auto &p1 = int8value;
auto &p2 = int16value;
auto &p3 = int64value;
auto &p4 = floatvalue;
auto &p5 = doublevalue;
auto &p6 = ldoublevalue;
if(isType<int>(p0)) { std::cout << "intvalue=(int)\n";} else { std::cout << "intvalue=(not int)\n";}
if(isType<int8_t>(p1)) { std::cout << "int8value=(int8)\n";} else { std::cout << "int8value=(not int8)\n";}
if(isType<int16_t>(p2)) { std::cout << "int16value=(int16)\n";} else { std::cout << "int16value=(not int16)\n";}
if(isType<int64_t>(p3)) { std::cout << "int64value=(int64)\n";} else { std::cout << "int64value=(not int64)\n";}
if(isType<float>(p4)) { std::cout << "floatvalue=(float)\n";} else { std::cout << "floatvalue=(not float)\n";}
if(isType<double>(p5)) { std::cout << "doublevalue=(double)\n";} else { std::cout << "doublevalue=(not double)\n";}
if(isType<long double>(p6)){ std::cout << "ldoublevalue=(long double)\n";} else { std::cout << "ldouble=(not long double)\n";}
return 0;
}
HCPP подписаться)