求助脱壳:ELMConfig

jinggangshi 2014-12-04 09:02:10
问题:
在对ELMConfig 汉化中,需要对主程序ELMConfig.EXE脱壳,但我用了好几个工具都脱不了壳,用查壳工具看了,Language和Peid都查不出壳和编程语言,用FastScanner查出壳是UPX3,但我目前用了很多UPX的脱壳工具都脱不了这个壳。
这个程序是俄罗斯人编写的可用于福特汽车的诊断和设置程序,本人一直在为车友义务汉化,以前的版本加壳方式不一样,能脱壳,现在的新版本我脱不了了,希望能得到大家的帮助,造福车友!

后来发帖求助:00木一朋友帮助我脱了,在些再次表示感谢!

现在我学习了简单的脱壳,对手动脱壳的方法有了基本的了解,能脱压缩壳和部分加密壳(前提是能准确查壳,网上有类似的脱壳教程),我想能学会脱这个壳。

这个壳用FastScanner查出壳是UPX3,用两个版本的Peid查出了不同的结果:



但我怀疑这个壳是伪装的了,我用了OD跟踪,无法找到入口点,以下是我的分析过程:


我用了ESP定律,包括按http://www.52pojie.cn/forum.php?mod=viewthread&tid=265705的提示方法找第二大跳,也都找不到OEP。
我也用了最后一次异常,但这个程序一次异常都没有就飞了。
我怀疑是OD和我的设置的问题,包括对OD隐藏插件都怀疑过,换了无数OD版,也换了无数Od隐藏插件,但都找不到。
我最后想用API来断下来,我找到了一个程序指针,但最后跟进去后程序做了一圈迭代后又回到原来的地方,很大的一圈,从07XXXXXXX到01XXXXXXX再到05XXXXXXX再到0cXXXXXXX,最后到07XXXXXXX。

我用尽了所有的寻找OEP的方法,都没有结果。

最后我想用笨办法,花了很多时间全程单步跟,连续的无数次跟飞,用了一个星期时间,还是没有找到OEP。


以下是我做的部分笔记:

73391B72 ^\75 B5 JNZ SHORT 73391B29 //程序飞1,如果用F4到下一行

*********************************
7C93B5F7 ^\E9 E9FEFFFF JMP ntdll.7C93B4E5

01220353 ^\EB A8 JMP SHORT 012202FD

01220364 ^\E9 63FFFFFF JMP 012202CC

012204C7 ^\E2 8F LOOPD SHORT 01220458

01220531 ^\E9 38FEFFFF JMP 0122036E 程序飞2,如果用F4到下一行

01220531如果手动单步跟踪,每次做一个大的循环后会跳到这里,周而复始
**********************
0055d85f 程序飞3,如果用F4到下一行

0055D85F E8 04000000 CALL ELMConfi.0055D868 跟进去

后面会碰到无数个E8 04000000,不跟进去就飞

0055D884 ^\EB AF JMP SHORT ELMConfi.0055D835

0055D8E7 8540 FF TEST DWORD PTR DS:[EAX-0x1],EAX

0055D8E7 E8 04000000 CALL ELMConfi.0055D8F0

0055DA7F E8 04000000 CALL ELMConfi.0055DA88

7C801D88 68 60E1807C PUSH kernel32.7C80E160 ; ASCII "twain_32.dll"//这里还好像是个木马?

00C4F1A7 E8 0C000000 CALL ELMConfi.00C4F1B8
00C4F1ED E8 02000000 CALL ELMConfi.00C4F1F4

00C4F351 E8 02000000 CALL ELMConfi.00C4F358

00C4F351 E8 02000000 CALL ELMConfi.00C4F358

00C4F3E2 E8 5D030000 CALL ELMConfi.00C4F744

00C4F7FE E8 04000000 CALL ELMConfi.00C4F807
00C4FA73 E8 04000000 CALL ELMConfi.00C4FA7C

00C4FA4C E8 04000000 CALL ELMConfi.00C4FA55

00C4FB4C E8 04000000 CALL ELMConfi.00C4FB55

00C4FB73 E8 04000000 CALL ELMConfi.00C4FB7C

00C4FBB6 E8 04000000 CALL ELMConfi.00C4FBBF

00C5019D E8 04000000 CALL ELMConfi.00C501A6

00C50AAF E8 04000000 CALL ELMConfi.00C50AB8

00C64041 E8 04000000 CALL ELMConfi.00C6404A

00C75228 E8 04000000 CALL ELMConfi.00C75231

00C80430 E8 04000000 CALL ELMConfi.00C80439

00C81D71 E8 04000000 CALL ELMConfi.00C81D7A

00C8FDE7 E8 04000000 CALL ELMConfi.00C8FDF0

00C92EA0 E8 04000000 CALL ELMConfi.00C92EA9

00C937C2 E8 04000000 CALL ELMConfi.00C937CB

00C97E68 E8 04000000 CALL ELMConfi.00C97E71

00C9BEE5 E8 04000000 CALL ELMConfi.00C9BEEE

00C9C101 E8 04000000 CALL ELMConfi.00C9C10A

00C9C448 E8 04000000 CALL ELMConfi.00C9C451

00C9C7B9 E8 04000000 CALL ELMConfi.00C9C7C2

00C9CCE0 E8 04000000 CALL ELMConfi.00C9CCE9

00C9CD07 E8 04000000 CALL ELMConfi.00C9CD10

00C9CEE9 E8 04000000 CALL ELMConfi.00C9CEF2

00C9D180 E8 04000000 CALL ELMConfi.00C9D189

00C9D4D9 E8 04000000 CALL ELMConfi.00C9D4E2

00C9D500 E8 04000000 CALL ELMConfi.00C9D509

00C9D8ED E8 04000000 CALL ELMConfi.00C9D8F6

00C9D9C5 E8 04000000 CALL ELMConfi.00C9D9CE

00C9DEBE E8 04000000 CALL ELMConfi.00C9DEC7

00C9E14D E8 04000000 CALL ELMConfi.00C9E156

00C9E286 E8 04000000 CALL ELMConfi.00C9E28F

00C9EBE5 E8 04000000 CALL ELMConfi.00C9EBEE

00C9F8C7 E8 04000000 CALL ELMConfi.00C9F8D0

00C9F8EE E8 04000000 CALL ELMConfi.00C9F8F7

00C9FC8E E8 04000000 CALL ELMConfi.00C9FC97

00C9FCB5 E8 04000000 CALL ELMConfi.00C9FCBE

00C9FE02 E8 04000000 CALL ELMConfi.00C9FE0B

00C9FE29 E8 04000000 CALL ELMConfi.00C9FE32 最后

00CA0031 E8 04000000 CALL ELMConfi.00CA003A

00CA0362 E8 04000000 CALL ELMConfi.00CA036B

00CA07F6 E8 04000000 CALL ELMConfi.00CA07FF

00408284 - FF25 6C124000 JMP DWORD PTR DS:[0x40126C]

733935A4 55 PUSH EBP


程序肯定是VB
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&这个好像是个OEP,但是个假的,可能
733935A4 55 PUSH EBP
733935A5 8BEC MOV EBP,ESP
733935A7 6A FF PUSH -0x1
********************************************

733935FB E8 5C000000 CALL MSVBVM60.7339365C


****************************************************8
00C9FEE3 E8 BA000000 CALL ELMConfi.00C9FFA2


**********************************

00CA0A99 E8 04000000 CALL ELMConfi.00CA0AA2




^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
0012FEF8 |00CA0B86 ?? ELMConfi.00CA0B86


现在俄罗斯人又推出了0.2.15版,以后也不断会有新的版本推出,车友


需求:
1、如何确定壳的类型?
2、手工脱壳的方法和步骤?(希望能详细一点)



如果觉得我现在的水平不足以脱此壳,也请指点出壳的准确类别, 我可以针对性的学习。



说明:

0.2.15版程序云盘地址:
http://pan.baidu.com/s/1ntmNeA1

软件的版本:0.2.14
下载链接在CSDN有,我已经上传了:
http://download.csdn.net/detail/jinggangshi/8122765
...全文
542 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinggangshi 2014-12-23
  • 打赏
  • 举报
回复
已经找到了解决方法,因为是VB编写的软件,这是我可以肯定的,就下断ThunRTMain,查出了OEP,然后就跟踪修复,OK。
yage_18 2014-12-09
  • 打赏
  • 举报
回复
碰到同样的问题,需要同样的帮助,支持下!
jinggangshi 2014-12-07
  • 打赏
  • 举报
回复
引用 2 楼 Rocloud 的回复:
http://www.pediy.com/ 看雪学院,应该专业
脱掉了外层的UPX->www.upx.sourceforge.com*,但里面还有一个VMProctect2.46,这个好像很难啊,能再给点提示吧?
jinggangshi 2014-12-04
  • 打赏
  • 举报
回复
引用 1 楼 u012938487 的回复:
看雪安全论坛,,,,,,
去过了,是很专业,但针对这个壳的文章我还没有找到,我对脱壳只是入门级,希望能尽快汉化这个软件,对车友有所帮助
Rocloud 2014-12-04
  • 打赏
  • 举报
回复
http://www.pediy.com/ 看雪学院,应该专业
Mindly123 2014-12-04
  • 打赏
  • 举报
回复
看雪安全论坛,,,,,,

9,506

社区成员

发帖
与我相关
我的任务
社区描述
Windows专区 安全技术/病毒
社区管理员
  • 安全技术/病毒社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧