[問題] 想請問dll動態庫的建立
開發平台(Platform): (Ex: Win10, Linux, ...)
C語言
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
Gcc
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
N
問題(Question):
最近想利用指標寫dll修改程式
目標是想要主程式進行到一半進行數值修改
步驟:
1.編譯dll檔案,指令:gcc -shared -o change.dll change.c
#include <stdio.h>
#include <stdlib.h>
_declspec(dllexport) void change()
{
int *p = (int *)0x28ff2c;
*p = 500;
}
2.連結以及編譯主程式,指令:gcc -o target.exe target.c -L. -lchange
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
int num = 0;
printf("%x\n", &num);
while(1)
{
num++;
printf("\n%d", num);
Sleep(6000);
}
return 0;
}
最後我的num並沒有被修改,請問是為甚麼呢@@
--
Sent from my Android
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.32.166
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1495194406.A.E67.html
推
05/19 23:10, , 1F
05/19 23:10, 1F
→
05/19 23:23, , 2F
05/19 23:23, 2F
※ 編輯: hpyhacking (42.72.32.166), 05/19/2017 23:23:29
※ 編輯: hpyhacking (42.72.32.166), 05/19/2017 23:24:30
推
05/19 23:40, , 3F
05/19 23:40, 3F
→
05/19 23:40, , 4F
05/19 23:40, 4F
→
05/19 23:41, , 5F
05/19 23:41, 5F
→
05/19 23:42, , 6F
05/19 23:42, 6F
→
05/19 23:43, , 7F
05/19 23:43, 7F
→
05/20 00:09, , 8F
05/20 00:09, 8F
→
05/20 00:10, , 9F
05/20 00:10, 9F
→
05/20 00:10, , 10F
05/20 00:10, 10F
※ 編輯: hpyhacking (42.72.32.166), 05/20/2017 00:19:11
※ 編輯: hpyhacking (220.134.65.240), 05/20/2017 00:27:30
※ 編輯: hpyhacking (220.134.65.240), 05/20/2017 00:31:57
→
05/20 00:35, , 11F
05/20 00:35, 11F
→
05/20 00:35, , 12F
05/20 00:35, 12F
推
05/20 01:00, , 13F
05/20 01:00, 13F
→
05/20 01:00, , 14F
05/20 01:00, 14F
→
05/20 01:01, , 15F
05/20 01:01, 15F
→
05/20 01:03, , 16F
05/20 01:03, 16F
→
05/20 01:34, , 17F
05/20 01:34, 17F
→
05/20 01:35, , 18F
05/20 01:35, 18F
→
05/20 01:40, , 19F
05/20 01:40, 19F
→
05/20 01:58, , 20F
05/20 01:58, 20F
→
05/20 02:08, , 21F
05/20 02:08, 21F
→
05/20 10:30, , 22F
05/20 10:30, 22F
→
05/20 18:35, , 23F
05/20 18:35, 23F
→
05/20 19:01, , 24F
05/20 19:01, 24F
→
05/20 19:01, , 25F
05/20 19:01, 25F