• 手脱FSG 2.0 -> bart/xt


    声明:

    只为纪录自己的脱壳历程,高手勿喷
    

    1.在入口的第二行ESP定律下硬件断点然后F9运行8次(因为第9次就跑飞了)

    0040955C >  60              pushad
    0040955D    EB 04           jmp short UnPackMe.00409563  //ESP定律F9运行8次
    0040955F    625CE9 F1       bound ebx,qword ptr ds:[ecx+ebp*8-0xF]
    00409563    87EB            xchg ebx,ebp
    00409565    EB 03           jmp short UnPackMe.0040956A
    00409567  ^ E0 BB           loopdne short UnPackMe.00409524
     

    2.ESP定律后的落脚点

    0040B186    51              push ecx        //ESP8次的落脚点,然后F8往下跟
    0040B187    87D9            xchg ecx,ebx
    0040B189    40              inc eax
    0040B18A    48              dec eax
    0040B18B    87D9            xchg ecx,ebx
    0040B18D    83C4 04         add esp,0x4
    0040B190    8B6C24 24       mov ebp,dword ptr ss:[esp+0x24] 
     

    3.然后单步,注意点:

    ①带数字的CALL用F7跟进
    ②不带数字的CALL直接F8步过
    ③尽量使用F2,shift+F9,F2来下断运行,因为我常使用F4的时候会跑飞

    路上需要注意的下断  地方一:
    00400179  ^73 FA           jnb short UnPackMe.00400175 //在这个跳转的下一行下断
    0040017B    75 3A           jnz short UnPackMe.004001B7 //这是一个向下的跳转
    0040017D    AA              stos byte ptr es:[edi]
    0040017E  ^ EB E0           jmp short UnPackMe.00400160 //在下一行CALL下断点
    00400180    FF53 08         call dword ptr ds:[ebx+0x8]
    路上需要注意的下断  地方二:
    004001CF   /75 03           jnz short UnPackMe.004001D4//这个向上跳转下面下断点
    004001D1  -|FF63 0C         jmp dword ptr ds:[ebx+0xC] //因为这一行直接跳向OEP的
    004001D4   50              push eax
    004001D5    55              push ebp    

    4.来到OEP

    00401700    55              push ebp                 //这里就是OEP
    00401701    8BEC            mov ebp,esp
    00401703    6A FF           push -0x1
    00401705    68 00254000     push UnPackMe.00402500
    0040170A    68 86184000     push UnPackMe.00401886
    0040170F    64:A1 00000000  mov eax,dword ptr fs:[0]
    00401715    50              push eax
    00401716    64:8925 0000000>mov dword ptr fs:[0],esp
    0040171D    83EC 68         sub esp,0x68
     

    5.然后修复脱壳就OK了

  • 相关阅读:
    NOIP2016 愤怒的小鸟
    LCIS code force 10D
    UVA 1398
    uva1382 Distant Galaxy
    洛谷-3930(我在洛谷上也写了题解)
    HDU-1505 City Game
    导弹拦截n logn的算法(单调性)洛谷1020
    POJ 1182 食物链
    POJ
    1202. 交换字符串中的元素
  • 原文地址:https://www.cnblogs.com/JianXu/p/5158408.html
Copyright © 2020-2023  润新知