您现在的位置是:首页 > 互联网 > 正文
脱壳软件怎么用(常见几种软件脱壳方法)
发布时间:2022-07-08 13:18:29编辑:来源:
大家好,小太来为大家解答以上问题。脱壳软件怎么用,常见几种软件脱壳方法这个很多人还不知道,现在让我们一起来看看吧!
一、概论
出于程序作者希望压缩和注册程序资源的目的,shell分为压缩shell和加密shell(强shell)。
'upx''aspcak''Telock''Pelite''NSPack(北斗)'.
犰狳''作为保护''Acrotect''EPE(国王)''SVKP'.
顾名思义,压缩外壳只是压缩资源来减少程序的体积,加密外壳就是程序输入表等等进行加密保护。
当然加密壳保护性强多了!
一、二、工具的认识
OllyDBGring3外壳级动态编译工具,
PEid,
ImportREC、
洛德普,
软许可0级调试工具
二、三、常见手动脱壳方法
三、预备知识
1.Pushhad(push/push)代表程序的入口点,
2.POPAD代表程序的出口点,与PUSHAD的想法相对应。一般这种OEP就在附近。
3.OEP:程序的入口点。当软件被加壳时,它会隐藏OEP(或者使用一个假的OEP/FOEP)。只要找到程序真正的OEP,就可以马上脱壳。
四、方法一:单步跟踪法
1.用OD加载,点击“不分析代码!”
2.一步跟踪F8向下,实现向下跳跃。也就是说,跳起来不会让它发生!(通过F4)
3.当程序跳回(包括循环)时,我们在下一个代码处按F4(或者右键单击代码并选择断点3354以运行到所选的那个)
4.绿线表示跳跃未实现,忽略不计,红线表示跳跃已实现!
5.如果程序刚加载完,附近有CALLone,我们就按F7跟着进去,否则程序就容易飞起来,这样就能很快到达程序的OEP。
6.跟踪时,如果运行到某个调用程序,在这个调用中按F7键进入。
7.一般都是大跳(大跨度),比如jmpXXXXXX或者JEXXXXXX或者有RETN的一般都会很快到了节目的OEP。
近呼F7,远呼F8
Btw:有些炮弹追踪不到的时候,可以找一个附近没有实现的大跳跃。右键-“跟随”,F2往下,ShiftF9停在“跟随”位置,然后取消断点,继续F8单步跟踪。总的来说可以轻松达到OEP!
五、方法二:ESP定律法
ESP的定理在壳外(ESP在OD的寄存器里。只要在命令行访问ESP硬件的断点,马上就来到程序的OEP!)
1.点击开头的F8,观察OD右上角的寄存器中是否弹出ESP(变红)。(这只是一般情况,更具体的说,我们选择的ESP值是关键句后的第一个ESP值)
2.在命令行:DDXXXXXX(指当前代码中的ESP地址,或者HRXXXXXX),回车!
3.选择下一个断点的地址,断点-硬件访问-字断点。
4.按F9运行程序,然后删除硬件访问断点,直接跳转到跳转点。按F8到达程序OEP。
六、方法三:两次内存镜像法
1:用OD打开软件!
2:点击选项3354调试选项3354异常,忽略上面所有内容!Ctrl重新加载程序!
3:按ALTM打开内存镜像,找到第一个。程序的rsrc资源。按F2中断该点,然后按SHIFTF9运行到断点,然后按ALTM打开内存映像并找到。代码在第一个之上。rsrc。的程序(即00401000个位置)。按F2破点!然后按SHIFTF9(没有异常就按F9)直接到达程序OEP!
七、方法四:一步到达OEP
1.开始按CtrlF,输入:popad(只适合少数shell,包括UPX和ASPACKshells),然后按F2和F9运行到这里。
2.来到大跳跃,点击F8,到达OEP!
方法:末次变态法。
1.用OD打开软件。
2:点击选项3354调试选项3354异常,去掉里面所有的!CTRLF2重载程序
3:一开始,程序是一个跳转。这里我们按SHIFTF9直到程序运行,记下从按SHIFTF9开始到程序运行的次数M!
4:CtrlF2重新加载程序,按SHIFTF9(这次的次数是程序运行m-1次的次数)
5:在OD的右下角,我们看到一个‘SE手柄’。这时候我们按CTRLG,在SE句柄前输入地址!
6:按F2破点!然后按SHIFTF9到断点!
7:去掉断点,按F8慢慢下去!
8:到达程序的OEP!
八、方法六:模拟跟踪法
Btw:大家在使用这个方法的时候,要理解他是要在怎么样的情况下才可以使用
九、软件破解常用汇编指令
cmpa,b//比较a与b mova,b//把b值送给a值,使a=b ret//返回主程序 nop//无作用,英文(nooperation)简写,意思“donothing”(机器码90) (ultraedit打开编辑exe文件看到90相当汇编语句的nop)
call//调用子程序,子程序以ret结尾 je或jz//相等则跳(机器码是74或84) jne或jnz//不相等则跳(机器码是75或85) jmp//无条件跳(机器码是EB) jb//若小于则跳 ja//若大于则跳 jg//若大于则跳 jge//若大于等于则跳 jl//若小于则跳 popxxx//xxx出栈 pushxxx//xxx压栈
jmp
;无条件跳转指哪飞哪一些杂志中说的直飞光明顶,指的就是它了~光明顶一般指爆破地址根据条件跳转的指令:
JE;等于则跳转 JNE;不等于则跳转 JZ;为0则跳转 JNZ;不为0则跳转 JS;为负则跳转 JNS;不为负则跳转 JC;进位则跳转 JNC;不进位则跳转 JO;溢出则跳转 JNO;不溢出则跳转 JA;无符号大于则跳转 JNA;无符号不大于则跳转 JAE;无符号大于等于则跳转 JNAE;无符号不大于等于则跳转 JG;有符号大于则跳转 JNG;有符号不大于则跳转 JGE;有符号大于等于则跳转 JNGE;有符号不大于等于则跳转 JB;无符号小于则跳转 JNB;无符号不小于则跳转 JBE;无符号小于等于则跳转 JNBE;无符号不小于等于则跳转 JL;有符号小于则跳转 JNL;有符号不小于则跳转 JLE;有符号小于等于则跳转 JNLE;有符号不小于等于则跳转 JP;奇偶位置位则跳转 JNP;奇偶位清除则跳转 JPE;奇偶位相等则跳转 JPO;奇偶位不等则跳转 我们实际用到的最常用的只有jmp、je、jne、jz、jnz而已所以只要清楚这5个跳转的条件即可,别的那些了解下就好了
十、下面开始说传递跟比较指令:
传递指令: mov 比较指令: Cmp 例: moveax,1 movecx,eax cmpecx,eax//这个就是标志位 我们已知eax跟ecx都是1
那就符合je的跳转条件
本文到此结束,希望对大家有所帮助。
标签:
猜你喜欢
最新文章
- DeepSeek公告:线上服务遭大规模恶意攻击,暂限非+86手机号注册
- IGN揭秘《刺客信条:影》新实机演示:主角形象深入人心!
- 焕新登场:全新起亚K4紧凑型车图解赏析
- 重庆:2025年将持续推进163项城中村改造项目
- 蔚来乐道春节期间暂停车机升级,2月6日恢复推送服务
- 超有牌面!国产游戏《明末:渊虚之羽》登上英国《EDGE》杂志封面,漫画风女侠惊艳亮相
- 币界网晚间行情速递:BTC比特币报价$103,391.48,日内微跌1.04%
- 暗区突围:全面转载新手必备攻略
- 未来人生:个人满级天赋展示与深度评价(五)
- 探索功夫英雄的奇妙世界:玩法特色与剧情概览
- 最后一波福利!速来领取《黑神话:悟空》限定红包封面!
- 《暗黑4》Steam史无前例大促:标准版仅售191.4元,速来抢购!
- 广东:2027年目标全面构建绿色低碳循环经济体系
- 金价飙升,直逼840元大关!黄金店铺春节延期休假,蛇金饰品与足金手机贴受热捧!
- 《宝可梦卡牌P》新扩展包时空激战1月30日震撼发布,帝牙卢卡荣耀参战
- 截至今晨7点,全国172个公路路段受雨雪寒潮侵袭影响
- 币界网晚间行情速递:DOT波卡币攀升至6.446美元/枚,日内涨幅达2.01%
- 《龙腾世纪4》销量惨淡致EA股价暴跌21.25%!市场反应强烈
- 比亚迪海豹汽车OTA升级:全新引入城市领航功能等重磅更新
- 特朗普透露或于30日天内决断TikTok命运
- 10亿基金助力,中部城市赣州抢占人形机器人产业先机
- 《蛋仔派对》服务器崩溃引发玩家不满,官方深夜致歉并修复问题
- Stellantis重启美国贝尔维迪尔工厂,千余员工将重返岗位
- 一鸣食品全资子公司增资扩建:1.32亿打造4500头规模繁育基地