commit de la noche
This commit is contained in:
parent
6c50eade80
commit
71be2d3bf0
1 changed files with 24 additions and 13 deletions
37
src/main.cpp
37
src/main.cpp
|
|
@ -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*)®s[reg];
|
char* charifiedReg = (char*)®s[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;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue