Tienes un string que deseas insertar en un array. Para esto, necesitas recorrer los caracteres del string 1x1 e insertarlos en el array.
En el ejemplo, j va desde 1 (el primer char del string) hasta el largo (len) del mismo. Ahora, en TU ejemplo pusiste que deseabas comenzar a insertar elementos desde la posicion 1846824. Si tengo un contador (j) que va desde 1 hasta n, entonces si quiero contar desde 1846824 hasta 1846824 + n, lo que hago es: 1846823 + j (j se incrementa en 1 en cada vuelta del for).
Se entiende?
Una cosa que deberas tener en cuenta es el tamaño del array. Verifica que tengas espacio suficiente...
1) Busca la direccion de la API en el contexto del proceso. 2) Sobreescribe los primeros bytes, para hacer un salto a la nueva direccion. En mi caso no usaria un salto (porque son relativos a la posicion donde estan), sino que usaria PUSH ADDR + RET.
Por supuesto, para escribir necesita cambiar los permisos de la memoria.
Si pones los chars en un textbox y usas mid para ir tomando 1x1 y asignandole los valores al array (por supuesto, vas a necesitar un indice para ir recorriendolo) podras hacerlo en un par de lineas.
Es claro que si lo colocas en un txtbox, lo colocas en un string...