http://www.tuts4you.com/forum/index.php?showtopic=8657
1, na ep dat FOLLOW IN DUMP/SELECTION:00401000 B8 8C 7E 47 00 ¸Ś~G.2, na byte 0b8 dat hwbp na write - f93, sme tu:003802A1 B9 23000000 MOV ECX,23003802A6 03F2 ADD ESI,EDX003802A8 8B7B 40 MOV EDI,DWORD PTR DS:[EBX+40]003802AB 03FA ADD EDI,EDX003802AD F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI] ;tu sme4, zrusit hbwp na write a dat hwbp na x na 003802A1 - restart a f95, dotrasovat po adresu 003802A8 - v esi je kod kt sa bude kopirovat na 00401000----------TENTO KOD IBA SKOPNE NAHRADNY KOD NA EP PROGRAMU----------1, mame ep prepisany opat dame na ep FOLLOW IN DUMP/SELECTION:00401000 6A 30 07 00 j0.2, na byte 6A dat hwbp na write - f93, sme tu:0038002E 8807 MOV BYTE PTR DS:[EDI],AL00380030 83C7 01 ADD EDI,14, cize toto je kod kt depackuje original kod:00380008 56 PUSH ESI00380009 57 PUSH EDI0038000A 53 PUSH EBX0038000B 55 PUSH EBP0038000C 8B7424 14 MOV ESI,DWORD PTR SS:[ESP+14] ; do ESI sa da buffer kde je kopia kodu sekcie .text00380010 8B7C24 18 MOV EDI,DWORD PTR SS:[ESP+18] ; do EDI da ENTRY POINT cmecka(tj 00401000)00380014 FC CLD00380015 8B1E MOV EBX,DWORD PTR DS:[ESI]00380017 83C6 04 ADD ESI,40038001A 85DB TEST EBX,EBX0038001C 0F84 2A010000 JE 0038014C00380022 BA 00000080 MOV EDX,8000000000380027 03DF ADD EBX,EDI00380029 8A06 MOV AL,BYTE PTR DS:[ESI]0038002B 83C6 01 ADD ESI,10038002E 8807 MOV BYTE PTR DS:[EDI],AL00380030 83C7 01 ADD EDI,100380033 B9 03000000 MOV ECX,300380038 03D2 ADD EDX,EDX0038003A 75 07 JNZ SHORT 003800430038003C 8B16 MOV EDX,DWORD PTR DS:[ESI]0038003E 8D76 04 LEA ESI,DWORD PTR DS:[ESI+4]00380041 13D2 ADC EDX,EDX00380043 ^ 73 E4 JNB SHORT 0038002900380045 3BFB CMP EDI,EBX00380047 0F83 FF000000 JNB 0038014C0038004D 53 PUSH EBX0038004E 55 PUSH EBP0038004F 57 PUSH EDI00380050 BB 01000000 MOV EBX,100380055 33ED XOR EBP,EBP00380057 8BC3 MOV EAX,EBX00380059 8D7C1D 00 LEA EDI,DWORD PTR SS:[EBP+EBX]0038005D 8BEB MOV EBP,EBX0038005F 8BDF MOV EBX,EDI00380061 03D2 ADD EDX,EDX00380063 75 07 JNZ SHORT 0038006C00380065 8B16 MOV EDX,DWORD PTR DS:[ESI]00380067 8D76 04 LEA ESI,DWORD PTR DS:[ESI+4]0038006A 13D2 ADC EDX,EDX0038006C ^ 73 EB JNB SHORT 003800590038006E 8D5C3D 00 LEA EBX,DWORD PTR SS:[EBP+EDI]00380072 03C7 ADD EAX,EDI00380074 8BEF MOV EBP,EDI00380076 03D2 ADD EDX,EDX00380078 75 07 JNZ SHORT 003800810038007A 8B16 MOV EDX,DWORD PTR DS:[ESI]0038007C 8D76 04 LEA ESI,DWORD PTR DS:[ESI+4]0038007F 13D2 ADC EDX,EDX00380081 ^ 73 D6 JNB SHORT 0038005900380083 5F POP EDI00380084 5D POP EBPseksek0038013A 56 PUSH ESI0038013B 8BF7 MOV ESI,EDI0038013D 2BF0 SUB ESI,EAX0038013F F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]00380141 5E POP ESI00380142 B9 02000000 MOV ECX,200380147 ^ E9 ECFEFFFF JMP 003800380038014C 8BC7 MOV EAX,EDI ; tu sa skac ked uz nejde loop(prvy hwbp)0038014E 2B4424 18 SUB EAX,DWORD PTR SS:[ESP+18]00380152 5D POP EBP00380153 5B POP EBX00380154 5F POP EDI00380155 5E POP ESI00380156 C2 0C00 RETN 0C----------TENTO KOD DEPACKUJE KOD----------tak isto opat dat hwbp na write na hned prvy call - FOLLOW IN DUMP - a dat tenbp na hned prvy byte vedla E8;menia sa adresy callo a longjumpovTOTO je ten kod:00380510 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX ; do ebp-8 da imagebase00380513 33C0 XOR EAX,EAX00380515 8945 FC MOV DWORD PTR SS:[EBP-4],EAX00380518 66:8B46 10 MOV AX,WORD PTR DS:[ESI+10]0038051C A9 00020000 TEST EAX,20000380521 0F85 8D000000 JNZ 003805B400380527 A9 08000000 TEST EAX,80038052C 0F84 99000000 JE 003805CB00380532 51 PUSH ECX00380533 56 PUSH ESI00380534 8B7E 08 MOV EDI,DWORD PTR DS:[ESI+8]00380537 33C9 XOR ECX,ECX00380539 0FB75E 12 MOVZX EBX,WORD PTR DS:[ESI+12]0038053D 8B36 MOV ESI,DWORD PTR DS:[ESI]0038053F 0375 F8 ADD ESI,DWORD PTR SS:[EBP-8]00380542 3BCF CMP ECX,EDI00380544 7D 37 JGE SHORT 0038057Dseksek003805CE 49 DEC ECX003805CF ^ 0F85 3EFFFFFF JNZ 00380513003805D5 5E POP ESI003805D6 5F POP EDI003805D7 5B POP EBX003805D8 C9 LEAVE003805D9 C2 0400 RETN 4
no, to je trosku slozitejsi... mas tam X algoritmu na kopresi a jeste je muzes kombinovat , jcalg, aplib, ffce (bez zdrojaku), etc...