首页
社区
课程
招聘
[旧帖] [求助]初学破解,请高手指点迷津. 0.00雪花
发表于: 2008-4-23 23:58 3304

[旧帖] [求助]初学破解,请高手指点迷津. 0.00雪花

2008-4-23 23:58
3304
【加壳方式】Armadillo 1.xx - 2.xx -> Silicon Realms Toolworks
【下载地址】http://www.sharebank.com.cn/soft/ClassList_10_2.htm
【操作系统】Windows XP
【破解工具】PEID,OllyDbg,LordPE,ImportREC
【破解声明】第一次学破解,望各位多多指教。破解完全出于兴趣,无任何商业目的。

 由于是新学,在网上随便找个软件下手,没有找网上现成破解的例子.
1.用PEID载入程序邮箱密码.exe,显示为Armadillo 1.xx - 2.xx -> Silicon Realms Toolworks加密
2.用OllyDbg 1.10版打开程序,用插件隐身OD,并且在 选项->调试设置->异常 里忽略所有异常。OD停在:
004D0243 >    55            push    ebp
004D0244  |.  8BEC          mov     ebp, esp
004D0246  |.  6A FF         push    -1
004D0248  |.  68 409F4F00   push    004F9F40
004D024D  |.  68 80FF4C00   push    004CFF80                         ;  SE 处理程序安装
004D0252  |.  64:A1 0000000>mov     eax, dword ptr fs:[0]
004D0258  |.  50            push    eax
004D0259  |.  64:8925 00000>mov     dword ptr fs:[0], esp
004D0260  |.  83EC 58       sub     esp, 58
004D0263  |.  53            push    ebx
004D0264  |.  56            push    esi

3、用命令行插件下断 BP OpenMutexA,按F9运行程序,得到的汇编代码如下:
7C80EA1B >  8BFF            mov     edi, edi                         ; ntdll.7C930738中断在这里!
7C80EA1D    55              push    ebp
7C80EA1E    8BEC            mov     ebp, esp
7C80EA20    51              push    ecx
7C80EA21    51              push    ecx
7C80EA22    837D 10 00      cmp     dword ptr [ebp+10], 0
7C80EA26    56              push    esi
7C80EA27    0F84 66530300   je      7C843D93
7C80EA2D    64:A1 18000000  mov     eax, dword ptr fs:[18]
7C80EA33    FF75 10         push    dword ptr [ebp+10]
7C80EA36    8DB0 F80B0000   lea     esi, dword ptr [eax+BF8]
OD右下角堆栈窗口,显示为:
0012F798   004BBDB8  /CALL 到 OpenMutexA 来自 邮箱密码.004BBDB2
0012F79C   001F0001  |Access = 1F0001
0012F7A0   00000000  |Inheritable = FALSE
0012F7A4   0012FDD8  \MutexName = "940::DA8E6EF256"
0012F7A8   7C930738  ntdll.7C930738
0012F7AC   00000000
0012F7B0   7FFDF000

4、Ctrl+G定位到00401000处,修改这一片连续地址内容,输入以下内容:
00401000                60                   PUSHAD
00401001                9C                   PUSHFD
00401002                68 F0FB1200          PUSH 12FDD8  ;这是堆栈中看到的值
00401007                33C0                 XOR EAX,EAX
00401009                50                   PUSH EAX
0040100A                50                   PUSH EAX
0040100B                E8 2FDB407C          CALL kernel32.CreateMutexA
00401010                9D                   POPFD
00401011                61                   POPAD
00401012              - E9 04DC407C          JMP kernel32.OpenMutexA
修改完后,在00401000处单击右键,选择此为新起源。然后按F9,再次回到断点:
7C80EA1B >  8BFF            mov     edi, edi                         ; ntdll.7C930738
7C80EA1D    55              push    ebp
7C80EA1E    8BEC            mov     ebp, esp
7C80EA20    51              push    ecx
7C80EA21    51              push    ecx
7C80EA22    837D 10 00      cmp     dword ptr [ebp+10], 0
7C80EA26    56              push    esi
7C80EA27    0F84 66530300   je      7C843D93
7C80EA2D    64:A1 18000000  mov     eax, dword ptr fs:[18]
5、按F2取消断点,Ctrl+G再次定位到00401000处,把刚才所做的修改再改回去.然后下断:BP GetModuleHandleA ,之后按F9继续运行
7C80B6A1 >  8BFF            mov     edi, edi          中断在这里,按F2取消这里
7C80B6A3    55              push    ebp
7C80B6A4    8BEC            mov     ebp, esp
7C80B6A6    837D 08 00      cmp     dword ptr [ebp+8], 0
7C80B6AA    74 18           je      short 7C80B6C4                      这里按F2下断!!
7C80B6AC    FF75 08         push    dword ptr [ebp+8]
7C80B6AF    E8 C0290000     call    7C80E074

6.本人在走到这里的时候,在右下角堆栈窗口试着找了很多次,停止后按F2取消断点,然后Alt+F9返回,总是找不到关键的Magic Jump地方,只有一次找到Magic Jump地方并修改转移指令JE为JMP,修改之后我Alt+M查看内存,在00401000处点击右键,选择“设置内存访问断点”,然后按F9运行,看到一大片红色汇编代码,以为是真正的OEP了。但是在用LordPE选择进程单击右键选择dump full时提示错误.
7.在此想向高手请教我错在哪里,望高手指点迷津,谢谢!

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 246
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
getmodulehandlea应该用硬件断点,而且是跑的时间长点的时候是返回时机,一般是vitualalloc后再来一个vitualfree,再断一次一般就是返回时机了

peid查的arm版本不是很准,高版本的把magic jump改了后等下要改回来的,不然解码会错误

我也是菜鸟,这只是自己的一点看法,还望高手们指点下
2008-4-24 00:25
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
你最好拿fi看下版本,还要看看有没有保护形式 象CC, 远地址跳,输入表乱序,你还是把程序传上来吧要不没有办法知道你这个到底是什么情况
2008-4-24 00:34
0
雪    币: 172
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
软件下载地址是:http://www.sharebank.com.cn/soft/ClassList_10_2.htm有愿意学习的朋友可以一起来,大家互相提高.
2008-4-24 00:52
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我汗 是穿山甲带key 要脱这个壳必须有正确的KEY 否则脱不掉的
2008-4-24 03:46
0
雪    币: 172
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
晕了,第一次就搞个这样壳来脱,我说怎么搞不定,谢谢wiliansier朋友的提示,我的QQ506689994,交个朋友好吗
2008-4-24 09:34
0
游客
登录 | 注册 方可回帖
返回
//