msn1900 发表于 2009-2-5 15:37:05

穿山甲6.24 脱壳疑问

本人第一次到PYG发帖,这个问题困扰我已经很多天了。
   我遇到的一个程序采用Arm加密,用PEID查看结果为3.78--4.xx,用专用工具查看后得知是6.24版本。
这个版本到网上搜索很久没有一个满意的结果,在PYG的网站上下载一个视频回家研究多日,还是很不懂。
   视频中Attach子进程后,修改的前2个字节为E8 45从何而来的,我把自己的程序改为E8 45后,进程被挂起,点击恢复没用。

msn1900 发表于 2009-2-5 15:40:20

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

我没有那个脚本,不知道怎么搞, 那个E8 45问题也没解决。。。在线等

msn1900 发表于 2009-2-6 08:38:59

研究了一个通宵,总算明白那2个字节原来是以前代码入口处的那2个字节东东。
   奇怪的是我的程序总是被挂起,要求恢复线程才能运行。。。但是我在我的OD下,点击右键根本就没视频上的那个Resume All Thread 选项,睡有那个视频的OD借来用用。。
   这是原来的帖子:https://www.chinapyg.com/viewthread.php?tid=42304&extra=page%3D1&page=1

msn1900 发表于 2009-2-7 15:03:12

没人么????

hyperchem 发表于 2009-2-7 15:46:47

恢复所有线程那个菜单是插件StrongOD的功能。自己弄一个就可以了~

msn1900 发表于 2009-2-8 16:35:56

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

hyperchem 发表于 2009-2-8 22:12:02

GetTickCount断下后第三次被乱序,这只是个特例,一般来说断下第一次返回就是正确的了 我在视频里面都说了!

msn1900 发表于 2009-2-9 02:01:46

更奇怪了,这几天下getmodulehandlea+2都没问题,刚才下那个断点竟然直接跑起来了,深深的严重郁闷下!!!这个穿山甲,真猛

msn1900 发表于 2009-2-9 16:00:03

换电脑后,GetModuleHandleA+2可以断下,在以前电脑上+5也可以断。。。
但是GetTickCount 返回的地方,总感觉不对。
第一次返回的代码为
013C8BAB    FF15 48234001   CALL DWORD PTR DS:            ; kernel32.GetTickCount
013C8BB1    8985 54D7FFFF   MOV DWORD PTR SS:,EAX
013C8BB7    8B85 34D6FFFF   MOV EAX,DWORD PTR SS:
013C8BBD    8985 58D7FFFF   MOV DWORD PTR SS:,EAX
013C8BC3    8BB5 50D7FFFF   MOV ESI,DWORD PTR SS:
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:            ; kernel32.GetTickCount
013C8D89    2B85 54D7FFFF   SUB EAX,DWORD PTR SS:
013C8D8F    3D B80B0000   CMP EAX,0BB8
013C8D94    76 12         JBE SHORT 013C8DA8
013C8D96    8B95 88D7FFFF   MOV EDX,DWORD PTR SS:
013C8D9C    81F2 C31C724B   XOR EDX,4B721CC3
013C8DA2    8995 88D7FFFF   MOV DWORD PTR SS:,EDX
013C8DA8    8B85 34D6FFFF   MOV EAX,DWORD PTR SS:
013C8DAE    8985 0CABFFFF   MOV DWORD PTR SS:,EAX
013C8DB4    8B8D 0CABFFFF   MOV ECX,DWORD PTR SS:
013C8DBA    51            PUSH ECX


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

hyperchem 发表于 2009-2-9 16:41:09

把软件发过来看看~
页: [1] 2 3
查看完整版本: 穿山甲6.24 脱壳疑问