Subj Вроде корректно распакован, что не нравится декомпиляторам, exdec'у в частности.. а также дебаггеру WKTVBDebugger? ломать ничего не нужно-уже всё отломано, но хотелось знать причину subj'а, и как поправить, на будущее.. _156122716__Dump_test2_.exe
А он блин, как-то находит окно exdec'а,WKTVBDebugger-а,ОллиДбг, без разницы и шлёт ему WM_QUIT Код (Text): 0012E4FC 6A9DF7B7 /CALL to PostMessageA from msvbvm60.6A9DF7B5 0012E500 000C008C |hWnd = C008C 0012E504 00000012 |Message = WM_QUIT 0012E508 00000000 |ExitCode = 0 0012E50C 0012E512 \lParam = 12E512 Поставь бп на 0040282F
bogrus Да ищет он кое-какие тулзы, но это всё пофиг.. Декомпилятор ведь не запускает exe'шник. Декомпиляторам не нравится таблица импорта и они либо падают либо отказываются декомпилировать, только VBReFormer и VBDE декомпилируют, но у них возможностей маловато. У меня есть оригинал, он декомпилируется нормально, но ведь в реале не всегда можно заиметь оригинал
А на счёт декомпилятора, то да, почему-то глючный этот exe для них. SemiVBDecompiler вообще говорит, что это не VB прога. Посмотри в другие vb проги, у них кроме import table есть bound import table и import address table, а у этого их нет, но есть "лишняя" секция .mackt Короче кто-то постарался ручками неплохо
> SemiVBDecompiler вообще говорит Он у меня вообще не запускается %) Про bound import это я упустил, но нельзя же тулзам(декомпиляторам) ориентироваться на bound import. > но есть "лишняя" секция .mackt Ну естетсвенно это я прикрутил когда распаковывал А вот декомпиляция этого файла, только естественно оригинального(не паковавшегося), т.е. отломать оригинальный проблем не возникло, а если попадётся исковерканный 1689154818__exdec_listing.rar
Неа, оно только мониторы закрывает и олли: Код (Text): vFF64=user32.GetWindowTextA(vFF78, vFF4C, CDbl(vFF70) + 1) vFF74 = Str2Uni(vFF4C) vFF70=CStr(vFF64) If InStr(1,vFF74,"Registry Monitor",1) <> 0 Or InStr(1,vFF74,"File Monitor",1) <> 0 Or InStr(1,vFF74,"Ollydbg",1) <> 0 Then vFF28 = Str2Ansi(vFF74 & Chr(vFF50, 0)) vFF64=user32.FindWindowA(0, vFF28) vFF6C=vFF64 user32.PostMessageA(vFF6C, 18, 0, 0) vFF6A=-1 End If А так оно похоже ключики считает Код (Text): ---- function, res is at FF78, nArg 3, nRefer 9 Function coder_00403ACC as String vFF74=p000C If vFF74 = 0 Then coder_00403ACC=0 Exit Sub End If If p0010 = 0 Then Exit Sub End If coder_00403ACC="" vFF70=Len(vFF74) vFF6C=Len(p0010) For vFF68=1 To vFF70 Step 3 On Error Resume Next coder_00403ACC=coder_00403ACC + Chr(vFEC8, Val(Mid(vFF20, vFF74, vFF68, 3)) Xor Val(Mid(vFEDC, p0010, Int(vFF68 / 3) Mod vFF6C + 1, 1))) Next vFF68 Exit Sub ---- function, res is at FF78, nArg 3, nRefer 9 Function coder_00403C30 as String vFF74=p000C If vFF74 = 0 Then coder_00403C30=0 Exit Sub End If If p0010 = 0 Then Exit Sub End If vFF6C=Len(vFF74) vFF68=Len(p0010) For vFF64=1 To vFF6C vFF70=Trim(vFE94, Str(vFEA4, Val(Mid(vFF1C, vFF74, vFF64, 1)) Xor Val(Mid(vFED8, p0010, (vFF64 - 1) Mod vFF68 + 1, 1)))) vFE8C=Val(vFF70) If 0 <= vFE8C And vFE8C <= 9 Then vFF70="00" + vFF70 Else If 10 <= vFE8C And vFE8C <= 99 Then vFF70="0" + vFF70 End If End If coder_00403C30=coder_00403C30 + vFF70 Next vFF64 Exit Sub