commit de la noche

This commit is contained in:
Hane 2023-07-18 01:28:40 +02:00
commit 71be2d3bf0

View file

@ -59,23 +59,24 @@ ECX Bits 31-00: An unsigned integer which is the nominal frequency of the core c
EDX Bits 31-00: Reserved = 0. EDX Bits 31-00: Reserved = 0.
*/ */
//Extended name on AMD systems when using 8000_002-4. Now converted to Extpagequant/vendor. Hijos de puta.
char** AMDMeCagoEnTusPutosMuertos () { char* AMDMeCagoEnTusPutosMuertos () {
char** palabritas = (char**)malloc(sizeof(char) * 48); char* palabritas = (char*)malloc(sizeof(char) * 48);
uint64_t siguienteLetra = 0; //char* palabritas = (char*)calloc(48, sizeof(char));
uint8_t siguienteLetra = 0;
//char letrita; //char letrita;
uint64_t regs[4];//rax rbx, rcx, rdx; uint64_t regs[4];//rax rbx, rcx, rdx;
asm volatile ( ".intel_syntax noprefix\t\n" \ asm volatile ( ".intel_syntax noprefix\t\n" \
"mov eax, 0x80000002\t\n" \ "mov eax, 0x80000000\t\n" \
"cpuid\t\n" : "=a" (regs[0]), "=b" (regs[1]), "=c" (regs[2]), "=d" (regs[3]) ); "cpuid\t\n" : "=a" (regs[0]), "=b" (regs[1]), "=c" (regs[2]), "=d" (regs[3]) );
int byte = 0; int byte = 0;
for (int reg = 0; reg < 4; reg++, siguienteLetra++, byte = 0){ for (int reg = 0; reg < 4; reg++, byte = 0){
char* letrita = nullptr;
char* charifiedReg = (char*)&regs[reg]; char* charifiedReg = (char*)&regs[reg];
for(; byte < 4; byte++){ for(; byte < 4; byte++, siguienteLetra++ ){
letrita = (char*)malloc(sizeof(char)); //letrita = (char*)malloc(sizeof(char));
*letrita = charifiedReg[byte]; //*letrita = charifiedReg[byte];
*palabritas[siguienteLetra] = *letrita; //*palabritas[siguienteLetra] = *letrita;
palabritas[siguienteLetra] = charifiedReg[byte];
} }
//uint8_t num = 0; //uint8_t num = 0;
//byte = 0; //byte = 0;
@ -85,10 +86,19 @@ char** AMDMeCagoEnTusPutosMuertos () {
//letrita* |= (; //letrita* |= (;
} }
*palabritas[siguienteLetra + 1] = '\0'; palabritas[(siguienteLetra + 1)] = '\0';
return palabritas; return palabritas;
} }
//GMET on??????????? jfc wtf
bool AMDJoder(){
uint64_t rdx;
asm volatile ( ".intel_syntax noprefix\t\n" \
"mov eax, 0x8000000A\t\n" \
"cpuid\t\n" : "=d" (rdx));
return (((1<<17) & rdx));
}
int16_t checkFrequencyTSC(uint64_t* freq){ int16_t checkFrequencyTSC(uint64_t* freq){
if (freq == nullptr) return -1; if (freq == nullptr) return -1;
uint64_t raxde; uint64_t raxde;
@ -147,7 +157,8 @@ uint64_t rdtscp(uint64_t* logicore ) {
int main(int argc, char** argv){ int main(int argc, char** argv){
//AMD Momento //AMD Momento
char** opiniones = AMDMeCagoEnTusPutosMuertos(); char* opiniones = AMDMeCagoEnTusPutosMuertos();
bool w11 = AMDJoder();
//Cordura //Cordura
int16_t result; int16_t result;
uint64_t tf = 0; uint64_t tf = 0;