|
Mostrar Temas
|
Páginas: 1 [2] 3
|
11
|
Programación / Programación C/C++ / [Solucionado][Consulta / Duda] Desplazando más de 31 bits
|
en: 14 Marzo 2021, 06:51 am
|
Primero antes que nada buenos días/noches. Bueno digamos que estaba muy aburrido y me puse a generar un código que sume en Complemento a 2: #include <cstdio> #include <cstdint> int64_t SumadorCompleto(int64_t A,int64_t B,uint8_t TamanioBits=(sizeof(int64_t)*8)) { int64_t Resultado; int64_t PrimeraOp; int64_t SegundaOp; int64_t i; int64_t CarryActual; CarryActual^=CarryActual; Resultado^=Resultado; for(i^=i;i<TamanioBits;i++) { PrimeraOp=((A>>i)&1)^((B>>i)&1); SegundaOp=(PrimeraOp&1)^(CarryActual&1); Resultado|=(SegundaOp<<i)&(1<<i); CarryActual=(PrimeraOp&1)&&(CarryActual&1)||((((A>>i)&1)&&((B>>i)&1))&1); } return Resultado; } int main() { int64_t A=4,B=-7; printf("A:%li + B:%li = %li\n",A,B,SumadorCompleto(A,B)); return 0; }
Si lo pruebo con ambos números enteros pequeños 4 y 7 el código funciona perfectamente, ahora el problema es cuando pongo un número entero gigante o negativo el código no funciona: Dije quizás sea un error de GCC voy a probar otro compilador diferente y de diferente lenguaje como Pascal: (No puedo subir el código en Pascal porque el foro no lo permite)(Solución temporal o hasta que alguien lo verifique lo subo en imagenes)Lo cuál ocurre lo mismo: Pero lo que me inquietó es que pasado los 31 bits de desplazamiento no parece realizar operaciones al menos de manera correcta: Mi duda es hay alguna manera de llegar a desplazar más bits correctamente, o yo tengo algún error y no me dí cuenta todavía del error o ¿También es una limitación de los procesadores esto? B#
|
|
|
13
|
Programación / Desarrollo Web / [CSS] Consulta con responsive design básico
|
en: 5 Febrero 2021, 08:19 am
|
Buenas gente del foro, resulta que hace poco estoy aprendiendo a dar estilos responsivos(? (ni idea como traducirlo bien ) manualmente y tengo una consulta: ¿Cómo se podría rellenar los espacios en blanco para que queden el fondo de las cajas con el mismo tamaño? <!DOCTYPE html> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="responsive-media-queries.css"> <div class="contenedor" style="color: white;font-size: 2em;"> <div style="background-color: red;" class="columna-largo-2 columna-mediano-2 columna-peque-3 columna-mini-12"> <div style="background-color: green;" class="columna-largo-6 columna-mediano-5 columna-peque-9 columna-mini-12"> p*3>Lorem <div style="background-color: blue;" class="columna-largo-4 columna-mediano-5 columna-peque-12 columna-mini-12"> p*4>Lorem
/* Estilos Globales */ * { margin: 0px; padding: 0px; list-style: none; text-decoration: none; font-family: sans-serif; box-sizing: border-box; } .contenedor { position: relative; margin: auto; width: 100%; height: auto; } .fila { position: relative; margin: auto; width: 100%; height: auto; clear: both; display: table; } [class*="columna-"] { float: left; border: 2px solid black; /*padding: 20px;*/ } /*Pantallas*/ @media(min-width: 1200px) { .columna-largo-12{width:100%;} .columna-largo-11{width:calc(11*100%/12);} .columna-largo-10{width:calc(10*100%/12);} .columna-largo-9{width:calc(9*100%/12);} .columna-largo-8{width:calc(8*100%/12);} .columna-largo-7{width:calc(7*100%/12);} .columna-largo-6{width:calc(6*100%/12);} .columna-largo-5{width:calc(5*100%/12);} .columna-largo-4{width:calc(4*100%/12);} .columna-largo-3{width:calc(3*100%/12);} .columna-largo-2{width:calc(2*100%/12);} .columna-largo-1{width:calc(1*100%/12);} } @media(max-width:1199px) and (min-width:992px) { .columna-mediano-12{width:100%;} .columna-mediano-11{width:calc(11*100%/12);} .columna-mediano-10{width:calc(10*100%/12);} .columna-mediano-9{width:calc(9*100%/12);} .columna-mediano-8{width:calc(8*100%/12);} .columna-mediano-7{width:calc(7*100%/12);} .columna-mediano-6{width:calc(6*100%/12);} .columna-mediano-5{width:calc(5*100%/12);} .columna-mediano-4{width:calc(4*100%/12);} .columna-mediano-3{width:calc(3*100%/12);} .columna-mediano-2{width:calc(2*100%/12);} .columna-mediano-1{width:calc(1*100%/12);} } @media(max-width:991px) and (min-width:768px) { .columna-peque-12{width:100%;} .columna-peque-11{width:calc(11*100%/12);} .columna-peque-10{width:calc(10*100%/12);} .columna-peque-9{width:calc(9*100%/12);} .columna-peque-8{width:calc(8*100%/12);} .columna-peque-7{width:calc(7*100%/12);} .columna-peque-6{width:calc(6*100%/12);} .columna-peque-5{width:calc(5*100%/12);} .columna-peque-4{width:calc(4*100%/12);} .columna-peque-3{width:calc(3*100%/12);} .columna-peque-2{width:calc(2*100%/12);} .columna-peque-1{width:calc(1*100%/12);} } @media(max-width:767px) { .columna-mini-12{width:100%;} .columna-mini-11{width:calc(11*100%/12);} .columna-mini-10{width:calc(10*100%/12);} .columna-mini-9{width:calc(9*100%/12);} .columna-mini-8{width:calc(8*100%/12);} .columna-mini-7{width:calc(7*100%/12);} .columna-mini-6{width:calc(6*100%/12);} .columna-mini-5{width:calc(5*100%/12);} .columna-mini-4{width:calc(4*100%/12);} .columna-mini-3{width:calc(3*100%/12);} .columna-mini-2{width:calc(2*100%/12);} .columna-mini-1{width:calc(1*100%/12);} }
B#
|
|
|
14
|
Programación / Desarrollo Web / [Duda] [HTML+CSS] Crear un borde sin mover el contenido
|
en: 28 Agosto 2020, 03:51 am
|
¿Buenas gente del foro como están? Estoy re-diseñando mi página de github pero tengo un pequeño detalle que seguramente es facil de arreglar: ¿Cómo se puede evitar el movimiento del control del enlace al crear un borde? Ya intenté ponerle un margen negativo, lo cuál funciona pero me hace el borde no visible... Estoy un poco falto de práctica con html+css por eso pregunto. <!DOCTYPE html> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="styles.css"> <img src="" alt="Foto" srcset=""> <div class="contenedor-enlaces">
body { margin: 0px; } .menu { background-color: black; width: 25%; height: 100%; position: fixed; color: white; } .menu .portada h1 { text-align: center; } .menu .portada img { display: block; /*border-radius: 100%;*/ margin-left: auto; margin-right: auto; width: 50%; } .menu .contenedor-enlaces a { width: 100%; display: block; text-decoration: none; color: white; text-align: center; padding-top: 6px; padding-bottom: 6px; } .menu .contenedor-enlaces a:hover { border-left-width: 12px; border-left-color: red; border-left-style: solid; background: #333; } .contenido { margin-left: 25%; }
B#
|
|
|
15
|
Foros Generales / Foro Libre / El ataque "Miau" que destruye datos de elasticsearch y mongodb no asegurados
|
en: 24 Julio 2020, 05:52 am
|
El misterioso ataque "Miau" que destruye decenas de datos de elasticsearch y mongodb no asegurados.Docenas de instancias no seguras de Elasticsearch y MongoDB expuestas en Internet han sido víctimas de una campaña rastreada como ataque Meow, en la que los actores maliciosos limpian las bases de datos sin ninguna explicación o una nota de ransomware. Los ataques fueron vistos por primera vez por el investigador de seguridad Bob Diachenko. Se ha observado uno de los recientes ataques de Meow dirigidos a la base de datos Elasticsearch que pertenece al proveedor de VPN con sede en Hong Kong UFO VPN, que fue noticia recientemente cuando los investigadores de vpnMentor informaron que siete servicios de red privada virtual (UFO VPN, FAST VPN, FREE VPN, SUPER VPN, Flash VPN, Secure VPN y Rabbit VPN) filtraron 1,2 terabytes de datos privados del usuario. Según Diachenko, UFO VPN aseguró su base de datos a principios de julio, pero el 20 de julio la base de datos volvió a aparecer en una dirección IP diferente y contenía registros tan recientes como el 19 de julio. El mismo día, la base de datos expuesta fue borrada en un ataque Meow , con solo registros recientes restantes. Desde entonces, Meow y un ataque similar han destruido más de 1,000 otras bases de datos. Una búsqueda reciente de Shodan ha demostrado que 987 ElasticSearch y 70 instancias de MongoDB se han visto afectadas por el ataque Meow. Diachenko dijo que no se sabe mucho sobre los atacantes o el razonamiento detrás de sus acciones. El investigador dijo que el ataque parece ser un script automatizado que "sobrescribe o destruye los datos por completo". Ver artículo en: https://www.seguridadyfirewall.cl/2020/07/el-misterioso-ataque-miau-que-destruye.html
En mi opnión es increible que más de 6000 servidores estén afectados y no sean capaces de contratar a alguién que asegure los servidores: https://pbs.twimg.com/media/EdnFqi6U4AYBRjJ?format=pngB#
|
|
|
16
|
Programación / Scripting / [Consulta] Operador OR para operaciones lógicas de bits en Lua 5.1.5
|
en: 25 Junio 2020, 18:17 pm
|
Buenas gente del foro, ¿Cómo están? Mi duda es como operar a nivel de bits con el operador OR en Lua dado en que en C++ se puede operar de la siguiente manera: flags = ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoCollapse
en lugar de eso en este caso puedo sumar los flags dado a que son desplazamientos de bits a la izquierda: enum ImGuiWindowFlags { // ... ImGuiWindowFlags_NoCollapse = 1 << 5 ImGuiWindowFlags_AlwaysAutoResize = 1 << 6 // ... }
pero para código que luego voy a necesitar tendría que operar con el operando OR si o si... Dejo el código completo mío de ejemplo y el error que marca por el símbolo |MessageBox("Hola Mundo") aCheckbox=true aComboBox=0 function OnRenderBackground() ImGui:Text("Hello background!") end function OnRenderInterface() if ImGui:Begin("Fake menu", ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoCollapse) then if ImGui:BeginTabBar("CH5_FAKE_MENU") then if ImGui:BeginTabItem("Fake legit") then ImGui:Text("Fake text legit") ImGui:EndTabItem() end if ImGui:BeginTabItem("Fake Rage") then ImGui:Text("Fake text rage") ImGui:EndTabItem() end if ImGui:BeginTabItem("Visuals") then aComboBox=ImGui:Combo("Wallhack fake",aComboBox,"None\0XQZ\0ASUS\0Wireframe\0\0") ImGui:EndTabItem() end ImGui:EndTabBar() end end ImGui:End() if ImGui:Begin("Example", ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoCollapse) then v = Vector2D(5,20) v2 = Vector2D(10,30) ImGui:Text("Hello world! "..(v.x).." "..(v.y)) v = v + v2 ImGui:Text("Hello world! "..(v.x).." "..(v.y)) ImGui:SameLine() ImGui:Text("Misma y nueva línea") ImGui:NewLine() if ImGui:TreeNode("Colapso",true) then ImGui:Text("Texto colapsado") ImGui:TreePop() end ImGui:NewLine() ImGui:NewLine() ImGui:BeginGroup() if ImGui:SmallButton("Cambiar Valor") then aCheckbox=not aCheckbox end aCheckbox=ImGui:Checkbox("Checkbox",aCheckbox) ImGui:EndGroup() ImGui:SameLine() ImGui:BeginGroup() ImGui:Text("Checkbox value: "..(aCheckbox and 'true' or 'false')) ImGui:Text("Combo value: "..(aComboBox)) ImGui:EndGroup() ImGui:NewLine() aComboBox=ImGui:Combo("Wallhack test",aComboBox,"None\0XQZ\0ASUS\0Wireframe\0\0") end ImGui:End() end Hooks:RegisterCallback(CH5_CALLBACK_AT_RENDERING_BACKGROUND,OnRenderBackground) Hooks:RegisterCallback(CH5_CALLBACK_AT_RENDERING_INTERFACE,OnRenderInterface)
B#
|
|
|
17
|
Programación / Programación General / [Consulta] Programa para capturar y filtrar IOCTLs de Windows
|
en: 15 Junio 2020, 04:26 am
|
Buenas gente del foro ¿cómo están?.
Resulta que después de varios años de no programar drivers he decidido volver a programar drivers para Windows, mi pequeño problema es que estoy portando un driver antiguo que lo programé para 32 bits y este hookeaba la función ZwDeviceIoControlFile a través de la SSDT.
Dado a que ahora estoy programando drivers para 64 bits y no quiero romper el KPP, he encontrado una manera alternativa (interceptando la función IRP_MJ_DEVICE_CONTROL del driver objetivo) potencial de interceptar la ioctl que necesito.
El problema es que antes al tener el hook de ZwDeviceIoControlFile este pasa todos los ioctls del sistema y filtraba hacia el dispositivo automáticamente 2 IOCTLs específicos (IOCTL_STORAGE_QUERY_PROPERTY y SMART_RCV_DRIVE_DATA), pero nunca llegué a saber hacia que dispositivo se enviaban.
Mi consulta es: ¿Existe algún software en Windows que permita capturar, filtrar y mostrar todas las ioctls filtrando también hacia que dispositivo al cuál se está enviando?
B#
|
|
|
19
|
Foros Generales / Foro Libre / Se filtra el código fuente del Counter Strike: Global Offensive y el TF2
|
en: 22 Abril 2020, 22:16 pm
|
Se filtra el código fuente del Counter Strike: Global Offensive y el Team Fortress 2 Problemas en el paraíso, y es que Valve ha visto cómo se ha filtrado el código fuente de su gallina de los huevos de oro, y esta no es otra que el Counter Strike: Global Offensive, que cayó junto al Team Fortress 2. La filtración incluye todas las licencias del Source Engine, su motor gráfico multiplataforma usado en todos los juegos de Valve como DOTA 2, Half-Life y claro, el CS: GO. También se ha conseguido acceso al código fuente de las versiones de 2017/2018 del CS: GO y Team Fortress 2. Este es un serio problema para Valve, y es que el Counter Strike: Global Offensive es el juego más popular de Steam desde hace años y uno de los más populares del mundo, a lo que se le suma que es una IP muy valiosa. Si bien es una versión desactualizada, solo basta una persona que sepa lo que tiene delante y cómo aprovecharlo. Ahora tocará esperar ver la respuesta de Valve y qué se puede hacer ante algo así. Obviamente, esto puede tomarse como una "venganza" personal contra Valve, ya que su juego se ha vuelto muy casual en los últimos años con medidas como su conversión free-to-play, un abusivo sistema de microtransacciones, y claro, un sistema antitrampas que siempre va por detrás de los hackers y que da lugar a una gran cantidad de 'chetos', los cuales ahora se podrán multiplicar tras la filtración del código fuente. Leer más en: https://elchapuzasinformatico.com/2020/04/se-filtra-el-codigo-fuente-del-counter-strike-global-offensive-y-el-team-fortress-2/B#
|
|
|
|
|
|
|