ARM单进程脱壳之FtpRush v1.0

来源:互联网 发布:nosql和关系型数据库 编辑:程序博客网 时间:2024/06/07 06:24

ARM单进程脱壳之FtpRush v1.0

【目    标】:FTPRush v1.0
【工    具】:Olydbg1.1(diy)LORDPEImportREC1.6F
【任    务】简单的脱一下壳
【操作平台】:Windows Xp sp1
【作    者】:loveboom[DFCG][FCG][US]
【简要说明】:因为程序和其它的ARM的加的程序有所不同,程序的部分代码跑到壳内去了.。所以就写一下。

【详细过程】:
设置:

 忽略全部异常,隐藏好你的OD,载入后到壳的入口处:

007E4DE0 >/$  55            PUSH EBP             ;标准的C的入口来的

007E4DE1  |.  8BEC          MOV EBP,ESP

007E4DE3  |.  6A FF         PUSH -1

在程序的EP处下断HE GetModuleHandleA,然后运行,当然中途会中断好几次的,我们注意下堆栈,当出现这个样子的时候就接近我们要找的东西了.

00127A48   01049B22  /CALL to GetModuleHandleA from 01049B1C

00127A4C   00127B84  /pModule = "MSVBVM60.DLL"

看到这样子后,小心按几次f9,现在到这里:

00127A48   01049B22  /CALL to GetModuleHandleA from 01049B1C

00127A4C   00127B84  /pModule = "advapi32.dll"

再按一次F9:

看到这里的时候,取消硬件断点hd GetModuleHandleA,然后返回到程序代码:

01065EC0    FF15 CCF00601   CALL DWORD PTR DS:[106F0CC]              ; kernel32.GetModuleHandleA

01065EC6    3985 9CC4FFFF   CMP DWORD PTR SS:[EBP-3B64],EAX          ; 返回到这里

01065ECC    75 0F           JNZ SHORT 01065EDD

01065ECE    C785 98C4FFFF 5>MOV DWORD PTR SS:[EBP-3B68],1073B58

01065ED8    E9 C4000000     JMP 01065FA1

01065EDD    83A5 74C2FFFF 0>AND DWORD PTR SS:[EBP-3D8C],0

01065EE4    C785 70C2FFFF 9>MOV DWORD PTR SS:[EBP-3D90],1074198

01065EEE    EB 1C           JMP SHORT 01065F0C

01065EF0    8B85 70C2FFFF   MOV EAX,DWORD PTR SS:[EBP-3D90]

01065EF6    83C0 0C         ADD EAX,0C

01065EF9    8985 70C2FFFF   MOV DWORD PTR SS:[EBP-3D90],EAX

01065EFF    8B85 74C2FFFF   MOV EAX,DWORD PTR SS:[EBP-3D8C]

01065F05    40              INC EAX

01065F06    8985 74C2FFFF   MOV DWORD PTR SS:[EBP-3D8C],EAX

01065F0C    8B85 70C2FFFF   MOV EAX,DWORD PTR SS:[EBP-3D90]

01065F12    8338 00         CMP DWORD PTR DS:[EAX],0                 ; 直接按f4执行到这里,然后把[eax],0

01065F15    0F84 86000000   JE 01065FA1

具体可见下图:

改好后就可以得到全部的IAT的。

修改完毕,在code段下f2断点:

这样子很快就到了程序的OEP处:

0076C0AC    55              PUSH EBP                                 ; oep

0076C0AD    8BEC            MOV EBP,ESP

0076C0AF    83C4 F0         ADD ESP,-10

0076C0B2    B8 A4B77600     MOV EAX,0076B7A4

这里先别急着DUMP看看代码先吧:

0040525A  - E9 5FC73303     JMP 037419BE                             ; 看看吧,怎么样,代码进壳里去了

0040525F    0FC8            BSWAP EAX

00405261    76 00           JBE SHORT 00405263

00405263    0FC8            BSWAP EAX

00405265    C740 04 B851400>MOV DWORD PTR DS:[EAX+4],004051B8

0040526C    8968 08         MOV DWORD PTR DS:[EAX+8],EBP

0040526F    A3 40467700     MOV DWORD PTR DS:[774640],EAX

00405274    C3              RETN

00405275    8D40 00         LEA EAX,DWORD PTR DS:[EAX]

00405278    31D2            XOR EDX,EDX

0040527A    A1 40467700     MOV EAX,DWORD PTR DS:[774640]

0040527F    85C0            TEST EAX,EAX

00405281    74 1C           JE SHORT 0040529F

00405283    64:8B0A         MOV ECX,DWORD PTR FS:[EDX]

00405286    39C8            CMP EAX,ECX

00405288    75 08           JNZ SHORT 00405292

0040528A  - E9 55C73303     JMP 037419E4                             ; 这里也是

0040528F    C3              RETN

现在我们要动一下手术了,用lordpe全部他dump一下,然后在OD中打开内存页面找到我们要DUMP的那个段双击后,保存数据到文件:

保存后,我们计算一下03740000400000imgbase=03340000,好了记下先.

lordpe载入我们刚才保存下来的段。并改一下VA为我们刚才记下的那个值:

改好后,重建一下文件,重建选项为:

重建文件完毕,FIXDUMP一下就行了,OK这次脱壳就这样结束了.现在程序也显示已经注册了J.

 

 

Greetz:

 Fly.Jingulong,yock,tDasm.David.ahao.UFO(brother).alan(sister).all of my friends and you!

 

By loveboom[DFCG][FCG]

Email:bmd2chen@tom.com

 

 

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 吃精神药物发胖怎么办 郑州出院限号怎么办 林场改革森林消防怎么办 网络课没有看完怎么办 福建省会计证未换怎么办 国税地税登记后怎么办 网上发票领不了怎么办 合肥餐饮怎么办环评 地税财务报表上传错误怎么办? 平安体检卡过期怎么办 到医院挂号后怎么办 一吹风就头痛怎么办 平安口袋e怎么办离职 学员学分卡号怎么办 华医网注册错了怎么办 医师继续教育学分不够怎么办 执业医师学分卡怎么办 护士学分5年没办怎么办 华医网职称录入错误怎么办 在北京没有学历怎么办 继续教育证书丢了怎么办 继续教育证丢了怎么办 继续教育档案丢了怎么办 现在会计证丢了怎么办 初级准考证丢了怎么办 协助调查48小时怎么办 有个抑郁症父亲怎么办 法院不给立案怎么办 眼睛发炎有眼屎怎么办 外伤后眼白出血怎么办 斜视手术失败了怎么办 角膜划伤恢复慢怎么办 机场海关扣行李怎么办 被消防参谋恐吓怎么办 公安局贴的封条怎么办 公司倒闭后诉讼怎么办 股东不配合清算怎么办 消防罚款不交怎么办 武警撤勤海关怎么办 包包掉出租车上怎么办 打市长热线不管怎么办