|
本帖最后由 牛股三絕 于 2020-3-16 08:03 以通達信3月6日發(fā)布的金融終端V7.48為例,使用OEP的方法脫VMP殼,當然這個方法僅限于簡單加密的,復雜加密的這個方法不適用 所需要的工具下載地址,請盡量去52和諧官方網站下: 用https替換://down.52pojie.cn/Tools/PEtools/Scylla.v.0.9.8.rar 用https替換://down.52pojie.cn/Tools/Debuggers/%E5%90%BE%E7%88%B1%E7%A0%B4%E8%A7%A3%E4%B8%93%E7%94%A8%E7%89%88Ollydbg.rar 1.把tdxw.exe拖入到OD,讓其正常運行; ![]() 2. 在OD界面 Ctrl + G,會出現(xiàn)“輸入要跟隨的表達式”窗口,輸入00401000,點OK,會跳轉到00401000代碼處; ![]() 3. CTRL + B,在Hex處拷貝要查找的二進制串: 64 A1 00 00 00 00 50 64 89 25 00 00 00 00 83 EC 68 53 56 57 89 65 E8 33 DB 89 5D FC 6A 02 確定后會跳轉008C86A7處,往上5行也就是008C8698 (這個地方就是程序的入口點,也就是常說的OEP,記住這個地址,后面會用到) ![]() 下面這段代碼是以前版本的OEP,所以聰明的人已經猜到,通達信程序,它雖然有版本更新,但是這個程序的入口點基本上不會變的,版本不同有些小的變化,但總體還是那些代碼 0086FC68 >/$ 55 push ebp 0086FC69 |. 8BEC mov ebp,esp 0086FC6B |. 6A FF push -0x1 0086FC6D |. 68 207A8C00 push tdxw_dum.008C7A20 0086FC72 |. 68 F2FD8600 push tdxw_dum.0086FDF2 ; SE 處理程序安裝 0086FC77 |. 64:A1 0000000>mov eax,dword ptr fs:[0] 0086FC7D |. 50 push eax ; kernel32.BaseThreadInitThunk 0086FC7E |. 64:8925 00000>mov dword ptr fs:[0],esp 0086FC85 |. 83EC 68 sub esp,0x68 0086FC88 |. 53 push ebx 0086FC89 |. 56 push esi 0086FC8A |. 57 push edi 0086FC8B |. 8965 E8 mov [local.6],esp 0086FC8E |. 33DB xor ebx,ebx 0086FC90 |. 895D FC mov [local.1],ebx 0086FC93 |. 6A 02 push 0x2 0086FC95 |. FF15 A4C38900 call dword ptr ds:[0x89C3A4] 4. 此時不能直接脫,在OD那行功能鍵點兩個連續(xù)黑色左箭頭,也就是讓OD重新載入tdxw.exe,會回到圖一的那個界面;CTRL+G,出現(xiàn) 輸入要跟隨的表達式,在最上面那個框,這里應該有第一次輸入的 00401000,用008C8698 替換,點OK ![]() 5. 選中008C8698這行,在開頭處鼠標右鍵,找到 斷點 然后選擇 內存訪問,連續(xù)兩次 F9,程序應該會在008C8698處中斷下來; ![]() 6. 打開scylla_x86.exe,在最上面下拉單選擇 tdxw.exe (就是通達信程序的這個process),然后在 OEP 處輸入剛才的那個地址,點 IAT Autosearch,會出現(xiàn)IAT found 這個窗口,點確定;然后點IAT Autosearch下面的 Get Imports。 ![]() ![]() 7,在scylla_x86 點擊 Dump 按鈕,會彈出窗口讓你保存文件,我們使用默認名tdxw_dump,點確定即可,然后再點擊 Fix Dump 按鈕,會彈出窗口,找到和選中剛才保存的 tdxw_dump文件,點 打開 后程序會在通達信目錄下生成 TdxW_dump_SCY.exe 文件 ![]() ![]() 8. 使用查殼工具檢測,已經成功把殼脫掉了。當然這個脫殼的版本會保留vmp殘留的垃圾文件,但不會影響程序的運行。如果雙擊,會提示 “執(zhí)行文件出錯”,需要把TdxW_dump_SCY.exe 改成 tdxw.exe ![]() 剩下的,就看各位的本事了。 |
|
|