Zrodlo programu

Odpowiedz Nowy wątek
help
2005-04-23 19:03
help
0

wie ktos moze jak dostac sie do zrodla prostego programu?? (w tym przypadku redblade - programik do tworzenia postaci do DnD) moze sa do tego jakies programy? potrzebuje bo chce pare rzeczy pozmieniac/potlumaczyc..

Pozostało 580 znaków

2005-04-23 20:04

Rejestracja: 16 lat temu

Ostatnio: 1 rok temu

0

W asmie ta, w innym jezyku nie.


Pozostało 580 znaków

2005-04-24 09:52

Rejestracja: 15 lat temu

Ostatnio: 14 lat temu

0

Ten temat już się pojawiał i jego autorzy byli ostro krytykowani, a wiecie co ja ostatnio znalazłem w czeluściach mego HDD? Niewilki program o nazwie e2c, który zamienia exeki na kod z: instrukcjami warunkowymi jak w c, definiowaniem zmiennych jak w c a nawet prostymi wzorami operującymi co prawda nie tylko na zmiennych ale i na rejestrach, ale wykorzystującymi znak = itp.
tu macie przykładowy kawałek kodu, który wygenerował:

/****/
near proc_16()
/****/
{
register char *reg2 ;

var1_af2 = 0;
push(es);
*(Word *)var1_caf = 1;
if(var1_aa0 != 1)   {
    *(Word *)var1_caf = 0;
    reg2 = reg2 - 0x2D;
    if((unsigned)reg2 >=  - 0x2D)   {
        ax = es;
        ax = ax - 0x1000;
        es = ax;
    }

label_179:
do {
if(*MK_FP(es , reg2) != 0x2D)
goto label_181;

label_180:
++reg2;
} while(reg2 != 0);
ax = es;
ax = ax + 0x1000;
es = ax;
goto label_179;

label_181:
if(var1_af2 != 1) {
var1_af2 = 1;
if(MK_FP(es , reg2) == 0xD) {
(Word )var1_caf = 1;
goto label_186;
}
if(
MK_FP(es , reg2 + 1) == 0x2D)
goto label_180;
}
si = 0xA9A; /PCH : RM_Table_init/
cx = 3; /PCH : RM_Table_init/
do {
ax = ( Word )MK_FP(es , reg2);
if(( Word )si != ax)
goto label_186;
si = si + 2;
reg2 = reg2 + 2;
if(reg2 != 0) {
reg2==1;
if(CarryFlg || ZerroFlg) {
ax = es;
ax = ax + 0x1000;
es = ax;
}
}
} while(--cx != 0);
(Word )var1_caf = 1;
}

label_186:
es = pop();
}

/****/
near proc_17()
/****/
{

var1_b9e = 0xD1;

label_187:
do {
ax = (Word )var1_cfc + (Word )var1_cfe;
if(ax == 0)
return;
proc_21();
proc_19();
ax = (Word )var1_d04; /PCH : RM_Table_init/

}   while(*(Word *)var1_d08 != ax);ax = *(Word *)var1_d02;  /*PCH : RM_Table_init*/
if(ax != *(Word *)var1_d06)
    goto  label_187;
ax = (int) al;
*(Word *)var1_0 = *(Word *)var1_0 + ax;
var1_cb5 = *(Word *)var1_cb4;

}

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0