Las carpetas bajo las dos bibliotecas dinámicas (ssse32.dll) tienen el mismo nombre para solucionar el fallo del lector de tarjetas.
Evento:
Para proporcionar un buen software de desarrollo (si el software ya se ha lanzado), los desarrolladores deben adaptar el lector de tarjetas. Esta función del software requiere dos lectores de tarjetas. tipos de tarjetas, hardware como: DEKA, HUAXU, etc.: DEKA, HUAXU, etc. Después de resolver el problema encontrado esta vez, se descubrió que estos dos lectores de tarjetas conectaron su propio hardware al dll y pueden leer las tarjetas de forma independiente. Después del reemplazo, se descubrió que su **** tenía un archivo ssse32.dll. Es el archivo de dispositivo para el lector de tarjetas de hardware.
Proceso:
1. Utilice dll to c (dll2c) para descompilar el archivo ssse32.dll y descubra que el archivo es realmente incompatible con un determinado ssse32.dll basado en él. , así que confíe nuevamente en la capa inferior del dll (dll de capa que no es del sistema).
2. Utilice eXeScope, depend y otras herramientas para ver la secuencia de dependencia dll de los archivos de hardware proporcionados por el hardware. Confíe en la experiencia para verificar
3. Imagínese si tiene las condiciones para verificar el código fuente relevante para ver qué archivos se pueden ejecutar llamando a ssse32.dll. En este momento, no necesita aprender. el código fuente.
4. Debido al equipo del lector de tarjetas de seguro médico, se descubrió que hay un yibao.dll, y el seguro médico puede distribuir un software de lector de tarjetas independiente. Simplemente elimine el dll y el archivo resultante será el que menos se ejecutará.
5. Intente colocar el archivo del lector de tarjetas de seguro médico en el directorio inferior (subdirectorio) y use el software para llamar a la ruta de la biblioteca dinámica. Dado que es un desarrollo de PB, no tuvo éxito.
6. Intente también utilizar las herramientas de visualización PEiD y Die para ver si hay un shell, y utilice ollydbg para ver la ejecución de informes relacionados.
Ideas:
1. Reemplace ssse32.dll en la llamada del programa. No hay código fuente y es difícil de ejecutar, y en algunos entornos, el dll se carga al inicio;
2. Descompile dos ssse32.dll, regenere un nuevo ssse32.dll y combínelos en ssse32.dll. dll, combine la tecnología de descompilación requerida, el desarrollo de ensamblajes y otras tecnologías;
3. Busque el archivo de nivel superior que llama a ssse32.dll y cambie el nombre del ssse32.dll llamado internamente en el archivo de nivel superior.
Solución:
Es difícil seguir las ideas 1 y 2. El método factible es la idea 3. Primero busque el archivo yibao.dll entre exe y sse32.dll, descompílelo nuevamente y vea el estado de ejecución del informe ollydbg. Ignorando los detalles, no funciona.
¿Por qué no comprobarlo directamente con winhex? Efectivamente, encontró ssse32.dll en yibao.dll y lo cambió a ssse33.dll. Cambie el ssse32.dll proporcionado en el directorio del seguro médico a ssse33.dll. y cópielo en el directorio raíz del software. Recuerde no alargar winhex al modificar los datos del archivo, de lo contrario afectará la estructura. Simplemente mantén la misma longitud. La avería se solucionó técnicamente.