【破解作者】 ftts[BCG]
【作者邮箱】 ftts1@163.com
【作者主页】 http://ftts.wy8.net/
【使用工具】 ollydbg1.10, lordpe,ImportREC1.65,peid 0.93
【破解平台】 Windows 2003
【软件名称】 JCreator3.5.0.013
【下载地址】 http://www.jcreator.com/
【软件简介】 Java 编程工具
【软件大小】 3.709M
【加壳方式】 Armadillo 3.78
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【破解内容】
用peid 分析可知这个软件是 Armadillo 3.78加的壳
程序是单进程的,用了antidump
我们用ollydbg 载入JCreator.exe 在下面停下
设置忽略所有异常。
008E5000 JCreator.<ModuleEntryP> 60 pushad
008E5001 E8 00000000 call JCreator.008E5006
008E5006 5D pop ebp
008E5007 50 push eax
在命令栏输入
he GetModuleHandleA回车
he VirtualAlloc 回车
按F9 再按 alt+f9 经过多次址到,找到下面的特征码。
01364E69 8B0D AC0D3901 mov ecx,dword ptr ds:[1390DAC]
01364E6F 89040E mov dword ptr ds:[esi+ecx],eax
01364E72 A1 AC0D3901 mov eax,dword ptr ds:[1390DAC]
01364E77 391C06 cmp dword ptr ds:[esi+eax],ebx
01364E7A 75 16 jnz short 01364E92
01364E7C 8D85 B4FEFFFF lea eax,dword ptr ss:[ebp-14C]
01364E82 50 push eax
01364E83 FF15 B4323801 call dword ptr ds:[13832B4] ; kernel32.LoadLibraryA
01364E89 8B0D AC0D3901 mov ecx,dword ptr ds:[1390DAC]
01364E8F 89040E mov dword ptr ds:[esi+ecx],eax
01364E92 A1 AC0D3901 mov eax,dword ptr ds:[1390DAC]
01364E97 391C06 cmp dword ptr ds:[esi+eax],ebx
01364E9A 0F84 2F010000 je 01364FCF----------->je 改为jmp
01364EA0 33C9 xor ecx,ecx
01364EA2 8B07 mov eax,dword ptr ds:[edi]
01364EA4 3918 cmp dword ptr ds:[eax],ebx
01364EA6 74 06 je short 01364EAE
去掉 硬件断点1 按F9 再按 alt+f9 一直到 找到这下面的特征码.
013780C2 FFB5 64D7FFFF push dword ptr ss:[ebp-289C]
013780C8 FF35 F06C3901 push dword ptr ds:[1396CF0]
013780CE FF15 88313801 call dword ptr ds:[1383188] ; kernel32.VirtualAlloc
013780D4 8985 6CD7FFFF mov dword ptr ss:[ebp-2894],eax
013780DA 83BD 6CD7FFFF 00 cmp dword ptr ss:[ebp-2894],0
013780E1 74 64 je short 01378147
013780E3 6A 40 push 40
013780E5 68 00100000 push 1000
013780EA FFB5 64D7FFFF push dword ptr ss:[ebp-289C]
013780F0 FF35 F06C3901 push dword ptr ds:[1396CF0]
013780F6 FF15 88313801 call dword ptr ds:[1383188] ; kernel32.VirtualAlloc
013780FC 8985 6CD7FFFF mov dword ptr ss:[ebp-2894],eax
01378102 83BD 6CD7FFFF 00 cmp dword ptr ss:[ebp-2894],0
01378109 74 3C je short 01378147
0137810B 8B85 6CD7FFFF mov eax,dword ptr ss:[ebp-2894]
去掉硬件断点2 按F8一直到 013780FC
再按alt+M
在程序本身找一个放远程跳转的地方.adata 8e5000 再修改eax=8e5000
再按alt+M 在程序.text设置内存访问断点,再按F9就会到程序入口了5159DF
再用lordPe dump 出JCreator.exe 在ollydgb命令栏里面输入d 400000
00400030 00 00 00 00 00 00 00 00 00 00 00 00 B7 A8 53 00--->将这里面的 B7 A8 53 00
改为原来的 18 01 00 00 (这里可用用十六进制工具查看)
再打开 ImportREC.exe 选择 JCreator.exe 再oep 里面输入001159DF
点Iat autoSearch 再点 Get Imports ,Show Invalid 再cut 不可用的rva
最后就是Fix Dump了,Dump 完之后 还要将Dump 这后的程序oep改为1159df
这样脱壳出来的程序就可以正常运行了
给程序减肥: Lordpe可以减掉区块 Shared,.text1,data1,再Rebuild Pe
程序由9.6M 变为9.0M .adata区块本是可以剪掉的(剪掉之后原程序将小2M),
但去掉之后程序有些地方会显示乱码。
--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
[课程]FART 脱壳王!加量不加价!FART作者讲授!