博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
手脱ASProtect v1.23 RC1(无Stolen Code)
阅读量:5278 次
发布时间:2019-06-14

本文共 2999 字,大约阅读时间需要 9 分钟。

1.载入PEID

ASProtect v1.23 RC1

2.载入OD,不勾选内存访问异常,其他异常全部勾选

00401000 >  68 01C04200     push 跑跑排行.0042C001                       ; //入口处00401005    E8 01000000     call 跑跑排行.0040100B0040100A    C3              retn0040100B    C3              retn0040100C    D6              salc0040100D    54              push esp0040100E    4A              dec edx0040100F    60              pushad00401010    55              push ebp

 

 

3.使用最后一次异常法,来到最后一次异常处应该是第16次,第17次就跑飞了

009E2CD1    3100            xor dword ptr ds:[eax],eax               ; //落脚点009E2CD3    64:8F05 0000000>pop dword ptr fs:[0]009E2CDA    58              pop eax009E2CDB    833D 7C6D9E00 0>cmp dword ptr ds:[9E6D7C],0009E2CE2    74 14           je short 009E2CF8009E2CE4    6A 0C           push 0C009E2CE6    B9 7C6D9E00     mov ecx,9E6D7C009E2CEB    8D45 F8         lea eax,dword ptr ss:[ebp-8]009E2CEE    BA 04000000     mov edx,4009E2CF3    E8 54E1FFFF     call 009E0E4C

 

 

4.往下拉找到最近的一个retn处F2,shift+F9,F2,让程序运行到指定位置

009E2D08    FF75 F0         push dword ptr ss:[ebp-10]009E2D0B    FF75 EC         push dword ptr ss:[ebp-14]009E2D0E    C3              retn                                     ; //F2,shift+F9,F2009E2D0F    5F              pop edi009E2D10    5E              pop esi009E2D11    5B              pop ebx

 

 

5.程序到这里有两种方式可以到达OEP:

  • 第一种:

打开内存窗口,在00401000处下段然后shift+F9就可以到达OEP

0040A41E    55              push ebp                                 ; //来到OEP0040A41F    8BEC            mov ebp,esp0040A421    6A FF           push -10040A423    68 C8CB4000     push 跑跑排行.0040CBC80040A428    68 A4A54000     push 跑跑排行.0040A5A4                      0040A42D    64:A1 00000000  mov eax,dword ptr fs:[0]0040A433    50              push eax0040A434    64:8925 0000000>mov dword ptr fs:[0],esp0040A43B    83EC 68         sub esp,68

 

 
  • 第二种:

找到堆栈窗口第四行(跑跑排行榜.0040000下面两行)的值,也就是”0012FFA4”,然后命令行下硬件断点”hr 0012FFA4”,然后shift+F9运行一次

 

堆栈窗口:

0012FF5C   009F2BF4  //第一行0012FF60   00400000  跑跑排行.004000000012FF64   3D375BA50012FF68   0012FFA4  //第四行0012FF6C   009D00000012FF70   009B0000

 

 

这里是一个大跳转,也就是指向OEP的关键跳,F8单步一次

009F3457  - FFE0            jmp eax                                  ; //落脚点009F3459    66:8BC4         mov ax,sp009F345C    BD F2E44268     mov ebp,6842E4F2009F3461    F7D5            not ebp009F3463    81C5 8039C332   add ebp,32C33980009F3469    80D2 51         adc dl,51009F346C    BF A1CAF122     mov edi,22F1CAA1009F3471    C1CF B3         ror edi,0B30040A41E    55              push ebp                                 ; //来到OEP0040A41F    8BEC            mov ebp,esp0040A421    6A FF           push -10040A423    68 C8CB4000     push 跑跑排行.0040CBC80040A428    68 A4A54000     push 跑跑排行.0040A5A4                      0040A42D    64:A1 00000000  mov eax,dword ptr fs:[0]0040A433    50              push eax0040A434    64:8925 0000000>mov dword ptr fs:[0],esp0040A43B    83EC 68         sub esp,68

 


6.然后依然是LoadPE+ImportREC脱壳,注意使用ImportREC修复的时候等级1+插件修复

7.运行查壳

运行OK,查壳:Microsoft Visual C++ v6.0

转载于:https://www.cnblogs.com/JianXu/p/5158364.html

你可能感兴趣的文章
浅说 apache setenvif_module模块
查看>>
MySQL--数据插入
查看>>
重新学习python系列(二)? WTF?
查看>>
shell脚本统计文件中单词的个数
查看>>
SPCE061A学习笔记
查看>>
sql 函数
查看>>
hdu 2807 The Shortest Path 矩阵
查看>>
熟悉项目需求,要知道产品增删修改了哪些内容,才会更快更准确的在该项目入手。...
查看>>
JavaScript 变量
查看>>
java实用类
查看>>
smarty模板自定义变量
查看>>
研究称90%的癌症由非健康生活习惯导致
查看>>
命令行启动Win7系统操作部分功能
查看>>
排序sort (一)
查看>>
Parrot虚拟机
查看>>
Teamcenter10 step-by-step installation in Linux env-Oracle Server Patch
查看>>
Struts2学习(三)
查看>>
Callable和Runnable和FutureTask
查看>>
GitHub 多人协作开发 三种方式:
查看>>
文本域添加编辑器
查看>>