首页
社区
课程
招聘
未解决 [求助]迷惑!初涉逆向,不知道这个壳脱干净了吗?程序是用什么语言写的?谢谢!
发表于: 2019-9-4 12:22 7617

未解决 [求助]迷惑!初涉逆向,不知道这个壳脱干净了吗?程序是用什么语言写的?谢谢!

2019-9-4 12:22
7617
大家好!
初涉逆向,基础薄弱,自用软件练手尝试。
脱壳结束后,不知道是否脱干净?以及这个exe是用什么语言编写,c++还是python?
望不吝赐教!谢谢!
说明:
windows64位程序, 为避免其它方面麻烦,在此称为软件a。
如图所示,3个exe文件,分别是:
1) a.exe是未破解的原程序,大小47089KB, 用 Exeinfo PE及DIE查壳,无壳。
原以为此软件是python编写,初步看了一些视频之后,觉得是c++编写。python只是为了提供此软件内置的脚本功能。不知这个判断是否正确?
详见图0此软件帮助文档,图1,图2查壳结果。
图0,此软件帮助文档:
图1, Exeinfo PE及DIE查壳:
图2,DIE内置另一工具NFD查询结果:

2) a_crack.exe是amped的破解程序,大小15301KB,同样查壳,有壳,但Exeinfo PE与DIE查壳结果不同。
Exeinfo PE查壳PESpin(X64)V.0.1-1.22。分段6段,名字全是amped。
DIE查壳PESpin(1.23)
见图3,图4.

3) a_crack_dump_SCY_advance.exe是用X64dbg 按照附件pespin2.swf动画,脱壳 a_crack.exe 后的程序,大小47331KB,程序可以启动。
脱壳过程中,dump后得到的a_crack_dump_advance.exe,大小47094KB,双击无法启动。修复后得 a_crack_dump_SCY_advance.exe。

a_crack.exe脱壳,
网上找到一段PESpin V1.2 X64的脱壳动画,按视频操作脱壳a_crack.exe。

先看脱壳后的a_crack_dump_SCY_advance.exe,查壳,
图5,Exeinfo PE,结果:
64 bit executable -> *** Unknown EXE  - CPU : AMD  Std Compiler section , MS C++ Visual Studio 2008
EP : 48 89 74 24 [01/07] - not found , try : [ Scan / t ] external signatures
分段7段,前6段是amped,最后一段是.SCY。
图5:

Exeinfo PE中,按提示,点击Scan/t,见图7,得到:
EP scanned with external signatures : 4407
nothing found in userdb.txt file - please update signatures
图7:

这个不知下一步怎么处理,还要百度。

DIE查询结果见图5见上方,及下图6:

现在迷惑就是,至此,破解程序a_crack.exe脱壳是否已经脱干净,如何判断?
像图5所示,Exeinfo PE查壳,如果脱壳成功没有壳的话,结果不是应该显示VC++版本号吗?现在的现示说明没脱干净?
分段是7段,名字都是amped和.SCY,而不是典型的C++的结构,也说明脱壳没完全成功?????

另一个就是,关于编写语言,
本程序用C++编写,python只是为了提供脚本功能而加入。而不是用python写源码,后编译成C++。
我的以上判断对不对?
这个主要是进一步反编译的问题,假设说我想修改程序加入新的功能以方便我的使用,
比如在软件的图形界面中,加入两点连线的功能,方便我检查点的位置是否准确。
如果用python写的源码,那很有可能能反编译出源码,方便修改。
如果用C++写的,那是不是就只能IDA打补丁修改一下,这一部分我还不清楚怎么处理,还要进一步学习。

再看用X64dbg脱壳PESpin V1.2 X64的过程及问题:
按照附件pespin2.swf动画,脱壳
如图8,下断点及硬件断点后,找到jmp a.140C3FD00

如图9,进入OEP 0000000140C3FD00

如图10,scylla,出现问题:IAT Autosearch,normal与advanced结果不同,这会导致后面存在问题?

选择advanced,再点击Get Imports。
如图11,全绿色对号。

但展开绿色对号查看,有叹号项,如图12,这里不管是前面选advanced还是选normal,都是全绿色对号,展开后发现个别项有叹号,会导致后面出现问题?

然后依次dump,fixdump,得到a_crack_dump_SCY_advance.exe。
以上说明脱壳没完全成功?
望大家不吝赐教!谢谢!
附:原软件下载。
http://www.pc0359.cn/downinfo/73615.html


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2019-9-4 12:24 被jimcarrey编辑 ,原因:
上传的附件:
收藏
免费 1
支持
分享
最新回复 (3)
雪    币: 9217
活跃值: (1906)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
先会正,才会逆
2019-9-4 14:53
0
雪    币: 59
活跃值: (1601)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
1.完美脱壳的问题好解决。可以用PE对比工具(https://bbs.pediy.com/thread-171392.htm),对比下你脱壳后的文件和原始文件的代码段,看看都修改了什么地方,然后直接在原始文件对应的地方改下就行了。还有办法是直接手动优化脱壳后的文件,这个可以百度搜索关键字 脱壳后文件的优化。
2.问题在于楼主的第二个需求,修改程序增加新功能。。。无论在难度和工作量上,都比脱壳高了好几个数量级,楼主确定能搞定?
最后于 2019-9-4 18:48 被zbzb编辑 ,原因:
2019-9-4 18:38
0
雪    币: 48
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
感谢解答!这个想法确实有点无知者无畏的意思,我能感觉到。原来以为是python写的,python有些反编译方案,能得到源码,虽然可能不完美。于是就上路了。后来发现,可能是C++写的,如果是C++的话,难度就大了太多。
2019-9-5 08:39
0
游客
登录 | 注册 方可回帖
返回
//