Shy 发表于 2016-7-20 01:05

易语言去除脱壳校验+去除定时退出

本帖最后由 Shy 于 2016-7-20 21:18 编辑

悬赏帖:https://www.52hb.com/thread-25835-1-1.html
本教程由热情洋溢的木木不哭赞助播出(“哎呀我摔倒了要漂亮姐姐亲亲才能起来{:5_187:}”)


逆向前言:虽然说已经解决了,但是我搞了将近三个小时,基本上弄懂了它的校验方式,,故放出图文供参考,写完睡觉 ,,,,

脱壳校验:

一开始我以为是用函数GetFileSize,然后一直都断不下,所以我就换了个函数,,,
因为这个脱壳校验是在程序登录时候,如果发现获取的文件尺寸大于2DADE0,换成10进制为2993632,大概是2.85M左右,然后就会出现程序无故退出的情况


首先运行软件,然后我们再下好获取文件尺寸的断点FindFirstFileA,或者是FindClose,否则会一直断下的,,,这点需要注意


在堆栈窗口出现文件名的时候,我们再返回到程序领空

所以直接把这个jl改成jmp,程序就不会出现登录以后退出的情况
---------------------------------------------------------------------分割
定时退出:
这个程序PJ完毕以后,还会出现延迟退出的情况,我们知道 易语言此种情况一般有三种写法,
1.延迟(Time)单位ms
2.延时(Time)单位ms
3.时钟.时钟周期

据我分析,这个程序是第三种情况,延时的话很容易找到,
延时的OD代码表现为:
0040100F    68 01030080   push 0x80000301
00401014    6A 00         push 0x0
00401016    68 B80B0000   push 0xBB8 (转换为10进制就是延时的时间,刚好为3000)
0040101B    68 01000000   push 0x1
00401020    BB 60134000   mov ebx, 00401360
00401025    E8 88000000   call 004010B2


延时特征码:
8B 44 24 0C 33 C9 8B 00 85 C0 0F 9C C1 49 23 C1 50


00401360    8B4424 0C       mov eax, dword ptr
00401364    33C9            xor ecx, ecx
00401366    8B00            mov eax, dword ptr
00401368    85C0            test eax, eax
0040136A    0F9CC1          setl cl
0040136D    49            dec ecx
0040136E    23C1            and eax, ecx
00401370    50            push eax
00401371    FF15 B4C24700   call dword ptr [<&KERNEL32.Sleep>]       ; kernel32.Sleep
00401377    C3            retn


很显然在我们下断后,这里没有触发,那么就要考虑是不是用的延迟或者是时钟了,延迟我好像记得应该是精易模块的命令,所以我先猜测的是时钟

那么我们下时钟断点以后,SetTimer,找到了这里

我们看右下角的堆栈,发现了大概是延迟一分钟左右,就会退出,那么我们要么把这里改掉,不让他创建时钟,要么就去找退出
有想动手的朋友可以试试把时间改为0,看看有没有效果

退出:
退出的找法就简单了,他的退出并不是简单的调用ExitProcess,他用的命令是销毁
易语言结束进程的写法太多,这里我了解也不多,就不说明了

所以大家自己用销毁命令找一个特征码就可以了
83 EC 1C 56 8B 74 24 2C 8B 46 08 3D 01 02 00 80


当然这里最简单的办法就是用按钮事件,直接可以找到

段首改成retn即可,,,
关于程序的逆向,我看看明天能不能搞,能搞就放出方法


Shark恒 发表于 2016-7-20 08:13

编程基础决定逆向切入点的灵活性!感谢楼主的教程

jjwjzp 发表于 2016-7-20 20:01

先点赞、再学习

fcguo800 发表于 2018-1-23 08:30

感谢楼主的教程,新手学习中。

别管我了行 发表于 2022-4-7 04:39

ldljlzw 发表于 2022-4-7 10:21

曾经沧海 发表于 2022-12-25 18:52

这个必须点个赞!

一生逍遥 发表于 2023-1-8 09:19

感谢楼主分享!

曾经沧海 发表于 2023-5-30 17:56

高手,学习了

sjtkxy 发表于 2023-10-4 05:05

页: [1] 2
查看完整版本: 易语言去除脱壳校验+去除定时退出