Files
dtic-DIIAA/docs/investigacion/260304-1800_P2601_dasuten_ingenieria_inversa.md
T
Ricardo Monla 15725e0b3c 🚀 P02: Despliegue exitoso del sistema DASUTEN en pcv-dasu0
Infraestructura y Red:
- Tailscale v1.94.2 instalado en srv-dasu (IP: 100.116.210.36)
- Configurado como subnet router para 10.0.100.0/24
- Fix: Repositorios enterprise de Proxmox deshabilitados (.sources → .bak)

Despliegue del Sistema (pcv-dasu0):
- Transferencia SCP de runSysDasuten.zip via SSH puerto 7022
- Extracción en C:\Dasuten\runSysDasuten- Kermet.ini configurado: SERVER=sql-dasuten
- InstaladorComponentesKermet.exe (silent install)
- Fuentes TrueType registradas en Windows (Code39, I2OF5)
- Firewall TCP 1433 abierto en sql-dasuten
- Test-NetConnection: TcpTestSucceeded=True
- Login exitoso con usuario aalmiron 

ADN y Contexto:
- 05_ia.md: Regla 13 Auto-Contextualización Topológica
- 07_proyectos.md: Sección 'Topología y Red' obligatoria en manifiestos
- P2601_dasuten.md: Contexto de red documentado
- nodos/pcv-dasu0.md: Puerto SSH actualizado a 7022

Dashboard P2601:
- Hitos completados: 8 → 11 (P02.APP, NET01, TEST03)
- Progreso: 67% → 79%
- pcv-dasu0: Testing → Online
- Nuevo hito activo: UAT (verificación presencial)

Bitácoras y Documentación:
- Bitácora 04/03 y 05/03 completas
- Plan de despliegue en docs/plan/260305-1017
- Investigación de ingeniería inversa documentada
- ns8-candados: Instrucciones de uso para IA agregadas
- dtic-BITACORAs: CRUD completo, Dashboard P2601 integrado

Herramientas:
- w-zombi: Mejora anti-loop (max 5 ciclos)
- Payloads de despliegue SQL y sistema generados
2026-03-05 13:15:31 -03:00

151 lines
6.4 KiB
Markdown

# P2601 - Ingeniería Inversa: Sistema DASUTEN
> Documento técnico generado el 04/03/2026 a partir del análisis del directorio `dtic-APPs/temp/runSysDasuten/`.
## Resumen Ejecutivo
El **Sistema DASUTEN** es una aplicación de escritorio Windows desarrollada en **Visual FoxPro 9** sobre el framework propietario **"Kermet"**. Se conecta a **SQL Server** vía ODBC usando autenticación Windows. El ejecutable principal es `DasutenSQL.exe` y la configuración de conexión reside en `Kermet.ini`.
---
## Tecnología
| Componente | Detalle |
| :--- | :--- |
| **Lenguaje** | Visual FoxPro 9 (compilado a PE32 GUI Win32) |
| **Framework** | Kermet (propietario, `Kernel.dll` + `libgen.prg` + `libclas.prg`) |
| **Base de Datos** | SQL Server (instancia por defecto `MSSQLSERVER`) |
| **Conexión** | ODBC Driver `SQL Server` — Autenticación Windows Integrada |
| **Base** | `sysdasuten` |
| **Sincronización** | FTP + archivos DBF/ZIP empaquetados con PKZIP25 |
## Cadena de Conexión (`Kermet.ini`)
```ini
TIPOBASEDEDATOS=SQLServer
[INFORMIX]
DRIVER=INFORMIX 2.80 32 BIT
DATABASE=Sysacad
UID=informix
SERVER=utn
HOST=localhost
SERVICE=turbo
PROTOCOL=olsoctcp
[SQLSERVER]
DRIVER=SQL Server
UID=
ADDRESS=0
LOCKEO=0
SERVER=srvFENIX
DATABASE=sysdasuten
PWD=(cifrado binario)
```
### Campos Clave
| Campo | Valor Original | Valor Migración |
| :--- | :--- | :--- |
| `SERVER` | `srvFENIX` | `sql-dasuten`**Cambiar** |
| `DATABASE` | `sysdasuten` | `sysdasuten` (sin cambios) |
| `DRIVER` | `SQL Server` | `SQL Server` (sin cambios) |
| `UID` | *(vacío = Windows Auth)* | *(vacío = Windows Auth)* |
> [!IMPORTANT]
> El campo `SERVER` debe apuntar al hostname o IP del nuevo servidor SQL. Para la migración: `sql-dasuten` o `10.0.100.11`.
## Estructura del Directorio de Distribución
```
runSysDasuten/
├── Kermet.ini ← Configuración de conexión SQL (MODIFICAR)
├── registro.RKI ← Config sincronización (Instancia=30)
├── SysDasuten_Sincro.lnk ← Acceso directo de sincronización
├── khr / khw ← Archivos de control (vacíos)
├── Fonts/
│ └── Fonts/
│ ├── code39.ttf ← Fuente código de barras Code39
│ ├── I2OF5.TTF ← Fuente código de barras Interleaved 2 of 5
│ ├── I2OF5NT.TTF ← Variante I2OF5
│ └── PF_I2OF5_W.ttf ← Variante I2OF5
├── Sistema/
│ ├── DasutenSQL.exe ← Ejecutable principal (PE32 GUI)
│ ├── Kernel.dll ← DLL principal del framework Kermet
│ ├── eztw32.dll ← DLL de escaneo TWAIN
│ ├── gdiplus.dll ← GDI+ para gráficos
│ ├── Kermet.ini ← Copia de config (puede ser la efectiva)
│ ├── registro.RKI ← Config de sincronización
│ ├── PKZIP25.EXE ← Compresor para sincronización
│ ├── SysDasuten_Sincro.bat ← Bat de sincro FTP
│ ├── InstaladorComponentesKermet.exe ← Instalador dependencias
│ ├── VFP9Rerr.log ← Log de errores VFP
│ ├── logdasuten2.txt ← Log de sincronización FTP
│ ├── Manuales de Uso/ ← Documentación del sistema
│ │ └── Instructivo-Instalacion del sistema.doc
│ ├── dasutensql.1292.exe ← Versión más reciente del ejecutable
│ ├── dasutensql.1270.exe
│ ├── dasutensql.1264.exe
│ ├── dasutensql.1247.exe
│ └── _gsdata_/ ← Metadata de sincronización GoodSync
├── Actus/ ← Actualizaciones históricas
│ └── Hist/ ← Paquetes .zip y .rar de versiones previas
└── error sincro/ ← Capturas de errores de sincronización
```
## Versiones del Ejecutable
| Archivo | Observaciones |
| :--- | :--- |
| `DasutenSQL.exe` | Versión base (sin strings de conexión SQL visibles) |
| `dasutensql.1247.exe` | Contiene referencias a `sysdasuten` |
| `dasutensql.1264.exe` | Contiene referencias a `sysdasuten` |
| `dasutensql.1270.exe` | Contiene referencias a `sysdasuten` |
| `dasutensql.1292.exe` | **Más reciente**. Apunta a `SERVER=172.16.9.204\SQL2017`, `DATABASE=SYSDASUTEN`. Contiene referencia a `SYSDASUTEN_PRODUCCION`. |
> [!WARNING]
> La versión 1292 conecta a una instancia nombrada `SQL2017` en la IP `172.16.9.204`. Si la nueva infra usa instancia por defecto (`MSSQLSERVER`), el `.exe` base o una versión anterior puede ser más compatible. **Verificar cuál es la versión activa en producción consultando `srvv-fenix`**.
## Modo de Ejecución Histórico
Según los logs de errores y el bat de sincronización:
- **Share UNC original**: `\\Quetzal\Sysdasuten\sistema\``\\srvFENIX\Sysdasuten\Sistema\`
- **Ruta local alternativa**: `D:\SysDasuten\Sistema\dasutensql.exe`
- **Sincronización**: `dasutensql.exe /RUN=SINCRONIZAR:FTP /usuario=sincro /password=sincroftp`
- **Kermet.ini efectivo**: Se lee desde `\\servidor\Sysdasuten\kermet.ini` (raíz del share)
## Dependencias para Despliegue
### En el cliente Windows (pcv-dasu0)
1. **Fuentes**: Instalar `code39.ttf`, `I2OF5.TTF`, `I2OF5NT.TTF`, `PF_I2OF5_W.ttf`
2. **ODBC Driver**: `SQL Server` (incluido en Windows)
3. **VFP Runtime**: Ya embebido en el `.exe` (no requiere instalación separada)
4. **Componentes Kermet**: Ejecutar `InstaladorComponentesKermet.exe` si es necesario
5. **Conectividad SQL**: El cliente debe resolver `sql-dasuten` por DNS o hosts
### En el servidor SQL (sql-dasuten)
1. **Base de datos**: `sysdasuten` ✅ (ya restaurada en `S:\Data\`)
2. **Puerto SQL**: TCP 1433 (instancia por defecto) — verificar firewall
3. **Autenticación**: Windows Integrada (el usuario del dominio `DASUTEN\admindasu` ya es sysadmin)
4. **SQL Browser**: UDP 1434 — habilitar si se usan instancias nombradas
## Plan de Despliegue en pcv-dasu0
```
1. Transferir directorio runSysDasuten/ a pcv-dasu0 vía SCP
2. Modificar Kermet.ini → SERVER=sql-dasuten (o 10.0.100.11)
3. Instalar fuentes (Fonts/)
4. Ejecutar InstaladorComponentesKermet.exe
5. Verificar firewall SQL 1433 en sql-dasuten
6. Probar conexión: sqlcmd -S sql-dasuten -E -Q "SELECT DB_NAME()"
7. Lanzar DasutenSQL.exe y verificar login
```
## Referencias
- **Proyecto**: [P2601_dasuten.md](P2601_dasuten.md)
- **Nodo SQL**: [sql-dasuten.md](../nodos/sql-dasuten.md)
- **Directorio fuente**: `dtic-APPs/temp/runSysDasuten/`
- **Bitácora**: [04/03/2026](../bitacoras/2026-03-04.md)