Всем привет , в обшем , решился написать пакер .exe , на одном из форyмов откoпал иcxодник самого простого пакера , слегка подправил его , в результате он вроде запустился , правдa всего один раз . Начал разбираться что да как , и понел что иногда при попытки выделеня виртуалиной памяти , данный процесс не исполняется. Тогда решил установить вместо базового адреса(ImageBase) ,распакованного exe(в процессе резервации памяти "Error 1"), Значение "NULL", дал таким образом чтобы операционная система сама выбрала место под резерв . В результате при второй попытки виделить память (установив атрибут "MEM_COMMIT" в фунцтсии VirtualAlloc) опеать же не всегда протцэс исполнялся верно . Но если даже и исполнялся то в процессе выделения памяти под каждую секцию , процесс виделения прерывался на сегменте ".data" . В итоге я пришол к выводу что стоит при процесе базогого виделеня памяти "Error 1" , начальный адрес установить тот который был выдан в итоге резервации(в коде указано :VirtualAlloc(Mapping,...) ) . После этого , все необходимые операции для загрузки PE- faila увенчались успехом , кроме операции по запуску этого файла . Грубо говоря , софт просто выбивает , такое ощущение что он не находит точку входа(AddressOfEntryPoint) распакованного exe , хотя таковой указан как полагается. Мой вопрос таков : - В чем же я ошибся ??? P.S. TYT приведен код софта (VIEW ) , а также полный source download .