Ajd napisite manji EXE od ovog ;]

5

Ajd napisite manji EXE od ovog ;]

offline
  • Peca  Male
  • Glavni Administrator
  • Predrag Damnjanović
  • SysAdmin i programer
  • Pridružio: 17 Apr 2003
  • Poruke: 23211
  • Gde živiš: Niš

sta ce mi ASM, ajde objasnite mi?

treba 2-3 puta vise vremena da se u ASM-u napise nesto, u odnosu na C recimo...
i sta dobijam od toga?
manji kod?
pa i 2kb je dovoljno malo... osim ako ne pises virus, a ja ga ne pisem...



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 18 Apr 2003
  • Poruke: 8134
  • Gde živiš: U kesici gumenih bombona...

jel moze u ASM za Motorolin procesor (mikroprocesor) 6800 Very Happy
mislim, radice, sto je najbitnije Smile



offline
  • Pridružio: 29 Jan 2005
  • Poruke: 94
  • Gde živiš: Beograd, Srbija

Може само не верујем да ће радити на и386 =)

offline
  • Kaca  Female
  • Super građanin
  • Pridružio: 26 Sep 2004
  • Poruke: 1371
  • Gde živiš: blizuBG

[offtopic]

@c0mrade
moze li asembler napraviti baza podataka?

offline
  • Pridružio: 29 Jan 2005
  • Poruke: 94
  • Gde živiš: Beograd, Srbija

У асм можеш да урадиш буквално све, само је питање да ли имаш живаца за тако напредне пројекте и кодирање у асм =)

offline
  • Peca  Male
  • Glavni Administrator
  • Predrag Damnjanović
  • SysAdmin i programer
  • Pridružio: 17 Apr 2003
  • Poruke: 23211
  • Gde živiš: Niš

ja bi pre napravio Formulu1 od juga, nego sto bi napravio bazu podataka u ASM Smile
cinjenica je da to jos niko nije ni pokusao da napravi...

offline
  • Kaca  Female
  • Super građanin
  • Pridružio: 26 Sep 2004
  • Poruke: 1371
  • Gde živiš: blizuBG

hvala na odgovoru. naravno, imam zivaca za kodiranje, ali to je pitanje po vremenu(ako imam).

offline
  • Peca  Male
  • Glavni Administrator
  • Predrag Damnjanović
  • SysAdmin i programer
  • Pridružio: 17 Apr 2003
  • Poruke: 23211
  • Gde živiš: Niš

evo vam 1kb - http://www.mycity.rs/fajlovi/minimum.exe

ala je tesko...
izmenis gotov primer...

; #########################################################################       .386       .model flat, stdcall       option casemap :none   ; case sensitive ; #########################################################################       include \masm32\include\windows.inc       include \masm32\include\user32.inc       include \masm32\include\kernel32.inc       includelib \masm32\lib\user32.lib       includelib \masm32\lib\kernel32.lib ; #########################################################################     .code start:     jmp @F       szDlgTitle    db "hahaha",0       szMsg         db "alo bre, pa MASM dolazi sa primerom 'MINIMUM'. samo izmenis text i kompajliras... izem vam znanje :P",0     @@:     push MB_OK     push offset szDlgTitle     push offset szMsg     push 0     call MessageBox     push 0     call ExitProcess     ; --------------------------------------------------------     ; The following are the same function calls using MASM     ; "invoke" syntax. It is clearer code, it is type checked     ; against a function prototype and it is less error prone.     ; --------------------------------------------------------     ; invoke MessageBox,0,ADDR szMsg,ADDR szDlgTitle,MB_OK     ; invoke ExitProcess,0 end start

offline
  • Pridružio: 29 Jan 2005
  • Poruke: 94
  • Gde živiš: Beograd, Srbija

Pa onda ste lejm =) Ja sam pisao bez import table =)

Kaca : Ehhh vreme je potrebno, ali i zivci i dobro poznavanje debuggera jer tu jedna instrukcija moze mnogo da znaci =)

Dopuna: 06 Feb 2005 17:15

Evo i source ->>>
486 .model flat, stdcall option casemap:none include \masm32\include\windows.inc .code start: ASSUME FS:NOTHING          jmp __print          mTitle db "Small",0          mText  db "Hello world",0          api    db "MessageBoxA",0          dll    db "user32",0          exit   db "ExitProcess",0          load   db "LoadLibraryA",0          kernel dd ? __print:          call KernelBase          mov kernel, eax          push offset load          push eax          call GetProc                push offset dll          call eax          push offset api          push eax          call GetProc          push MB_OK          push offset mTitle          push offset mText          push NULL          call eax          push offset exit          push kernel          call GetProc          push NULL          call eax                     KernelBase PROC stack:DWORD      mov eax, dword ptr FS:[30h]      mov eax, dword ptr[eax+0ch]      mov esi, dword ptr[eax+14h]      ;1. is our progy      lodsd                     mov esi, eax      lodsd                     mov eax,dword ptr [eax+10h]      ret KernelBase endp GetProc PROC handle:DWORD, pApi:DWORD     mov edi, pApi     mov ecx, 100        ;<----max str len     mov eax, 0     repnz scasb     mov ecx, edi     sub ecx, pApi       ;<----str len!!!! of API     ;Lets find our API     ;First locate IMAGE_EXPORT_DIRECTORY     mov esi, handle     add esi, [esi + 03ch]  ;<---------- PE header     mov ebx, [esi + 078h]  ;<---------- Export Table offset     add ebx, handle        ;<---------- go to Export Table     ASSUME ebx : ptr   IMAGE_EXPORT_DIRECTORY         mov edx, [ebx].AddressOfNames   ;<--- this is RVA     add edx, handle                 ;<--- Real address     xor eax,eax                     ;<--- eax is counter lopni_ga:     mov esi, pApi                   ;<--- Api that we search     mov edi, [edx]                  ;<--- Api from AddressOfNames     add edi, handle                 ;<--- RVA+handle real address     push ecx                        ;<--- save strlen     repe cmpsb                      ;<--- compare stringz     pop ecx                         ;<--- restore strlen     jz imamo                        ;<--- we found it     add edx,4                       ;<--- go to next address     inc eax                         ;<--- increment counter     jmp lopni_ga             imamo:  mov esi,[ebx].AddressOfNameOrdinals  ;<--- Now find ordinal  add esi,handle                       ;<--- rva_ordinal_table + image_base  xor edx, edx  mov dx,  word ptr[esi+eax*2]      mov esi, [ebx].AddressOfFunctions    ;<--- RVA of ADDRESS TABLE  add esi, handle                      ;<--- RVA + base_image  mov eax, dword ptr[esi+edx*4]  add eax, handle    ret 8 GetProc ENDP end start

offline
  • Peca  Male
  • Glavni Administrator
  • Predrag Damnjanović
  • SysAdmin i programer
  • Pridružio: 17 Apr 2003
  • Poruke: 23211
  • Gde živiš: Niš

c0mrade ::Pa onda ste lejm =) Ja sam pisao bez import table =)

nisam ja lejm, ja sam sada samo provalio na koj fazon je Kaca dosla do 1kb...
gotov primer kompajlirala, samo izbacila komentare i promenila string-ove Razz

eh bre, ja rek'o Kaca hakerka, pa taman da je zenim, da zajedno pravimo i kodiramo mala stvorenja Laughing

dobro, ima vreme da nauci, niko se nije naucen rodio Wink

Ko je trenutno na forumu
 

Ukupno su 526 korisnika na forumu :: 11 registrovanih, 1 sakriven i 514 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Bluper, BORUTUS, dragoljub11987, milenko crazy north, Mixelotti, Nikolaa11, sap, SR-3m, Srle993, Vlada1389, wizzardone