http://members.home.net/w32dasm/
thats the best disassembler on the market. I have disassembled alot of things and taken the ASM out and used it in my own programs. In C++ there is a _asm scope. this method is used to make KeyGens and what not.
I have also just taken other peoples DLLs, disassembled them and rewrote them in C++, so i have thier DLLs functionality.
i love reverse engineering.
here is an example, this is something where i was just testing a function that was in a DLL to see if i nailed it right:
Code:#include <windows.h> char poo[1000]; void* glob = &poo[0]; void main(){ //glob = malloc(500); _asm{ mov eax, glob mov word ptr [eax + 0x00000180], 0x0000 //holds version mov ecx, glob mov dword ptr [ecx + 0x0000016C], 0x00000000 // tracking options mov edx, glob mov dword ptr [edx + 0x00000170], 0x00000000 mov eax, glob mov dword ptr [eax + 0x00000174], 0x00000000 mov ecx, glob mov dword ptr [ecx + 0x00000178], 0x00000000 mov edx, glob mov dword ptr [edx + 0x0000017C], 0xFFFFFFFF //data block options } int temp = 0x0; _asm{ // set all the enablespys to false jmp DIANE ADDONE: mov eax, temp add eax, 0x00000001 mov temp, eax DIANE: cmp temp, 0x00000054 jge ANDY mov ecx, temp mov edx, glob mov dword ptr [edx + 0x04 * ecx + 0x1C], 0x00000000 jmp ADDONE } ANDY: //free(glob); return; }




Reply With Quote