RE FORUM
[REVERSE ENGINEERING] => General Discussion => Topic started by: xexe on June 25, 2008, 07:21:47 PM
-
mate nekdo plz source na jakoukoliv verzi un/pecompact ?
-
Pozri sem:
http://www.tuts4you.com/forum/index.php?showtopic=8657
(nutna registracia)
tiez sa pozri po Yoda UnPECompact vydal to aj so zdrojakmi ale jeho stranka je uz davno down, skus mu napisat, da sa s nim komunikovat raz som nieco od neho chcel a bol celkom ochotny ... (pravdepodobne to bude ale na staru verziu)
-
jo dik.. to je prave vec co nechci :) ... ceka az se aplikacka rozbali sama jako to dela olly script na pecompact.. ja bych potreboval abych ji rozbalil externe (bez spusteni zapackovaneho souboru)
-
update: hledam to na verzi 2.xx
-
No na par sekund som sa na to kukol(ale fakt len par sekund). Tu je par dristov(moje l33t poznamky - ak z toho nic nepochopis, tak si z toho nic nerob lebo ani ja by som z toho nic nechapal keby som to sam nepisal :p - mozno ti budu naprt ale mozno ani nie :D ):
1, na ep dat FOLLOW IN DUMP/SELECTION:
00401000 B8 8C 7E 47 00 ¸Ś~G.
2, na byte 0b8 dat hwbp na write - f9
3, sme tu:
003802A1 B9 23000000 MOV ECX,23
003802A6 03F2 ADD ESI,EDX
003802A8 8B7B 40 MOV EDI,DWORD PTR DS:[EBX+40]
003802AB 03FA ADD EDI,EDX
003802AD F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI] ;tu sme
4, zrusit hbwp na write a dat hwbp na x na 003802A1 - restart a f9
5, 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 - f9
3, sme tu:
0038002E 8807 MOV BYTE PTR DS:[EDI],AL
00380030 83C7 01 ADD EDI,1
4, cize toto je kod kt depackuje original kod:
00380008 56 PUSH ESI
00380009 57 PUSH EDI
0038000A 53 PUSH EBX
0038000B 55 PUSH EBP
0038000C 8B7424 14 MOV ESI,DWORD PTR SS:[ESP+14] ; do ESI sa da buffer kde je kopia kodu sekcie .text
00380010 8B7C24 18 MOV EDI,DWORD PTR SS:[ESP+18] ; do EDI da ENTRY POINT cmecka(tj 00401000)
00380014 FC CLD
00380015 8B1E MOV EBX,DWORD PTR DS:[ESI]
00380017 83C6 04 ADD ESI,4
0038001A 85DB TEST EBX,EBX
0038001C 0F84 2A010000 JE 0038014C
00380022 BA 00000080 MOV EDX,80000000
00380027 03DF ADD EBX,EDI
00380029 8A06 MOV AL,BYTE PTR DS:[ESI]
0038002B 83C6 01 ADD ESI,1
0038002E 8807 MOV BYTE PTR DS:[EDI],AL
00380030 83C7 01 ADD EDI,1
00380033 B9 03000000 MOV ECX,3
00380038 03D2 ADD EDX,EDX
0038003A 75 07 JNZ SHORT 00380043
0038003C 8B16 MOV EDX,DWORD PTR DS:[ESI]
0038003E 8D76 04 LEA ESI,DWORD PTR DS:[ESI+4]
00380041 13D2 ADC EDX,EDX
00380043 ^ 73 E4 JNB SHORT 00380029
00380045 3BFB CMP EDI,EBX
00380047 0F83 FF000000 JNB 0038014C
0038004D 53 PUSH EBX
0038004E 55 PUSH EBP
0038004F 57 PUSH EDI
00380050 BB 01000000 MOV EBX,1
00380055 33ED XOR EBP,EBP
00380057 8BC3 MOV EAX,EBX
00380059 8D7C1D 00 LEA EDI,DWORD PTR SS:[EBP+EBX]
0038005D 8BEB MOV EBP,EBX
0038005F 8BDF MOV EBX,EDI
00380061 03D2 ADD EDX,EDX
00380063 75 07 JNZ SHORT 0038006C
00380065 8B16 MOV EDX,DWORD PTR DS:[ESI]
00380067 8D76 04 LEA ESI,DWORD PTR DS:[ESI+4]
0038006A 13D2 ADC EDX,EDX
0038006C ^ 73 EB JNB SHORT 00380059
0038006E 8D5C3D 00 LEA EBX,DWORD PTR SS:[EBP+EDI]
00380072 03C7 ADD EAX,EDI
00380074 8BEF MOV EBP,EDI
00380076 03D2 ADD EDX,EDX
00380078 75 07 JNZ SHORT 00380081
0038007A 8B16 MOV EDX,DWORD PTR DS:[ESI]
0038007C 8D76 04 LEA ESI,DWORD PTR DS:[ESI+4]
0038007F 13D2 ADC EDX,EDX
00380081 ^ 73 D6 JNB SHORT 00380059
00380083 5F POP EDI
00380084 5D POP EBP
sek
sek
0038013A 56 PUSH ESI
0038013B 8BF7 MOV ESI,EDI
0038013D 2BF0 SUB ESI,EAX
0038013F F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]
00380141 5E POP ESI
00380142 B9 02000000 MOV ECX,2
00380147 ^ E9 ECFEFFFF JMP 00380038
0038014C 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 EBP
00380153 5B POP EBX
00380154 5F POP EDI
00380155 5E POP ESI
00380156 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 longjumpov
TOTO je ten kod:
00380510 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX ; do ebp-8 da imagebase
00380513 33C0 XOR EAX,EAX
00380515 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
00380518 66:8B46 10 MOV AX,WORD PTR DS:[ESI+10]
0038051C A9 00020000 TEST EAX,200
00380521 0F85 8D000000 JNZ 003805B4
00380527 A9 08000000 TEST EAX,8
0038052C 0F84 99000000 JE 003805CB
00380532 51 PUSH ECX
00380533 56 PUSH ESI
00380534 8B7E 08 MOV EDI,DWORD PTR DS:[ESI+8]
00380537 33C9 XOR ECX,ECX
00380539 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,EDI
00380544 7D 37 JGE SHORT 0038057D
sek
sek
003805CE 49 DEC ECX
003805CF ^ 0F85 3EFFFFFF JNZ 00380513
003805D5 5E POP ESI
003805D6 5F POP EDI
003805D7 5B POP EBX
003805D8 C9 LEAVE
003805D9 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...
-
no, to je trosku slozitejsi... mas tam X algoritmu na kopresi a jeste je muzes kombinovat , jcalg, aplib, ffce (bez zdrojaku), etc...
Ved ano.. Kukal som na original packer a tam sa da vybrat aky algo chces..
Nezda sa mi ze by sa dali kombinovat.. Aj ked mozno sa mylim a mas ty pravdu..
No co ti budem hovorit.. Cele je to len o to ci si ochotny poreverzovat trosku.. Urcite ten packing nebude az taky zlozity si myslim..
Ak ti mozem poradit tak chyt do ruky ollyho a poreverzuj ten packer(nie nejaky packed target ale priamo packer).. Ak by si mal nejake konkretne problemy tak sa mozes spytat tu na fore(alebo icq).. :)