トップページ > プログラム > 2016年10月06日 > LwTuJfQY

書き込み順位&時間帯一覧

29 位/251 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000200002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
プログラミングのお題スレ Part8©2ch.net

書き込みレス一覧

プログラミングのお題スレ Part8©2ch.net
819 :デフォルトの名無しさん[sage]:2016/10/06(木) 19:29:47.14 ID:LwTuJfQY
スタックを操作するプログラムってこんなんでいいのかな?

#include <malloc.h>
#include <stdio.h>
#include <string.h>

unsigned char data[6] = {0x68,0,0,0,0,0xc3};

unsigned int func() {
unsigned int *p;
p = malloc(1024);
memcpy(p,data,6);
*((unsigned int*)&data[1]) = *((unsigned int*)((unsigned int*)(&p) + sizeof(unsigned int*)));
*((unsigned int*)((unsigned int*)(&p) + sizeof(unsigned int*))) = (unsigned int)p;
printf("0x%X\n",*((unsigned int*)((unsigned int*)(&p) + sizeof(unsigned int*))));
return *((unsigned int*)&data[1]);
}

int main(void) {
printf("0x%X\n",func());
return 0;
}
プログラミングのお題スレ Part8©2ch.net
820 :デフォルトの名無しさん[sage]:2016/10/06(木) 19:48:03.50 ID:LwTuJfQY
>>819
すまん、これ間違ってますねぇ・・・
スタックの操作って環境依存な気がするけどどうなんでしょう


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。