Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   "hello world" ;) (https://forum.antichat.xyz/showthread.php?t=78121)

izlesa 23.07.2008 11:51

тогда, бери вариант zero_cool выше, тот ктр 2,5Кб.
ещё раз повторяю в версии с 1,5Кб секции объединены в одну, и это некоторым авирам не нравится.

Flame of Soul 23.07.2008 12:33

Цитата:

тогда, бери вариант zero_cool выше, тот ктр 2,5Кб.
ещё раз повторяю в версии с 1,5Кб секции объединены в одну, и это некоторым авирам не нравится.
есть такое )), так нехотелось за masm садиться. А пришлось!!!
Архив тут
Код HTML:

_____________________________________________________________
|  | folders | compil | size | Presence - PE | gui/cons |    |
| ========================================================= |
| ....masm1    Masm32  2560        +++            C          |
| ....masm2    Masm32  2560        +++            C          |
| ....exe2    emu8086  807        ???            C          |
| ========================================================= |
| В последнем просто добавила имя и 32 bit memory model на-  |
| врятли там появится PE от этого, точнее вообще не должен!  |
|___________________________________________________________|



Как ни странно но масм компилирует код ниже до 1536 байт и все ему нравится, ни при линковке ни при компиляции, ни ошибок ни предупреждений не выдает, по при запуске билд выпадает в осадок. Скажите где я неправильно сделала?
PHP код:

.486                      create 32 bit code
.model flatstdcall       32 bit memory model
option casemap 
:none       ; case sensitive
.data
          msg     db      
"hello, world!"0Dh,0Ah24h
.code
start
:
          
lea     dxmsg  load effective address of msg into dx.
          
mov     ah09h  ; print function is 9.
          int     21h      
; do it!
          
mov     ah
          int     16h      
wait for any key any....
end start 


zl0y 23.07.2008 13:35

Сосать :)
http://www.virustotal.com/ru/analisis/4fae9c7357fd8223dc6ad905781986d8
Результат: 0/35 (0%)

Если авер сказал Virus not found то это стоит понимать,как: авер тупой и нехуя ненашел тоесть в прямом смысле :)
http://www.sendspace.com/file/s6pxre

Flame of Soul 23.07.2008 13:51

zl0y написано на fасме????

zl0y 23.07.2008 13:54

Нет я вручную pe собирал,dos stub из win95 выдрал winhex'ом и сам helloworld был написан на fasm'е,после чего сделал его bin дамп :)

Цитата:

format PE GUI 4.0 on 'null'
include 'include\win32ax.inc'
entry start
section 'ZLOY' code readable writable executable

start:
;Step(1) : Get Kernel Base(read it from PEB,NT ONLY).
mov eax,[fs:30h]
mov eax,[eax+0Ch]
mov esi,[eax+1Ch]
lodsd
mov ebx,[eax+08h]
;Step(2) : Find 'GetProcAddress' address.
push 0x1FC0EAEE; hashed 'GetProcAddress'
push ebx ;kernel32 base
call .getproc
mov ecx,eax
;Step(3) : Find 'LoadLibraryA' address.
push 0xC8AC8026 ; hashed 'LoadLibraryA'
push ebx ;kernel32 base
call .getproc
;Step(4) : Load the 'user32.dll'
pushd 'user32'
call eax
;Step(5) Find 'MessageBoxA' address.
push 0xABBC680D ;hashed 'MessageBoxA'
push eax ;user32 base
call .getproc
;Step(6) Testing,now in eax pointer to 'MessageBoxA' func.
;i dont use here(push 0) if it 4 times pasted = 8 bytes,i use:
;(xor ecx,ecx) and 4 times (push ecx) = 6 bytes
xor ecx,ecx
push ecx
push ecx
push ecx
push ecx
call eax
ret

.getproc:
pushad
mov eax,[esp+0x24] ;module handle
mov ebx,eax ;save module handle
add eax,[eax+3Ch];pe header
mov edx,[eax+78h];export table rva
add edx,ebx ;module handle
mov ecx,[edx+0x18];Num of Name Pointers
mov edi,[edx+0x20];Name Pointers RVA
add edi,ebx ;module handle
.getproc_scan:
mov esi,ebx ;module handle
add esi,[edi+(ecx-1)*4] ;poiner to apiname
xor eax,eax
.getproc_hash:
rol eax,7
xor al,[esi]
inc esi
cmp byte[esi],0
jnz .getproc_hash
xor eax,[esp+0x28] ;~cmp ... if eax=[esp+0x28] then eax =0 and jump
jz .getproc_found
loop .getproc_scan
xor eax, eax
jmp .getproc_quit
.getproc_found:
mov eax,[edx+28h+(ecx-1)*4]
add eax,ebx
.getproc_quit:
mov dword[esp+01Ch],eax ; return result on eax
popad
retn 8

*Van* 23.07.2008 19:05

Код:

s segment stack
 dw 128 dup (?)
s ends

code segment
assume ss:s, ds:data, cs:code
data segment
x db 'Hello world!$'
data ends
start:
mov ax,data
mov ds,ax
lea dx,x     
mov ah,9
int 21h       
mov ah,4Ch
int 21h
code ends
end start

мой вариант... на masm'e экзешник 1.29 кб если надо - выложу

N1K70 01.07.2009 00:12

мой вариант...на FASMе.... 1024 байт :-P
Цитата:

format PE GUI 4.0

include 'win32a.inc'

invoke MessageBoxA,0,_message,_caption,MB_OK
invoke ExitProcess,0

_message db 'HALLO! WORLD!',0
_caption db 'HALLO!',0

data import

library kernel32,'KERNEL32.DLL',\
user32,'USER32.DLL'

import kernel32,\
ExitProcess,'ExitProcess'

import user32,\
MessageBoxA,'MessageBoxA'

end data
:))

Chrome~ 01.07.2009 00:57

Зачем поднимать тему 2008 года?

Mozy 01.07.2009 00:58

Код:

++++++++++[>+++++++>++++++++++>+++>+<<<<-]
>++.>+.+++++++..+++.>++.<<+++++++++++++++. >.+++.------.--------.>+.>.

Кто знает тот поймёт ;)

[n]-c0der 01.07.2009 10:58

Гы, brainfuck =)
Помню писал для него компилятор на С++ =)


Время: 01:10