Види, од ASM кодот, нема многу да научиш, односно можно е мнооооогу да научиш, ама и многу време дур го научиш тоа. Ако си спремен да поминеш месеци анализирајќи ASM код, да, многу ќе научиш. Но ако мислиш дека како со било кој друг high level програмски јазик, само ќе го погледнеш кодот и ќе знаеш од прилика што каде е и со која команда што се генерира, не е баш така. ASM е прво ниво по binary, поточно второ, ако се смета и hex, ама тоа е неразбирливо за нас (чест на исклучоци, има луѓе кои разбираат и во hex и во binary што е напишано, но тие луѓе, буквално, на прсти со бројат на целава планета
).
Во принцип, анализа на код чисто со debugger е тешка работа. За менување на мали работи (вадење или додавање на логоа, менување на рестрикции, вадење на рестрикции, менување на јазик, итн.), да, може да го правиш тоа во ASM, и релативно лесно се прави (особено за менување на јазик на некоја програма, само се бараат string-ови и се заменуваат со други соодветни преведени верзии). Но баш анализа да правиш, тоа е малку потешко. По некое време работа во некој debugger, почнуваш побрзо и полесно да се снаоѓаш, да учиш shortcuts, да забележуваш заеднички работи за некои програмски јазици (поточно compiler-и), итн. Но на почетокот, тешко е.
Не ме сваќај погрешно, не пробувам да те деморализирам, само пробувам да те припремам за тоа што те чека. Реално гледано, многу работа. Но, затоа, ако успееш без поголеми проблеми да се снаоѓаш со ASM код, било кој друг програмски јазик ќе ти биде „боза“
.
Искрено, би ти препорачал да го изгледаш и да го изработиш прво овој туториал, па потоа да се префрлиш на микроконтролери и да го учиш IDA:
http://elektronika-mk.net/index.php?topic=1760.0