飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4745|回复: 20

穿山甲6.24 脱壳疑问

[复制链接]

该用户从未签到

发表于 2009-2-5 15:37:05 | 显示全部楼层 |阅读模式
本人第一次到PYG发帖,这个问题困扰我已经很多天了。
   我遇到的一个程序采用Arm加密,用PEID查看结果为3.78--4.xx,用专用工具查看后得知是6.24版本。
这个版本到网上搜索很久没有一个满意的结果,在PYG的网站上下载一个视频回家研究多日,还是很不懂。
   视频中Attach子进程后,修改的前2个字节为E8 45从何而来的,我把自己的程序改为E8 45后,进程被挂起,点击恢复没用。
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2009-2-5 15:40:20 | 显示全部楼层

那个脱离父进程的脚本在哪

我没有那个脚本,不知道怎么搞, 那个E8 45问题也没解决。。。在线等
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2009-2-6 08:38:59 | 显示全部楼层
研究了一个通宵,总算明白那2个字节原来是以前代码入口处的那2个字节东东。
   奇怪的是我的程序总是被挂起,要求恢复线程才能运行。。。但是我在我的OD下,点击右键根本就没视频上的那个Resume All Thread 选项,睡有那个视频的OD借来用用。。
   这是原来的帖子:https://www.chinapyg.com/viewthr ... page%3D1&page=1
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2009-2-7 15:03:12 | 显示全部楼层
没人么????
PYG19周年生日快乐!

该用户从未签到

发表于 2009-2-7 15:46:47 | 显示全部楼层
恢复所有线程那个菜单是插件StrongOD的功能。自己弄一个就可以了~
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2009-2-8 16:35:56 | 显示全部楼层
谢谢LS的,但是又遇到新问题了,视频是在GetTickCount处下断的,仔细看了下,是第三次断了之后IAT就被乱序好,但是我的机器上的时候,第一次和第二次断下的汇编和视频上的差不多,再shift+f9就出现解码错误.
   我之前下的断点和视频上的都一样.
难道是我修改那个call的时候出问题了?
  视频是在Virtual Free时候返回,并把那个push 100 之后的那个call直接返回吧.
那断代码我也是按照视频,在GetModuleHanldeA+2正确返回时机的时候找到的,但是却出现了解码错误.真郁闷.
  下GetTickCount断点的时候,我的直接可以返回.但是找不到那个乱叙IAT的地方.
那个软件我用ArmFP扫描是有IAT乱序的。郁闷啊
PYG19周年生日快乐!

该用户从未签到

发表于 2009-2-8 22:12:02 | 显示全部楼层
GetTickCount断下后第三次被乱序,这只是个特例,一般来说断下第一次返回就是正确的了 我在视频里面都说了!
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2009-2-9 02:01:46 | 显示全部楼层
更奇怪了,这几天下getmodulehandlea+2都没问题,刚才下那个断点竟然直接跑起来了,深深的严重郁闷下!!!这个穿山甲,真猛
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2009-2-9 16:00:03 | 显示全部楼层
换电脑后,GetModuleHandleA+2可以断下,在以前电脑上+5也可以断。。。
但是GetTickCount 返回的地方,总感觉不对。
第一次返回的代码为
013C8BAB    FF15 48234001   CALL DWORD PTR DS:[1402348]              ; kernel32.GetTickCount
013C8BB1    8985 54D7FFFF   MOV DWORD PTR SS:[EBP-28AC],EAX
013C8BB7    8B85 34D6FFFF   MOV EAX,DWORD PTR SS:[EBP-29CC]
013C8BBD    8985 58D7FFFF   MOV DWORD PTR SS:[EBP-28A8],EAX
013C8BC3    8BB5 50D7FFFF   MOV ESI,DWORD PTR SS:[EBP-28B0]
013C8BC9    6BF6 03         IMUL ESI,ESI,3
013C8BCC    E8 6F880000     CALL 013D1440
013C8BD1    F7D8            NEG EAX
013C8BD3    1BC0            SBB EAX,EAX
013C8BD5    83E0 02         AND EAX,2



第二次为:

013C8D83    FF15 48234001   CALL DWORD PTR DS:[1402348]              ; kernel32.GetTickCount
013C8D89    2B85 54D7FFFF   SUB EAX,DWORD PTR SS:[EBP-28AC]
013C8D8F    3D B80B0000     CMP EAX,0BB8
013C8D94    76 12           JBE SHORT 013C8DA8
013C8D96    8B95 88D7FFFF   MOV EDX,DWORD PTR SS:[EBP-2878]
013C8D9C    81F2 C31C724B   XOR EDX,4B721CC3
013C8DA2    8995 88D7FFFF   MOV DWORD PTR SS:[EBP-2878],EDX
013C8DA8    8B85 34D6FFFF   MOV EAX,DWORD PTR SS:[EBP-29CC]
013C8DAE    8985 0CABFFFF   MOV DWORD PTR SS:[EBP+FFFFAB0C],EAX
013C8DB4    8B8D 0CABFFFF   MOV ECX,DWORD PTR SS:[EBP+FFFFAB0C]
013C8DBA    51              PUSH ECX


。。
之后再运行就死机,运气好会给个解码错误的提示。一般都是死机。。。。
   我该怎么搞呢?
郁闷了,会的出来下吧。。。这个问题已经很久了。。。。
PYG19周年生日快乐!

该用户从未签到

发表于 2009-2-9 16:41:09 | 显示全部楼层
把软件发过来看看~
PYG19周年生日快乐!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表