易语言Patch机器码+无限试用+爆破方法
本教程由热情洋溢的木木不哭赞助播出(“哎呀我摔倒了要漂亮姐姐亲亲才能起来{:5_187:}”)逆向前言:程序通过time.tianqi.com进行时间判断,通过时钟校验写入的时间,运算出结果判断是否试用到期等
由于此程序是易语言非独立编译的,所以找按钮事件需要去10001000,字符串查找需要到E原体,,,所以我们先来改机器码
机器码部分:
机器码的组成大概有cpuid+网卡号,所以他的算法部分我们不讲,我直接说怎么找到取机器码的点,然后修改它
首先下按钮事件FF 55 FC 5F
然后我们走进这个call,注意看eax的值(取机器码部分跳过,直接到结果地址)
很明显我们只需要修改此时eax的值,就达到了Patch机器码的目的,机器码一共有10位数字,然后我们补码即可,,,
但是补的机器码是固定的,所以我们需要借助易语言写内存,不过问题来了,如果用易语言的话我们需要对时机有所把握,程序在启动时就会进行运算,如果等运算完毕再修改没有意义
所以等会我提供两个思路给大家,先来看源码怎么写,,,
首先创建一个dll模版,然后这样写,用的精易模块,我先来解释下这几句代码的意思
首先是循环取10次随机数字,然后把取的数字放到变量里面,最后写内存字节集,也就是补码
那么达到的效果是怎样呢?我们来试验一下
首先我把变量放到一个固定的内存地址当中,补的机器码也是调用这个内存地址的内容,然后被赋值,即可完成我们的Patch操作
但是这样写dll补丁有一个缺陷,时机不好把握,所以我提供以下几种方法
1.写dll注入器------注入器创建并运行原程序,然后将原程序暂停并注入dll,最后将进程取消暂停即可完成(如果带有Hook是最好)
2.IAT修改------ 将此dll导入IAT,使dll在程序运行时自动加载
3.dll劫持------ 这个方法比较简单,dll劫持源码挺多的,但是我个人不喜欢
以上我只说前两种方法,直接下载dll注入器
第一个方法就直接点注入,第二个方法直接点注入到导入表即可,是不是挺简单呢?但是如果你不喜欢这个注入器,想要个性化那就自己写一个吧
需要注意的是一定要让注入器运行程序,否则等程序完全跑起来再注入就无效了,至少我还没见过你们那些所谓的FZdll注入有什么卵用,,,
无限试用:
刚讲了怎么Patch机器码,那么我们来讲怎么无限使用,我们看按钮事件
首先是判断是否存在这个zcm.ini文件,然后判断是否存在内容
如果不存在就获取现在的时间并写入
当我们再次运行,按钮事件被断下,所以我们跟进来
**** Hidden Message *****
留下爪印。穷的瑟瑟发抖 看上去很复杂哦! 不知道是不是源码 dll注入器放一份:
学习一下···· 好厉害的样子 楼主幸苦了 {:5_116:} 围观注入器~嘿嘿 谢谢分享