foxthree
September 8th, 2002, 16:36
Hi PPl:
Firstly, Hiya +SplAj guru
Glad to see you're back ... Now thingz get interesting
...
OKey, I've managed to "fix" an application so that it is completed unpacked and regged. Now what I want to do is to make a patch for it.
But, the packer is our fav. ASPR and the proggie itself is doing lot of CRC checks of code. I have all the original CRC bytes and need to poke it into the memory using a loader.
My idea is as follows:
(1) Break at the OEP of the proggie (After ASPR does its job)
(2) Alloc Memory in the Target app and write original CRC values
(3) Modify the CRC checker code to read this CRC values instead of computing it
(4) Regg the application (Memory writes)
I've written the loader using the Debugger approach and it works perfectly fine. I am able to break at the OEP (after ASPR does its work) so now I just have to poke the correct CRC values. But question is where do I store these values. I try to call VirtualAllocEx but it fails with error code = 120 (This Op. is valid only on Win32??? whatever that means
)
Can somebody help??? I believe AIPH is used to make patches for ASPRed apps. But I try with latest AIPH version and they fail.
Also can I create a section and write the CRC values there? If yes, is there a library out there that can add sections to PE file programatically. I did find some sample code on Icz. web site but it doesn't work on target (ASPR says File Corrupt
)
Signed,
-- FoxThree
Firstly, Hiya +SplAj guru


OKey, I've managed to "fix" an application so that it is completed unpacked and regged. Now what I want to do is to make a patch for it.
But, the packer is our fav. ASPR and the proggie itself is doing lot of CRC checks of code. I have all the original CRC bytes and need to poke it into the memory using a loader.
My idea is as follows:
(1) Break at the OEP of the proggie (After ASPR does its job)
(2) Alloc Memory in the Target app and write original CRC values
(3) Modify the CRC checker code to read this CRC values instead of computing it
(4) Regg the application (Memory writes)
I've written the loader using the Debugger approach and it works perfectly fine. I am able to break at the OEP (after ASPR does its work) so now I just have to poke the correct CRC values. But question is where do I store these values. I try to call VirtualAllocEx but it fails with error code = 120 (This Op. is valid only on Win32??? whatever that means

Can somebody help??? I believe AIPH is used to make patches for ASPRed apps. But I try with latest AIPH version and they fail.
Also can I create a section and write the CRC values there? If yes, is there a library out there that can add sections to PE file programatically. I did find some sample code on Icz. web site but it doesn't work on target (ASPR says File Corrupt

Signed,
-- FoxThree