大家好!
初涉逆向,基础薄弱,自用软件练手尝试。
脱壳结束后,不知道是否脱干净?以及这个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