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: 23208
  • 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: 23208
  • 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: 23208
  • 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: 23208
  • 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 794 korisnika na forumu :: 49 registrovanih, 10 sakrivenih i 735 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: _Petar, _Sale, A.R.Chafee.Jr., AK - 230, aramis s, babaroga, black_arrow, crnitrn, dac, dankisha, Denaya, djboj, dragon986, Duh sa sekirom, FOX, FrankyRC, goxin, goxsys, Hoegaarden, HrcAk47, hyla, ivan1973, komkom, kovinacc, KUZMAR, MB120mm, mercedesamg, Mercury, moldway, mushroom, nenad81, nuke92, ofbeyond, Panter, Rakenica, Sale.S, samsung, Singidunumac, Sirius, Skywhaler, sombrero, suton, theNedjeljko, Titan, Toni, vasa.93, VES 11119, VJ, |_MeD_|