UNIVERSIDAD NACIONAL EXPERIMENTAL
"SIMÓN RODRÍGUEZ"
NÚCLEO PALO VERDE

CONTENIDO PROGRAMÁTICO

TEMA 1: GENERALIDADES.

1. DEFINICIÓN DE FINANZAS.
2. CONCEPTO DE FINANZAS INTERNACIONALES.
3. IMPORTANCIA DE LAS FINANZAS INTERNACIONALES.
4. NOMENCLATURA USADAS EN LAS FINANZAS INTERNACIONALES.
5. VALOR DE CAMBIO CON RESPECTO AL DÓLAR Y AL EURO.
6. TIPOS DE OPERACIONES INTERNACIONALES.
7. VENTAJAS Y DESVENTAJAS.

TEMA 2: BALANZA DE PAGOS.

1. CONCEPTO, CARACTERÍSTICAS, TIPOS DE CUENTAS.
2. REGISTRO DE LAS OPERACIONES CONTABLES.
3. PROBLEMAS EN EL REGISTRO DE LAS OPERACIONES EN LA BALANZA DE PAGOS.
4. ANÁLISIS DE LOS EFECTOS DE LA BALANZA DE PAGOS.
5. DESCRIPCIÓN DE LA BALANZA DE PAGOS EN VENEZUELA DESDE EL AÑO 2005 HASTA EL PRESENTE.

TEMA 3: SISTEMA MONETARIO INTERNACIONAL.

1. CONCEPTO DEL SISTEMA MONETARIO INTERNACIONAL.
2. SISTEMA PATRÓN ORO: DEFINICIÓN Y FUNCIONAMIENTO.
3. SISTEMA BRETÓN WOODS: CONCEPTO Y CARACTERÍSTICAS, COMPORTAMIENTO DESDE 1944 HASTA EL PRESENTE.
4. INSTITUCIONES FINANCIERAS INTERNACIONALES: FONDO MONETARIO INTERNACIONAL: SU CREACIÓN, FUNCIONES, TIPOS DE SERVICIO QUE PRESTA, ROL DE ESTOS ORGANISMOS A NIVEL GLOBAL EN LOS ÚLTIMOS AÑOS.
5. BANCO MUNDIAL: CREACIÓN, FUNCIONES, TIPOS DE SERVICIO QUE PRESTA Y ROL DE ESTE ORGANISMO MUNDIAL EN LOS ÚLTIMOS TIEMPOS HASTA EL PRESENTE.
6. BANCO INTERNACIONAL DE PAGO (COMPENSACIÓN): ACUERDO DE BASILEA: SU CREACIÓN, FUNCIONES Y TIPOS DE SERVICIO QUE PRESTA.
7. SISTEMA MONETARIO EUROPEO: CREACIÓN, ESTRUCTURA, FUNCIONES Y TIPOS DE SERVICIO QUE PRESTA.
8. LA MONEDA EURO: COTIZACIÓN, ESTRUCTURA (CANASTA DE VARIAS MONEDAS).
9. DERECHO ESPECIAL DE GIRO: CONCEPTO, FUNCIONES Y ESTRUCTURA.

TEMA 4: MERCADO CAMBIARIO.

1. CONCEPTO DE DIVISA.
2. MERCADO DE DIVISAS.
3. OPERACIONES DE CAMBIO EN EL MERCADO INTERNACIONAL.
4. TIPOS DE COTIZACIONES DE CAMBIO.
5. CONTRATOS A FUTURO (FORWARD): CONCEPTO, FUNCIONES Y TIPOS DE CONTRATOS.
6. SISTEMA CAMBIARIO DE BANDAS: DEFINICIÓN Y FUNCIONAMIENTO.
7. RIESGO CAMBIARIO: CONCEPTO, ELEMENTOS FUNDAMENTALES DEL RIESGO CAMBIARIO: POSICIÓN CORTA Y POSICIÓN LARGA, TIPOS DE RIESGOS DE CAMBIO: TRANSACCIÓN DE BALANCE Y ECONÓMICO, ENDEUDAMIENTO EMPRESARIAL EN MONEDA EXTRANJERA.
8. COMPORTAMIENTO DEL MERCADO CAMBIARIO EN VENEZUELA DESDE 2005 HASTA EL PRESENTE.

TEMA 5: MERCADO FINANCIERO INTERNACIONAL.

1. CONCEPTO Y FINALIDAD.
2. ESTRUCTURA DEL MERCADO FINANCIERO INTERNACIONAL.
3. TIPOS Y FUNCIONAMIENTO DE LOS CRÉDITOS INTERNACIONALES. (TRAER MODELO).
4. MERCADO DE EURODÓLARES: TIPOS Y FUNCIONAMIENTO (TRAER MODELO).
5. MERCADO INTERNACIONAL DE BONOS: CLASIFICACIÓN DEL MERCADO DE BONOS, ESTRUCTURA Y FUNCIONAMIENTO.
6. MERCADO DE EUROCRÉDITOS: ESTRUCTURA Y FUNCIONAMIENTO.

TEMA 6: FINANCIAMIENTO DEL COMERCIO INTERNACIONAL.

1. CONCEPTO Y FINALIDAD.
2. CARTA DE CRÉDITO: DEFINICIÓN, TIPOS, MODALIDADES, VENTAJAS Y DESVENTAJAS (TRAER MODELO).
3. COBRO DOCUMENTARIO: CONCEPTO Y TIPOS (TRAER MODELO).
4. ACEPTACIÓN BANCARIA: CONCEPTO Y TIPOS. (TRAER MODELO).
5. FACTORIZACIÓN: DEFINICIÓN Y TIPOS (TRAER MODELO).
6. FORFETIZACIÓN: CONCEPTO Y TIPOS (TRAER MODELO).
7. ARRENDAMIENTO INTERNACIONAL: CONCEPTO Y TIPOS (TRAER MODELO).
8. PERMUTA INTERNACIONAL: CONCEPTO Y TIPOS (TRAER MODELO).

TEMA 7: MERCADO BURSÁTIL INTERNACIONAL.

1. MERCADO WALL STREET (NEW YORK): FUNCIONAMIENTO Y TIPOS DE OPERACIONES.
2. MERCADO DEL ORO: FUNCIONAMIENTO Y TIPOS DE OPERACIONES.
3. DEUDA EXTERNA MUNDIAL: MERCADO DE LA DEUDA EXTERNA LATINOAMERICANA, TIPOS DE TÍTULOS QUE SE COTIZAN Y OPERACIONES; PLAN BRADY: CONCEPTO, VENTAJA Y DESVENTAJAS.
4. DEUDA EXTERNA VENEZOLANA: COMPORTAMIENTO DESDE 1983 HASTA NUESTROS DÍAS.
5. CLUB DE PARÍS: FUNCIONAMIENTO, VENTAJAS Y DESVENTAJAS.
6. MERCADO DE TÍTULOS ADR Y GDR: CONCEPTO Y FUNCIONAMIENTO DE ESTOS TÍTULOS.

TEMA 8: INVERSIÓN EXTERNA DIRECTA.

1. CONCEPTO.
2. EFECTOS DE LA INVERSIÓN EXTERNA DIRECTA EN LA BALANZA DE PAGOS EN EL PAÍS RECEPTOR Y DEL PAÍS INVERSOR.
3. LA EMPRESA MULTINACIONAL: DEFINICIÓN, CARACTERÍSTICAS, VENTAJA Y DESVENTAJAS DE SU INSTALACIÓN EN EL PAÍS.
4. FINANCIAMIENTO DE CASA MATRIZ A FILIAL Y VICEVERSA.
5. ASOCIACIONES ESTRATÉGICAS: CONCEPTO Y FUNCIONAMIENTO EN VENEZUELA (TRAER 02 MODELOS DE CASOS EN NUESTRO PAÍS).
6. COMPORTAMIENTO DE LA INVERSIÓN EXTRANJERA DIRECTA EN VENEZUELA DESDE 2005 HASTA NUESTROS DÍAS.

jueves, 1 de junio de 2023

Reversing C++ String And QString

After the rust string overview of its internal substructures, let's see if c++ QString storage is more light, but first we'r going to take a look to the c++ standard string object:



At first sight we can see the allocation and deallocation created by the clang++ compiler, and the DAT_00400d34 is the string.

If we use same algorithm than the rust code but in c++:



We have a different decompilation layout. Note that the Ghidra scans very fast the c++ binaries, and with rust binaries gets crazy for a while.
Locating main is also very simple in a c++ compiled binary, indeed is more  low-level than rust.


The byte array is initialized with a simply move instruction:
        00400c4b 48 b8 68        MOV        RAX,0x6f77206f6c6c6568

And basic_string generates the string, in the case of rust this was carazy endless set of calls, detected by ghidra as a runtime, but nevertheless the basic_string is an external imported function not included on the binary.

(gdb) x/x 0x7fffffffe1d0
0x7fffffffe1d0: 0xffffe1e0            low str ptr
0x7fffffffe1d4: 0x00007fff           hight str ptr
0x7fffffffe1d8: 0x0000000b        sz
0x7fffffffe1dc: 0x00000000
0x7fffffffe1e0: 0x6c6c6568         "hello world"
0x7fffffffe1e4: 0x6f77206f
0x7fffffffe1e8: 0x00646c72
0x7fffffffe1ec: 0x00000000        null terminated
(gdb) x/s 0x7fffffffe1e0
0x7fffffffe1e0: "hello world"

The string is on the stack, and it's very curious to see what happens if there are two followed strings like these:

  auto s = string(cstr);
  string s2 = "test";

Clang puts toguether both stack strings:
[ptr1][sz1][string1][null][string2][null][ptr2][sz2]

C++ QString datatype

Let's see the great and featured QString object defined on qstring.cpp and qstring.h

Some QString methods use the QCharRef class whose definition is below:

class Q_EXPORT QCharRef {     friend class QString;     QString& s;     uint p;
 
 Searching for the properties on the QString class I've realized that one improvement that  rust and golang does is the separation from properties and methods, so in the large QString class the methods are  hidden among the hundreds of methods, but basically the storage is a QStringData *;

After removing the methods of QStringData class definition we have this:

struct Q_EXPORT QStringData : public QShared {
    QChar *unicode;
    char *ascii;
#ifdef Q_OS_MAC9
    uint len;
#else
    uint len : 30;

No hay comentarios: