flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
revolution 03 Oct 2022, 09:13
You are using send_data as both a buffer and a pointer.
Try something like this: Code: mov ebx.[send_data] nvoke memcpy, ebx, data1, 2 nvoke memcpy, addr ebx+2, data1, 2 ;... invoke HttpSendRequestA, [hora], header, 52, [send_data], 110 |
|||
![]() |
|
GREYSERGING 03 Oct 2022, 09:19
It didn't help, this is my complete code
Last edited by GREYSERGING on 03 Oct 2022, 09:27; edited 1 time in total |
|||
![]() |
|
GREYSERGING 03 Oct 2022, 09:27
Thank you, everything worked out, I initially misunderstood
|
|||
![]() |
|
Overclick 03 Oct 2022, 14:00
You cannot be sure registers still keeping your data after winapi. Also memcpy uses some extra instructions you dont't really need to complete the task. Use movsb(w,d,q) instead.
Code: macro memcopy Dest_addr,Source_addr,len { mov rdi,Dest_addr mov rsi,Source_addr mov rcx,len rep movsb } Or even better Code: macro memcopy Dest_addr,Source_addr,len { mov rdi,Dest_addr mov rsi,Source_addr mov rcx,len shr rcx,3 rep movsq mov rcx,len and rcx,7 rep movsb } |
|||
![]() |
|
revolution 03 Oct 2022, 14:14
Overclick wrote: You cannot be sure registers still keeping your data after winapi. EBX, EDI, ESI & EBP are all guaranteed to be preserved upon return. |
|||
![]() |
|
GREYSERGING 03 Oct 2022, 16:58
Thanks
|
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.