Menu

Tree [r82] /
 History

HTTPS access


File Date Author Commit
 App Website 2011-11-29 redllar [r82]
 Distributions 2011-11-29 redllar [r82]
 Notes 2010-11-19 redllar [r1]
 Projects 2011-11-29 redllar [r82]
 Source 2011-11-29 redllar [r82]
 SourceForLibs 2011-11-29 redllar [r82]
 Testbed 2011-10-14 redllar [r80] See the root readme.txt for info on significant...
 desktop.ini 2010-11-19 redllar [r1]
 readme.txt 2011-10-23 redllar [r81] This checkin mostly finalizes the addition of 6...

Read Me

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
This package is not an end-user distribution. It is intended only for C/C++
developers. There are no executables, docs, etc. It contains only the source
and project files necessary to build the JauntePE executables and runtimes,
and to set up the JauntePE end-user web site.

No testing of any kind was done on any of the builds other than those produced
with VC++ 6.0. The only testing done for those builds was with the executables
included in the JPE 0.6.0 "nightly" distros. No guarantees of any kind are made
for any of the builds.

--------------------------------------------------------------------------------
The checkin made on October 23, 2011 mostly finalizes the addition of 64 bit
app support to the project with regards to api hooking. A new modified MinHook
api hooking library was added and is now the method used by default for both 32
and 64 bit modes.

The jauntePE runtime currently has no way to portablize 64 bit apps from a 32
bit runtime nor portablize 32 bit apps from a 64 bit runtime. The gui currently
has no way to add 32 bit runtime support to a package unless a 32 bit app is
to be launched. The same applies to 64 bit runtime support. The gui and the
launcher currently have no way to launch the native-bit version of a dual-bit-
mode app.

--------------------------------------------------------------------------------
The checkin made on October 14, 2011 includes a number of mods to all of the
executables for this project for new functionality not found in the "nightly"
distribution.

More work was done on 64 bit app support via mingw64/gcc. The JauntePE gui was
modified to support both 32 bit and 64 bit apps in the same package, as was the
launcher and the runtime. All seems to be working okay except for the runtime.
The runtime's 64 bit injector code seems to be working fine but the 64 bit api
hooking needs a lot of work or replacement, as it's causing the runtime
initialization to crash during the application of the api hooks. See the
jauntePErt::main.cpp source file for more info on the reasons why and a possible
solution using a different api hooking library.

The gui now expects there to be a JPEPortable32.exe and a JPEPortable64.exe in
the Toolbox folder. It also expects there to be a jauntePE32.dll and a
jauntePE64.dll in each of the Runtime\jauntePE\log and min folders.

The portable file system hierarchy, package configs, and jauntePE runtime were
also modified to better support portability across config types and OS versions,
especially with regards to CDrive and Users folders app use.

There are also a number of miscellaneous enhancements as well as continued work
on previously added enhancements. Some are in a useable state now. Some are not.

Due to these significant changes, there currently is no support for editing
and/or upgrading packages built outside of this version. Hopefully this will be
added later but not before the 64 bit app support is "put to bed."

--------------------------------------------------------------------------------
The checkin made on July 22, 2011 includes a number of mods to the JPE gui for
new functionality not found in the "nightly" distribution.

There were also a number of simple mods made to make the entire codebase build-
able using mingw32/gcc, as well as some mods to begin adding 64 bit support
using mingw64/gcc. None of these mods were ever tested.

--------------------------------------------------------------------------------
A Testbed folder is available for running tests for a distro-type folder layout.
Copy your built JauntePE.exe to that folder. Copy your built JPEPortable.exe to
the Toolbox folder. Copy your built jauntePE.dlls to the appropriate Runtime
jauntePE version subfolder.

--------------------------------------------------------------------------------
- VC++ 6.0 usage
  - use the JauntePE MS VC++ 6 Workspace found in JauntePE\Projects\VC06
  - STLport 5.1.5 is used as a replacement for all of VC's STL functionality
  - the Include directory list order is as follows (first to last)
    - stlport directory for STLport
    - include directory for August 2004 MS Platform SDK (aka Windows XP SP2 SDK)
    - include directory for May 2002 MS Platform SDK
    - the normal VC++ 6.0 include directories
  - the Lib directory list order is as follows (first to last)
    - lib directory for May 2002 MS Platform SDK
    - lib directory for August 2004 MS Platform SDK
    - the normal VC++ 6.0 lib directories
  - gringoloco has indicated that it's also possible to just use the Microsoft
    Platform SDK for Windows Server 2003 R2, which is still available from
    Microsoft as of this writing, instead of the above 2 mentioned SDKs

--------------------------------------------------------------------------------
- Visual C++ 2008 Express SP1 usage
  - use the JauntePE MS Visual Studio solution found in JauntePE\Projects\VC08
  - STLport 5.1.5 maybe be optionally used as a replacement for all of VC's STL
    functionality, but is not required, except as noted below
  - the linker output 6 unresolved external symbol __imp___CrtDbgReportW errors
    for the JauntePE - DebugU build - there are 14 .cpp sources - no other build
    generated this error - I have no clue why the reference is unresolved other
    than it is associated with the use of the MS supplied STL, since including
    the STLport\stlport directory (first) does not generate the errors

--------------------------------------------------------------------------------
- Visual C++ 2010 Express usage
  - use the JauntePE MS Visual Studio solution found in JauntePE\Projects\VC10
  - STLport 5.1.5 maybe be optionally used as a replacement for all of VC's STL
    functionality, but is not required, except as noted below
  - the linker output 6 unresolved external symbol __imp___CrtDbgReportW errors
    for the JauntePE - DebugU build - there are 14 .cpp sources - no other build
    generated this error - I have no clue why the reference is unresolved other
    than it is associated with the use of the MS supplied STL, since including
    the STLport\stlport directory (first) does not generate the errors

NOTE: The VC10 project is no longer up-to-date with regards to the list of files
      that need to be compiled. I can no longer modify the project since I do
      not wish to register with MS just to get use back for an IDE that I do not
      use outside of this project. The VC08 project is up-to-date, however, so
      you should be able to use it to come up with the list of required files.

--------------------------------------------------------------------------------
- Code::Block 10.05 usage
  - only tested using the distributed mingw32 files and gcc build tools
  - use the JauntePE Code::Block workspace found in JauntePE\Projects\CB10
  - STLport 5.1.5 should be used as a replacement for gcc's STL implementation
  - only the diStorm3, JauntePE, jauntePErt, and JPEPortable projects are usable
    (as of this writing, all of the VC++ targeted builds are now buildable via
    C::B projects as well, including 2 64 bit targeted builds as noted below)
  - All built executables are considerably larger than their VC++ counterparts
  - Using STLport will produce the smallest executables, but will generate a
    number of "might be used uninitialized in this function" warnings
  - the built JauntePE executable requires the unzip32.dll in its directory
    in order to load and run (the ld tool has no delay loading capability and
    the JPE codebase was not modified to dynamically load this dll when needed)

--------------------------------------------------------------------------------
- Code::Block 10.05 usage for Win64 build targets
  - Win64 build targets were added for the jauntePErt and JPEPortable projects
  - the mingw-w64-1.0-bin_i686-mingw_20110620 distro was used to create the
    "GNU GCC 64 Compiler" that the Win64 build targets make use of - this tool
    chain selection was created by first copying the included C::B "GNU GCC
    Compiler" and then retargeted for an AMD64 bit build using the above
    mentioned mingw Win64 targeting tools
  - the JPE runtime dll and launcher executable were successfully built but no
    testing was done on them as of this writing - I believe the injector code
    mods may be sufficient, but there is work left to be done with the api
    hooking functions to make them Win64/AMD64 usable