need help with inline assembly

Hello guys I hope you can help me on this one!

Im having an issue when I want to push callm1

char callm1[33]={'1','7','4','7','F','1','F','2','8','B','C',
'3','5','3','7','E','5','B','7','0',
'F','9','1','5','C','D',
'F','7','B','3','B','0',
'\0'};

CallMethod()
{
__asm push callm1
__asm push [ebp+0x10]
__asm call repsub
__asm or eax, eax
__asm leave
__asm retn
return 1;
}

the result on push callm1
is
dword_10003028 dd 37343731h ; DATA XREF: CallMethod+6<r
.data:1000302C aF1f28bc3537e5b db 'F1F28BC3537E5B70F915CDF7B3B0',0

it only pushes the dd 37343731h..
and i want to push db '1747F1F28BC3537E5B70F915CDF7B3B0',0

I wanted to use callm1 so I can repe cmpsd with another value!

how can I fix it?
Hi!

callm1 is a pointer. push callm1 only will provide the pointer address.
May I ask if are you sure to continue with assembly? What is needed to do in order to discard c / c++?
I wanted to push all of the integers into the stack divived as 32 bit dwords..
but as array of 4 elements
how will I do that?

I tried like this int rawcc[4] = {{1875918404}, {368830292}, {1061577292}, {1081907709}};

but still getting only the first element pushed into the stack {1875918404}
Last edited on
Topic archived. No new replies allowed.