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..
W asmie ta, w innym jezyku nie.
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;
}