flat assembler
Message board for the users of flat assembler.

flat assembler > Examples and Tutorials > floor demo

Goto page 1, 2  Next
Author
Thread Post new topic Reply to topic
avcaballero



Joined: 02 Feb 2004
Posts: 163
Location: Madrid - Spain
Hello there, long time I'm not here, but I can't get into this forum where I usually access from. Firstly I guessed that anyone was playing banning ips, but now I think it is ok: less time lost Wink... Well, a floor demo here... Yeah... See you up until two or three months Smile


Description:
Download
Filename: SueloWF04b.zip
Filesize: 2.02 KB
Downloaded: 201 Time(s)


_________________
Siempre aprendiendo
Post 13 Apr 2013, 15:55
View user's profile Send private message Visit poster's website Reply with quote
HaHaAnonymous



Joined: 02 Dec 2012
Posts: 1171
Location: Unknown
Stupid post removed.


Last edited by HaHaAnonymous on 28 Feb 2015, 21:05; edited 1 time in total
Post 13 Apr 2013, 16:18
View user's profile Send private message Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1904
COOL ... but I can't RTFS (or is this the next disassembling challenge?) :-\
Post 15 Apr 2013, 13:59
View user's profile Send private message Reply with quote
baldr



Joined: 19 Mar 2008
Posts: 1651
DOS386,

It's (somewhat cryptic) example how not to use extended headers.

E.g. WinMain() unnecessarily establishes stack frame (it doesn't use neither parameters nor locals) and saves/restores ebx/esi/edi (they're not modified through its execution). It does some other weird stuff, like after GetMessage(): cmp eax, 1 / jb return_wParam_to_caller / jnz call_GetMessage_again. Looks innocent because hWnd, wMsgFilterMin and wMsgFilterMax are all zero, but with filter this may lead to dead loop when GetMessage() returns -1.

WndProc() saves/restores registers too, but they're tampered one call deeper. Some functions it calls indeed modify esi, but one of them apparently went paranoid: it saves not only those registers, but ecx & edx too, to be extra safe. Wink
Post 15 Apr 2013, 15:30
View user's profile Send private message Reply with quote
Walter



Joined: 26 Jan 2013
Posts: 128
Agree with HaHa, DOS386 and baldr!

Just as a starting point.

For those who prefer to assemble their
own source when presented with an EXAMPLE.

Code:
;***************** ;* CeilFloor.asm * ;***************** format pe gui 4.0 include 'win32ax.inc' XLEN = 640 YLEN = 400 ELAPSE = 20 struct RGBQUAD rgbBlue db ? rgbGreen db ? rgbRed db ? rgbReserved db ? ends struct BITMAPINFO bmiHeader BITMAPINFOHEADER bmiColors RGBQUAD ends section '.data' data readable writeable strClass db 'CeilFloor', 0 strTitle db 'Ceil&Floor Demo - (c) abreojosensamblador.net', 0 strError db 'Bonkers! I hate it when that happens.', 0 wc WNDCLASS 0, WindowProc, 0, 0, 0, 0, 0, 0, 0, strClass bmi BITMAPINFO <28h, 280h, 0FFFFFE70h, 1, 20h, 0, 0, 0, 0, 0, 0>, <0, 0, 0, 0> msg MSG ps PAINTSTRUCT dwValue1 dd 0 dwValue2 dd 0 hDC1 dd ? hDC2 dd ? hDC3 dd ? hBitmap1 dd ? hGdiObject1 dd ? hGdiObject2 dd ? hGdiObject3 dd ? ppvBits dd ? byValue1 db ? byValue2 db ? byValue3 db ? byValue4 db ? TableH db 0x320 dup ? Table1 db 0x5a0 dup ? Table2 db 0x5a0 dup ? Table3 db 0x5a0 dup ? Table4 db 0x5a0 dup ? section '.code' code readable executable start: invoke GetModuleHandle, NULL mov [wc.hInstance], eax mov [wc.lpfnWndProc], WindowProc mov [wc.lpszClassName], strClass invoke GetStockObject, NULL mov [wc.hbrBackground], eax stdcall CFProc0 invoke ExitProcess, 0 proc CFProc0 uses ebx esi edi invoke LoadIcon, NULL, IDI_APPLICATION mov [wc.hIcon], eax invoke LoadCursor, NULL, IDC_ARROW mov [wc.hCursor], eax invoke RegisterClass, wc test eax, eax jz CeilFloorError invoke CreateWindowEx, 0, strClass, strTitle, WS_VISIBLE or WS_SYSMENU or WS_HREDRAW, \ 128, 128, 640, 400, 0, 0, [wc.hInstance], 0 test eax, eax jz CeilFloorError CFProc001: invoke GetMessage, msg, NULL, 0, 0 cmp eax, 1 jb CeilFloorRet jnz CFProc001 invoke TranslateMessage, msg invoke DispatchMessage, msg jmp CFProc001 CeilFloorError: invoke MessageBox, NULL, strError, strTitle, MB_ICONHAND CeilFloorRet: ret endp proc WindowProc uses ebx esi edi, hWnd, uMsg, wParam, lParam mov eax, [uMsg] cmp eax, WM_ERASEBKGND jz .OnEraseBkgnd cmp eax, WM_PAINT jz .OnPaint cmp eax, WM_DESTROY jz .OnDestroy cmp eax, WM_TIMER jz .OnTimer cmp eax, WM_CREATE jz .OnCreate cmp eax, WM_KEYFIRST jz .OnKeyFirst invoke DefWindowProc, [hWnd], [uMsg], [wParam], [lParam] jmp WindowProcExit .OnKeyFirst: cmp [wParam], VK_ESCAPE jnz WindowProcRet jmp .OnDestroy .OnCreate: invoke GetDC, [hWnd] mov [hDC1], eax invoke CreateCompatibleDC, [hDC1] mov [hDC2], eax invoke CreateDIBSection, [hDC1], bmi, 0, ppvBits, 0, 0 mov [hGdiObject1], eax invoke SelectObject, [hDC2], [hGdiObject1] mov [hGdiObject3], eax invoke CreateCompatibleDC, [hDC1] mov [hDC3], eax invoke CreateCompatibleBitmap, [hDC1], XLEN, YLEN mov [hBitmap1], eax invoke SelectObject, [hDC3], [hBitmap1] mov [hGdiObject2], eax stdcall CFProc1 stdcall CFProc2 stdcall CFProc4, [hWnd] invoke ReleaseDC, [hWnd], [hDC1] invoke SetTimer, [hWnd], 1, ELAPSE, NULL jmp WindowProcRet .OnTimer: invoke InvalidateRect, [hWnd], NULL, FALSE jmp WindowProcRet .OnEraseBkgnd: mov eax, 1 jmp WindowProcRet .OnPaint: invoke BeginPaint, [hWnd], ps mov [hDC1], eax stdcall CFProc3 invoke BitBlt, [hDC3], 0, 0, XLEN, YLEN, [hDC2], 0, 0, SRCCOPY invoke BitBlt, [hDC1], 0, 0, XLEN, YLEN, [hDC3], 0, 0, SRCCOPY invoke EndPaint, [hWnd], ps jmp WindowProcRet .OnDestroy: invoke KillTimer, [hWnd], 1 invoke SelectObject, [hDC3], [hGdiObject2] invoke DeleteObject, [hBitmap1] invoke DeleteDC, [hDC3] invoke SelectObject, [hDC2], [hGdiObject3] invoke DeleteDC, [hDC2] invoke DeleteObject, [hGdiObject1] invoke DestroyWindow, [hWnd] invoke PostQuitMessage, 0 WindowProcRet: xor eax, eax WindowProcExit: ret endp proc CFProc1 mov esi, 0 mov ecx, 20h CFProc101: mov eax, 20h sub eax, ecx mov [byValue3 + esi], al mov [byValue2 + esi], al mov byte [byValue1 + esi], 28h mov byte [byValue4 + esi], 0 add esi, 4 loop CFProc101 ret endp proc CFProc2 locals dwVar1 dd ? endl mov esi, TableH mov [dwVar1], 2710h mov ecx, 0 fild [dwVar1] fld st0 CFProc201: mov eax, 0CAh sub eax, ecx add eax, 2 mov [dwVar1], eax fidiv [dwVar1] fstp dword [esi] wait fld st0 add esi, 4 inc ecx cmp ecx, 0C8h jnz CFProc201 ffree st1 ffree st0 fldpi push 0B4h fidiv dword [esp] pop eax fld st0 mov ecx, 0 CFProc202: mov ebx, ecx shl ebx, 2 push ecx fimul dword [esp] pop eax fsincos fst dword [ebx + Table1] wait push 140h fidiv dword [esp] fstp dword [ebx + Table3] wait fst dword [ebx + Table2] wait fidiv dword [esp] fstp dword [ebx + Table4] wait pop eax fld st0 inc ecx cmp ecx, 168h jnz CFProc202 ffree st1 ffree st0 ret endp proc CFProc3 locals dwVar1 dd ? dwVar2 dd ? dwVar3 dd ? dwVar4 dd ? dwVar5 dd ? dwVar6 dd ? dwVar7 dd ? dwVar8 dd ? dwVar9 dd ? endl mov eax, 500h mov [dwVar1], eax mov eax, 0F9AFCh mov [dwVar2], eax mov ecx, 0FFFFFEC0h CFProc301: mov esi, dword [bmi.bmiColors.rgbBlue] shl esi, 2 push ecx fld dword [esi + Table4] fimul dword [esp] fld dword [esi + Table1] fsub st0, st1 ffree st1 fstp [dwVar3] wait fld dword [esi + Table3] fimul dword [esp] fadd dword [esi + Table2] fstp [dwVar4] wait pop eax mov esi, ecx shl esi, 2 mov eax, [dwVar1] add eax, esi mov [dwVar5], eax mov eax, [dwVar2] add eax, esi mov [dwVar6], eax mov [dwVar9], 0FFFFFF9Ch mov ebx, 0 CFProc302: mov edi, ebx shl edi, 2 fld dword [edi + TableH] fmul [dwVar3] fiadd [dwValue1] fistp [dwVar7] wait and [dwVar7], 1Fh fld dword [edi + TableH] fmul [dwVar4] fiadd [dwValue2] fistp [dwVar8] wait mov edi, [dwVar8] and edi, 1Fh shl edi, 5 add edi, [dwVar7] shl edi, 2 mov eax, [EdiTable + edi] movzx esi, al sub esi, [dwVar9] jge CFProc303 xor esi, esi CFProc303: movzx edx, ah sub edx, [dwVar9] jge CFProc304 xor edx, edx CFProc304: shl edx, 8 shr eax, 10h sub eax, [dwVar9] jge CFProc305 xor eax, eax CFProc305: shl eax, 10h or eax, edx or eax, esi mov edi, dword [ppvBits] mov esi, edi add edi, [dwVar5] add esi, [dwVar6] mov [edi], eax mov [edi+4], eax mov [esi], eax mov [esi+4], eax add [dwVar5], 0A00h sub [dwVar6], 0A00h inc [dwVar9] inc ebx cmp ebx, 0B4h jnz CFProc302 inc ecx cmp ecx, 140h jnz CFProc301 add [dwValue2], 2 add [dwValue1], 2 mov eax, dword [bmi.bmiColors.rgbBlue] add eax, 2 mov ebx, 168h xor edx, edx div ebx mov dword [bmi.bmiColors.rgbBlue], edx ret endp proc CFProc4 uses ebx ecx edx esi edi, hWnd locals dwVar1 dd ? dwVar2 dd ? dwVar3 dd ? X dd ? Y dd ? endl invoke GetSystemMetrics, SM_CYCAPTION mov [dwVar1], eax invoke GetSystemMetrics, SM_CXFIXEDFRAME mov [dwVar3], eax shl [dwVar3], 1 invoke GetSystemMetrics, SM_CYFIXEDFRAME mov [dwVar2], eax invoke GetSystemMetrics, SM_CXSCREEN mov ecx, XLEN add ecx, [dwVar3] sub eax, ecx shr eax, 1 mov [X], eax invoke GetSystemMetrics, SM_CYSCREEN mov ecx, YLEN add ecx, [dwVar1] add ecx, [dwVar2] sub eax, ecx mov ecx, 3 sub edx, edx div ecx mov [Y], eax mov ebx, XLEN add ebx, [dwVar3] ; cx mov eax, YLEN add eax, [dwVar1] add eax, [dwVar2] ; cy invoke SetWindowPos, [hWnd], HWND_TOP, [X], [Y], ebx, eax, SWP_NOZORDER ret endp EdiTable: dd 0x0003A3A03, 0x0003F3F20, 0x0003F3F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x0003F3F20 dd 0x0003F3F20, 0x000303F20, 0x000303F20, 0x0003F3F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x0003F3F20, 0x000303F20 dd 0x000303F20, 0x00000203F, 0x000303F20, 0x000303F20, 0x000303F20, 0x00020003F, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x00020003F, 0x000303F20, 0x00020003F, 0x00020003F, 0x00020003F, 0x000303F20, 0x000303F20 dd 0x00020003F, 0x000303F20, 0x000303F20, 0x000303F20, 0x00020003F, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x00020003F, 0x00020003F, 0x00020003F, 0x00020003F, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x00020003F, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x00020003F, 0x000303F20, 0x00020003F, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x00020003F, 0x000303F20, 0x000303F20, 0x000303F20, 0x00020003F, 0x000303F20, 0x000303F20, 0x00020003F dd 0x00020003F, 0x000303F20, 0x000303F20, 0x000303F20, 0x00020003F, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x00000203F, 0x000303F20, 0x000303F20, 0x000303F20, 0x00020003F, 0x00020003F, 0x00020003F dd 0x00020003F, 0x00020003F, 0x000303F20, 0x00020003F, 0x00020003F, 0x00020003F, 0x000303F20, 0x000303F20 dd 0x00020003F, 0x000303F20, 0x000303F20, 0x000303F20, 0x00020003F, 0x000303F20, 0x000303F20, 0x00020003F dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x00020003F, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x00000203F, 0x000303F20, 0x000303F20, 0x000303F20, 0x00020003F, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x00020003F, 0x000303F20, 0x00020003F, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x00020003F, 0x000303F20, 0x000303F20, 0x000303F20, 0x00020003F, 0x000303F20, 0x000303F20, 0x00020003F dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x00020003F, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x00020003F, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x00020003F, 0x000303F20, 0x00020003F, 0x00020003F, 0x00020003F, 0x000303F20, 0x000303F20 dd 0x00020003F, 0x000303F20, 0x000303F20, 0x000303F20, 0x00020003F, 0x000303F20, 0x000303F20, 0x00020003F dd 0x000303F20, 0x000303F20, 0x000303F20, 0x00020003F, 0x00020003F, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x00000203F, 0x000303F20, 0x000303F20, 0x000303F20, 0x00020003F, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x00020003F, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x00020003F, 0x00020003F, 0x00020003F, 0x000303F20, 0x00020003F, 0x00020003F, 0x00020003F, 0x000303F20 dd 0x00020003F, 0x00020003F, 0x00020003F, 0x00020003F, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x00000203F, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x00000203F, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x00000203F, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x00000203F, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x0003F003F, 0x0003F003F dd 0x0003F003F, 0x0003F003F, 0x0003F003F, 0x000303F20, 0x0003F003F, 0x0003F003F, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x0003F003F, 0x0003F003F, 0x0003F003F, 0x000303F20, 0x000303F20, 0x0003F003F, 0x0003F003F dd 0x000303F20, 0x000303F20, 0x000303F20, 0x0003F003F, 0x0003F003F, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x00000203F, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x0003F003F, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x0003F003F, 0x0003F003F, 0x000303F20, 0x000303F20 dd 0x0003F003F, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x0003F003F, 0x0003F003F dd 0x000303F20, 0x000303F20, 0x000303F20, 0x0003F003F, 0x0003F003F, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x00000203F, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x0003F003F, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x0003F003F, 0x000303F20, 0x0003F003F, 0x000303F20, 0x000303F20 dd 0x0003F003F, 0x0003F003F, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x0003F003F, 0x000303F20 dd 0x0003F003F, 0x000303F20, 0x0003F003F, 0x000303F20, 0x0003F003F, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x00000203F, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x0003F003F, 0x0003F003F dd 0x0003F003F, 0x000303F20, 0x000303F20, 0x0003F003F, 0x000303F20, 0x000303F20, 0x0003F003F, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x0003F003F, 0x0003F003F, 0x000303F20, 0x000303F20, 0x0003F003F, 0x000303F20 dd 0x0003F003F, 0x000303F20, 0x0003F003F, 0x000303F20, 0x0003F003F, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x00000203F, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x0003F003F, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x0003F003F, 0x0003F003F, 0x0003F003F, 0x0003F003F, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x0003F003F, 0x000303F20, 0x000303F20, 0x0003F003F, 0x000303F20 dd 0x0003F003F, 0x000303F20, 0x0003F003F, 0x000303F20, 0x0003F003F, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x00000203F, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x0003F003F, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x0003F003F, 0x000303F20, 0x000303F20, 0x000303F20, 0x0003F003F, 0x000303F20 dd 0x0003F003F, 0x0003F003F, 0x0003F003F, 0x000303F20, 0x000303F20, 0x000303F20, 0x0003F003F, 0x000303F20 dd 0x000303F20, 0x0003F003F, 0x000303F20, 0x000303F20, 0x0003F003F, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x00000203F, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x00000203F, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x00000203F, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x00000203F, 0x000303F20, 0x000200010, 0x000200010, 0x000200010, 0x000303F20, 0x000200010 dd 0x000200010, 0x000200010, 0x000303F20, 0x000200010, 0x000303F20, 0x000303F20, 0x000303F20, 0x000200010 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000200010, 0x000200010, 0x000200010, 0x000303F20, 0x000303F20 dd 0x000200010, 0x000303F20, 0x000303F20, 0x000200010, 0x000303F20, 0x000303F20, 0x000303F20, 0x000200010 dd 0x000303F20, 0x00000203F, 0x000303F20, 0x000200010, 0x000303F20, 0x000303F20, 0x000303F20, 0x000200010 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000200010, 0x000303F20, 0x000303F20, 0x000303F20, 0x000200010 dd 0x000303F20, 0x000303F20, 0x000200010, 0x000303F20, 0x000303F20, 0x000303F20, 0x000200010, 0x000303F20 dd 0x000303F20, 0x000200010, 0x000303F20, 0x000200010, 0x000200010, 0x000303F20, 0x000303F20, 0x000200010 dd 0x000303F20, 0x00000203F, 0x000303F20, 0x000200010, 0x000200010, 0x000200010, 0x000303F20, 0x000200010 dd 0x000200010, 0x000200010, 0x000303F20, 0x000200010, 0x000303F20, 0x000303F20, 0x000303F20, 0x000200010 dd 0x000303F20, 0x000303F20, 0x000200010, 0x000303F20, 0x000303F20, 0x000303F20, 0x000200010, 0x000303F20 dd 0x000303F20, 0x000200010, 0x000303F20, 0x000200010, 0x000200010, 0x000303F20, 0x000200010, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000200010, 0x000303F20, 0x000303F20, 0x000303F20, 0x000200010 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000200010, 0x000303F20, 0x000303F20, 0x000303F20, 0x000200010 dd 0x000303F20, 0x000303F20, 0x000200010, 0x000303F20, 0x000303F20, 0x000303F20, 0x000200010, 0x000303F20 dd 0x000303F20, 0x000200010, 0x000303F20, 0x000200010, 0x000200010, 0x000303F20, 0x000200010, 0x000303F20 dd 0x000303F20, 0x00000203F, 0x000303F20, 0x000200010, 0x000303F20, 0x000303F20, 0x000303F20, 0x000200010 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000200010, 0x000303F20, 0x000303F20, 0x000303F20, 0x000200010 dd 0x000303F20, 0x000303F20, 0x000200010, 0x000303F20, 0x000303F20, 0x000303F20, 0x000200010, 0x000303F20 dd 0x000303F20, 0x000200010, 0x000200010, 0x000303F20, 0x000303F20, 0x000200010, 0x000200010, 0x000303F20 dd 0x000303F20, 0x00000203F, 0x000303F20, 0x000200010, 0x000303F20, 0x000303F20, 0x000303F20, 0x000200010 dd 0x000200010, 0x000200010, 0x000303F20, 0x000200010, 0x000200010, 0x000200010, 0x000303F20, 0x000200010 dd 0x000200010, 0x000200010, 0x000303F20, 0x000200010, 0x000200010, 0x000200010, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000200010, 0x000303F20, 0x000303F20, 0x000200010, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x00000203F, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x0003F3F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x0003F3F20, 0x000303F20 dd 0x000303F20, 0x0003F3F20, 0x0003F3F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x0003F3F20 dd 0x0003F3F20, 0x0003A3A03, 0x0003F3F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20 dd 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x000303F20, 0x0003F3F20 dd 0x0003A3A03, 0x000000000 .end start


4/29/2013 - Changed strTitle.


Last edited by Walter on 29 Apr 2013, 16:29; edited 1 time in total
Post 15 Apr 2013, 18:27
View user's profile Send private message Reply with quote
MHajduk



Joined: 30 Mar 2006
Posts: 5976
Location: Poland
Good work, Walter, very good. Smile

BTW, I wonder, have you used IDA to disassemble?
Post 15 Apr 2013, 19:19
View user's profile Send private message Visit poster's website Reply with quote
HaHaAnonymous



Joined: 02 Dec 2012
Posts: 1171
Location: Unknown
Stupid post removed.


Last edited by HaHaAnonymous on 28 Feb 2015, 21:04; edited 1 time in total
Post 15 Apr 2013, 20:05
View user's profile Send private message Reply with quote
baldr



Joined: 19 Mar 2008
Posts: 1651
MHajduk,

I do. It's invaluable tool (though costly).

----8<----
Walter,

You're just awesome! I can't handle that code w/o urge to puke. Wink
Post 15 Apr 2013, 20:15
View user's profile Send private message Reply with quote
Walter



Joined: 26 Jan 2013
Posts: 128
@MHajduk

> have you used IDA to disassemble?

Wonder what gave that away?

Unoriginal variable names?
Bad label names?
But yes and yes, that tool is good.

What really should be here are examples
that have the quality of what you write!

That is, orginal code, good variable names
and comments. You can learn much from
example code.

@baldr

Just shows much of what you've pointed out already.

@HaHa

I like your definition of Example.

"It can't be considered an example without source.
Post 15 Apr 2013, 20:22
View user's profile Send private message Reply with quote
baldr



Joined: 19 Mar 2008
Posts: 1651
Walter wrote:
@HaHa

I like your definition of Example.

"It can't be considered an example without source.
Without proper comments it's just a source waiting for compilation. Not an example.
Post 15 Apr 2013, 20:32
View user's profile Send private message Reply with quote
MHajduk



Joined: 30 Mar 2006
Posts: 5976
Location: Poland
Walter wrote:
@MHajduk

> have you used IDA to disassemble?

Wonder what gave that away?

Unoriginal variable names?
Bad label names?
But yes and yes, that tool is good.
I made a few (successful) attempts to disassemble some codes posted here, on this forum (one of them was avcaballero's too, but not the presented above), so I got the overall style of the IDA's disassembly listings. Wink

Walter wrote:
What really should be here are examples
that have the quality of what you write!

That is, orginal code, good variable names
and comments. You can learn much from
example code.
Absolutely agree with you at that point. Smile
Post 15 Apr 2013, 20:36
View user's profile Send private message Visit poster's website Reply with quote
baldr



Joined: 19 Mar 2008
Posts: 1651
MHajduk,

RE requires hard teeth and strong butt to sit some time on. Wink
Post 15 Apr 2013, 20:50
View user's profile Send private message Reply with quote
MHajduk



Joined: 30 Mar 2006
Posts: 5976
Location: Poland
baldr wrote:
MHajduk,

RE requires hard teeth and strong butt to sit some time on. Wink
Yeah, that's true. Wink
Post 15 Apr 2013, 20:51
View user's profile Send private message Visit poster's website Reply with quote
HaHaAnonymous



Joined: 02 Dec 2012
Posts: 1171
Location: Unknown
Stupid post removed.


Last edited by HaHaAnonymous on 28 Feb 2015, 21:04; edited 1 time in total
Post 15 Apr 2013, 21:22
View user's profile Send private message Reply with quote
avcaballero



Joined: 02 Feb 2004
Posts: 163
Location: Madrid - Spain
Walter, good work!, you have entered in the lamers club. I have noticed that you have deleted any copyright notice... I wonder if you know that it is an illegal activity, at least in my country, don't know in yours... Anyway, don't
worry, I will ask nothing of course, after all I was to release it on free, and nothing new under the sky.

Do you create anything or only work on hacking things?

I don't like persons that recover things compulsively, have a glance at them and throw to the bin... neither persons who don't credit... It is a matter of personal culture, I guess.

Well, I'm working on windows demo tutorial and, when finished, uploaded it to my own site as others that I did before; but looking guys as you, removed me the desire to share it.

Don't know what happens with this forum, but lately I can't get into here. In light of recent events, I think that would be best. I think that fasm is one of the best assemblers, other thing is people here...

Have a nice day fellows

PD. Surely I can't answer you because it is hard to me to get into here... Anyway any news from me I take care of take it to another site Wink
Post 21 Apr 2013, 11:48
View user's profile Send private message Visit poster's website Reply with quote
HaHaAnonymous



Joined: 02 Dec 2012
Posts: 1171
Location: Unknown
Stupid post removed.


Last edited by HaHaAnonymous on 28 Feb 2015, 20:58; edited 1 time in total
Post 21 Apr 2013, 16:03
View user's profile Send private message Reply with quote
uart777



Joined: 17 Jan 2012
Posts: 369
avcaballero: Muy bien, Amigo! Smile Tiene el codigo?

Check out comrade's graphics examples: http://comrade.ownz.com/intros.html He's really good. I was inspired by him to create a website and share my code.

Have a good day.

PS: Previews of my latest project: http://sungod777.zxq.net/codeviewp.jpg Improved themes, dynamic font zoom, etc. R.I.P Stale-Lib. Deprecated by the power of Z77.
Post 22 Apr 2013, 07:11
View user's profile Send private message Reply with quote
uart777



Joined: 17 Jan 2012
Posts: 369
Walter:
Quote:
What really should be here are examples that have the quality of what you write!
Yeah, not just a little DOS example that uses the internal PC speaker. Not impressed. Not "original", nothing special. Practice what you preach. What avcaballero presented here is infinitely superior to anything your small mind could ever produce.
Post 22 Apr 2013, 07:12
View user's profile Send private message Reply with quote
HaHaAnonymous



Joined: 02 Dec 2012
Posts: 1171
Location: Unknown
Stupid post removed.


Last edited by HaHaAnonymous on 28 Feb 2015, 20:57; edited 1 time in total
Post 22 Apr 2013, 15:34
View user's profile Send private message Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1904
It worx ... both the binary and the source ... despite they don't match Smile
Post 28 Apr 2013, 15:05
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page 1, 2  Next

< Last Thread | Next Thread >

Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 2004-2018, Tomasz Grysztar.

Powered by rwasa.