|
1
|
Programación / Ingeniería Inversa / Re: Ayuda de alguien que sepa bastante
|
en: 23 Agosto 2006, 03:52 am
|
Quiza todo el asunto muy liado. Creo que en realidad la DLL despues de volcarla esta tan mal que el peid cree que esta comprimida otra vez
En parte creo que mi deduccion es correcta porque la IAT esta bastante mal.
Si me atranco posteo otra vez
Gracias por la ayuda
|
|
|
4
|
Programación / Programación Visual Basic / Donación: Programa para Registrar archivos ActiveX (Krnl64)
|
en: 22 Agosto 2006, 17:53 pm
|
Cansado de usar Regsvr32.exe para registrar archivos ActiveX ? La solucion la teneis aqui. Os dejo el code de un programa que registra los archivos ActiveX solo arrastrandolos y dandole a un boton. Lo unico que pido es que conserveis las cabeceras.
Option Explicit
Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Any, ByVal wParam As Any, ByVal lParam As Any) As Long Private Declare Function MessageBox Lib "user32" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long
Const MB_DEFBUTTON1 = &H0& Const MB_DEFBUTTON2 = &H100& Const MB_DEFBUTTON3 = &H200& Const MB_ICONASTERISK = &H40& Const MB_ICONEXCLAMATION = &H30& Const MB_ICONHAND = &H10& Const MB_ICONINFORMATION = MB_ICONASTERISK Const MB_ICONQUESTION = &H20& Const MB_ICONSTOP = MB_ICONHAND Const MB_OK = &H0& Const MB_OKCANCEL = &H1& Const MB_YESNO = &H4& Const MB_YESNOCANCEL = &H3& Const MB_ABORTRETRYIGNORE = &H2& Const MB_RETRYCANCEL = &H5& Const ERROR_SUCCESS = &H0
Private Sub Command1_Click() Call RegisterServer(Me.hwnd, T.Text, True) End Sub
Private Sub Command2_Click() Call RegisterServer(Me.hwnd, T.Text, False) End Sub
Private Sub Form_Load() Form1.Caption = "DllRegister v1.0 by Krnl64" Command1.Caption = "Registrar" Command2.Caption = "Borrar Registro" End Sub
Private Sub Label2_Click() MessageBox Me.hwnd, " DllRegister registra las DLL's, OCX y Exe ActiveX que lo necesitan. Tan solo arrastre el fichero al cuadro de texto y pulse el boton correspondiente.", "Krnl64 & Demon Industries", MB_ICONASTERISK End Sub
Private Sub T_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single) '-------------------------------------------------------------------------------- ' Componente : Sub OLEDragDrop para Drag & Drop I ' Proyecto : Dll Register ' Descripcion : Colocar nombredelcontrol-(barra baja)-OLEDragDrop ' Created by : Krnl64 & Demon Industries ' Machine : DEMON-LESS ' Date-Time : 23/08/2006-2:20:37 ' Parametros : No hace falta tocarlos . NOTA !!! El control debe soportar Drag & Drop '--------------------------- On Error GoTo f
Dim numFiles As Integer Dim i As Integer Dim a As String numFiles = Data.Files.Count ''Cuenta los archivos a agregar For i = 1 To numFiles GetAttr (Data.Files(i)) 'Se asegura de que el archivo existe a = T.Text If a = Empty Then T.Text = Data.Files(i) '' añade los archivos al textbox Else T.Text = a & vbCrLf + Data.Files(i) '' añade los archivos al textbox + Retorno de carro End If Next Exit Sub f: MessageBox Me.hwnd, "Asegurate de que el archivo(s) existe(n)", "Drag & Drop", MB_ICONSTOP End Sub
Private Sub T_OLEDragOver(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single, State As Integer) '-------------------------------------------------------------------------------- ' Componente : Sub OLEDragOver para Drag & Drop II ' Proyecto : Dll Register ' Descripcion : Colocar nombredelcontrol-(barra baja)-OLEDragOver ' Created by : Krnl64 & Demon Industries ' Machine : DEMON-LESS ' Date-Time : 23/08/2006-2:20:37 ' Parametros : No hace falta tocarlos . NOTA !!! El control debe soportar Drag & Drop '--------------------------- On Error GoTo r
If Data.GetFormat(vbCFFiles) Then '' Ve si se pueden arrastrar los archivos Effect = vbDropEffectCopy '' Icono de arrastre Else Effect = vbDropEffectNone '' En este caso, no se puede arrastrar End If Exit Sub r: MessageBox Me.hwnd, "Error al Arrastrar !!", "Drag & Drop", MB_ICONSTOP End Sub Public Function RegisterServer(hwnd As Long, DllPath As String, Register As Boolean) '-------------------------------------------------------------------------------- ' Componente : Funcion RegisterServer ' Proyecto : Dll Register ' Descripcion : Funcion que registra las Dll's, OCX, EXE ACtiveX, etc ' Created by : Krnl64 & Demon Industries ' Machine : DEMON-LESS ' Date-Time : 23/08/2006-2:44:23 ' Parametros : Hwnd (Handle de la ventana que llama la funcion, DllPath ruta del archivo y Register registrar o no '--------------------------- On Error GoTo e
Dim lb As Long Dim k As Long lb = LoadLibrary(DllPath) '' Cargamos el archivo en memoria
If Register = True Then k = GetProcAddress(lb, "DllRegisterServer") Else k = GetProcAddress(lb, "DllUnregisterServer") End If
If k = Empty Then GoTo e End If
If CallWindowProc(k, hwnd, ByVal 0&, ByVal 0&, ByVal 0&) = ERROR_SUCCESS Then If Register = True Then MessageBox Me.hwnd, "Dll Registrada con éxito", "DLLRegister", MB_ICONASTERISK T.Text = Empty Else MessageBox Me.hwnd, "Dll Desregistrada con éxito", "DLLRegister", MB_ICONASTERISK T.Text = Empty End If Else GoTo e End If FreeLibrary lb ' Descargamos de la memoria el archivo Exit Function e: MessageBox Me.hwnd, "El archivo no puede ser Registrado/Desregistrado o esta dañado.", "DLLRegister", MB_ICONSTOP T.Text = Empty End Function
Espero comentarios Salu2
|
|
|
6
|
Programación / Ingeniería Inversa / Ayuda de alguien que sepa bastante
|
en: 21 Agosto 2006, 21:31 pm
|
Soy Krnl64.
Necesito ayuda de alguien que domine bien el tema de la ingenieria inversa.
Mi problema es con la Dll TVICHW32 version 6.0 que sirve para desarrollar drivers.
Es Shareware y cuando pasan 30 dias ya no funciona.
Esta comprimida con Asprotect 2.0x y con Aspack 2.12
Para "anular" la proteccion de Asprotect la he dumpeado tras cargarla en un programa que hice.
La Dll original pesa 148 Kb la Dumpeada 212 Kb (parece que va bien)
Abro Import Reconstructor, cargo el proceso, selecciono la Dll Pongo en OEP 1001B1FB y le doy a Get Imports
Le doy a show invalids, Cut Thunk's y en teoria la DLL esta reparada.
Pero ahora esta protegida con Aspack 2.12 y no me deja cargarla en ningun proceso para poder dumpearla de nuevo.
Eso, suponiendo que todo lo anterior este bien hecho.
Ayudadme, no se que puedo hacer ahora.
Sabre recompensar
Salu2
|
|
|
8
|
Programación / Ingeniería Inversa / Re: DLL protegida con ASprotect 2.0x
|
en: 20 Agosto 2006, 21:16 pm
|
He estado probando a correr la Dll desde el debugger y nada.
Tambien he probado a descomprimirla con un programa llamado AsprStripperXP 1.25 y me extrae un programa llamado #rundll.exe. Pero da error en la extracción y me dice que no sabe que version de Asprotect es y borra este archivo.
He probado a volcarla con el pupe y creo que funciona, porque ahora ocupa más que antes.
El problema es que ahora tengo que repararla para que funcione.
Uso Import Recovery.
Abro el proceso corriendo, le doy a Pick Dll la selecciono y le doy a Get Imports.
Me dice que no son validas
Que tengo que hacer ahora para repararla del todo ?
Gracias
|
|
|
9
|
Programación / Ingeniería Inversa / DLL protegida con ASprotect 2.0x
|
en: 17 Agosto 2006, 18:10 pm
|
Hola a todos.
Veran, tengo una dll que me es bastante valiosa. Esta Dll tiene una rutina para saber si esta registrada o no. Cuando pasan 30 dias, la Dll te manda un mensaje de Unregistered y no te deja usarla.
Mi problema es que esta protegida con Asprotect 2.0x registered version.
Si fuera 1 PE, la descomprimiria manualmente pero al ser 1 Dll no tengo ni idea de como puedo atacarla.
He probado varios unpackers de Asprotect y tampoco consigo nada.
Puede Alguien decirme con qué o cómo puedo desempacar esta DLL ?
Gracias
|
|
|
10
|
Programación / Programación Visual Basic / Re: Heuristica del NOD
|
en: 29 Julio 2006, 17:20 pm
|
No es esactamente meter una funcion dentro de otra, sino llamar a ejecucion desde una funcion A a otra funcion B.
Porsupuesto que se puede hacer.
En cuanto como se puede hacer indetectable, en el foro de troyanos y virus creo que te podran orientar mejor.
Una recomendacion, usa strings cifrados
Salu2
|
|
|
|
|
|
|