The MASM Forum

Projects => Poasm => Topic started by: Vortex on November 01, 2020, 07:40:45 AM

Title: Strings in the stack
Post by: Vortex on November 01, 2020, 07:40:45 AM
Hello,

Macro to pass strings to the stack :

Code: [Select]
.386
.model flat,stdcall
option casemap:none

ExitProcess PROTO :DWORD
MessageBoxA PROTO :DWORD,:DWORD,:DWORD,:DWORD
MessageBox  EQU <MessageBoxA>
MB_OK       EQU 0

include     StrToStackMacro.inc

includelib  \PellesC\lib\Win\kernel32.lib
includelib  \PellesC\lib\Win\user32.lib

.code

start:

    call    main
    invoke  ExitProcess,0

main PROC

; Dummy local variable
; initializing the stack frame

LOCAL x:DWORD

    mov     x,0
    mov     eax,@StrToStack(<This is a long test string in the stack.>)
    mov     ecx,@StrToStack(<Hello>)
    invoke  MessageBox,0,eax,ecx,MB_OK
    ret

main ENDP   

END start
Title: Re: Strings in the stack
Post by: jj2007 on November 01, 2020, 10:04:54 AM
Looks familiar (http://masm32.com/board/index.php?topic=5799.0) ;-)
Title: Re: Strings in the stack
Post by: Vortex on November 03, 2020, 01:33:51 AM
Hi Jochen,

That's right. Converting the Masm macros to Poasm is problematic in my case. The @CatStr macro is emitting the following error message :

Code: [Select]
POASM: fatal error: Internal error (').
Title: Re: Strings in the stack
Post by: jj2007 on January 07, 2021, 04:35:04 AM
Why the hell does this thread attract the spammer brigade??
Title: Re: Strings in the stack
Post by: Vortex on January 07, 2021, 05:35:04 AM
Hi Jochen,

The spam message is removed. Probably the bots are gaining more capabilities nowadays or they choose randomly a thread to spam.