精易论坛

标题: 【蠢新学汇编】通过 特征码 取子程序指针 BUG版 [打印本页]

作者: 笨来无一悟    时间: 2024-8-5 16:08
标题: 【蠢新学汇编】通过 特征码 取子程序指针 BUG版
捣鼓了几天 捣鼓出来了 测试下来循环123456789次才提速30毫秒 快一丁点 代价是写的时候还得注意写的位置 不值得

除了回调 似乎也没有取子程序指针的需求 真要回调还是用类回调更稳定 本源码只是本蠢新学习汇编路上练手的小玩意儿

放在启动窗口创建完毕之外的子程序最开始获取一切正常 测试了很多次 会闪退的 稳定闪退 不会闪退的一直不闪退 也就是说运行一次通过了 那就是过了

重要的事情说三遍
需要回调的 老老实实的用类回调
需要回调的 老老实实的用类回调
需要回调的 老老实实的用类回调
有BUG但是不打算修了 技术有限 修起来心好累 我自己会用这个 但是不推荐别人用 因为用的时候不小心容易出错
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
子程序名返回值类型公开备 注
__启动窗口_创建完毕 启动窗口创建完毕下面获取是会出错的 单独某个子程序的最开始似乎正常 不清楚是访问了不能访问的内存地址还是堆栈的问题
' 取子程序指针(哨兵(),目标程序(参数1,参数2,...))
子程序名返回值类型公开备 注
取子程序指针整数型 取出 带返回值 参数任意类型 的 子程序指针 没有返回值的 随便加一个 返回(0) 也能获取
参数名类 型参考可空数组备 注
盯梢程序整数型哨兵( ) 程序1(程序2(),程序3()) 调用顺序 2 3 1 利用自身的优先级 拦截目标程序
目标程序通用型某某程序名( ) 参数 可空就留空 不是可空 那就乱填 截获指针之后会绕过 不会执行
返回 (0)  ' 只是用于将 目标程序( ) 与 哨兵( ) 捆绑执行 目标程序 的 数值类型 一律填 0 字节集填 { 0 } 文本填 " " 其他 随意
子程序名返回值类型公开备 注
哨兵整数型 取子程序指针( ) 的 具体实现
变量名类 型静态数组备 注
截获子程序指针取子程序指针( ) 入口出口
可读整数型Call 目标地址 合法性检测
截获 = &取子程序指针
可读 = GetProcAddress (GetModuleHandleA (“Kernel32.dll”), “IsBadReadPtr”)  ' IsBadCodePtr
置入代码 ({ 139, 117, 252, 70, 138, 14, 128, 249, 232, 117, 248, 139, 78, 1, 141, 124, 14, 5, 137, 125, 252 })
置入代码 ({ 139, 117, 4, 70, 138, 14, 128, 249, 232, 117, 248, 139, 78, 1, 141, 124, 14, 5, 57, 125, 252, 117, 236, 141, 126, 5, 137, 125, 252 })
置入代码 ({ 78, 78, 138, 14, 128, 249, 232, 117, 248, 139, 78, 1, 141, 124, 14, 5, 131, 255, 0, 126, 236, 106, 4, 87, 255, 85, 248, 133, 192, 117, 226, 138, 15, 128, 249, 85, 117, 219, 137, 248, 139, 85, 252, 131, 196, 8, 201, 131, 196, 4, 255, 226 })
返回 (0)
' mov esi,dword [ebp-4]
' 标记入口:
' inc esi
' mov cl,byte [esi]
' cmp cl,232
' jne 标记入口
' mov ecx,dword [esi+1]
' lea edi,dword [esi+ecx+5]
' mov dword [ebp-4],edi
' mov esi,dword [ebp+4]
' 寻找出口:
' inc esi
' mov cl,byte [esi]
' cmp cl,232
' jne 寻找出口
' mov ecx,dword [esi+1]
' lea edi,dword [esi+ecx+5]
' cmp dword [ebp-4],edi
' jne 寻找出口
' lea edi,[esi+5]
' mov dword [ebp-4],edi
' dec esi
' 目标指针:
' dec esi
' mov cl,byte [esi]
' cmp cl,232
' jne 目标指针
' mov ecx,dword [esi+1]
' lea edi,dword [esi+ecx+5]
' cmp edi,0
' JLE 目标指针
' push 4
' push edi
' Call dword [ebp-8]
' test eax,eax
' jne 目标指针
' mov cl,byte [edi]
' cmp cl,85
' jne 目标指针
' mov eax,edi
' mov edx,dword [ebp-4]
' add esp,8
' leave
' add esp,4
' jmp edx

  
DLL命令名返回值类型公开备 注
GetModuleHandleA整数型 获取一个应用程序或动态链接库的模块句柄。如执行成功成功,则返回模块句柄。零表示失败。
DLL库文件名:
kernel32.dll
在DLL库中对应命令名:
GetModuleHandleA
参数名类 型传址数组备 注
lpModuleName文本型指定模块名,这通常是与模块的文件名相同的一个名字。例如,NOTEPAD.EXE程序的模块文件名就叫作NOTEPAD只有在当前进程的场景中,这个句柄才会有效
DLL命令名返回值类型公开备 注
GetProcAddress整数型 从指定的动态链接库中检索一个导出的函数或变量的地址
DLL库文件名:
kernel32
在DLL库中对应命令名:
GetProcAddress
参数名类 型传址数组备 注
模块句柄整数型用LoadLibrary或getmodulehandle函数返回的句柄
函数名称文本型函数名称
DLL命令名返回值类型公开备 注
IsBadReadPtr整数型 检测某段内存是否可读
DLL库文件名:
kernel32.dll
在DLL库中对应命令名:
IsBadReadPtr
参数名类 型传址数组备 注
lpMemory整数型目标地址指针
dwSize整数型长度


[groupid=227]热心网友[/groupid]

特征码 取子程序指针 瑕疵版.e

6.33 KB, 下载次数: 4, 下载积分: 精币 -2 枚

取子程序指针(哨兵(),目标程序(参数1,参数2,...))


作者: pipicool    时间: 2024-8-5 16:10
学习一下
作者: 元老    时间: 2024-8-5 16:15
看到你们技术一天比一天强,咋这么嫉妒嘞
作者: 7ian    时间: 2024-8-5 16:21
我是这种写法,测试各种参数类型还有可空都没问题,就是 不兼容没有参数的子程序,但是没有参数的字节用 &子程序 就行
不需要用它,目前还在测试更多的类型



作者: 笨来无一悟    时间: 2024-8-5 16:37
7ian 发表于 2024-8-5 16:21
我是这种写法,测试各种参数类型还有可空都没问题,就是 不兼容没有参数的子程序,但是没有参数的字节用 & ...

你测试一下 这样正不正常

这种情况也会产生多余的CALL.png (9.21 KB, 下载次数: 42)

这种情况也会产生多余的CALL.png

作者: 752400010    时间: 2024-8-5 16:46
555555555555555555555555555555555555555
作者: 7ian    时间: 2024-8-5 16:53
比如这样,把所有要取的可以初始化加载下,记录在变量里,毕竟地址不会变,没必要每次都去新建个子程序里获取计算一下


作者: 贾克斯    时间: 2024-8-5 16:55

学习一下
作者: bianyuan456    时间: 2024-8-5 17:15
已经顶贴,感谢您对论坛的支持!
作者: GawrGura    时间: 2024-8-5 18:37
已经顶贴,感谢您对论坛的支持
作者: 艾玛克138    时间: 2024-8-5 21:28
又学到技术了,谢谢老大
作者: ttggnn    时间: 2024-8-5 21:41
支持开源~!感谢分享
作者: year1970    时间: 2024-8-6 07:54
感谢分享
作者: jtucar    时间: 2024-8-6 08:58
感谢分享!
作者: 一指温柔    时间: 2024-8-6 09:40
感谢分享!
作者: a3960382663    时间: 2024-8-6 11:52
感谢分享
作者: wenbb2021    时间: 2024-8-6 16:04
66666666666666666666666666666666
作者: ctry78985    时间: 2024-8-7 06:33
感谢分享
作者: 396384183    时间: 2024-8-7 16:00
支持开源~!感谢分享
作者: 胖子葛格    时间: 2024-8-8 09:29
感谢大神分享~!
作者: 光影魔术    时间: 2024-8-8 13:18
感谢分享源码
作者: 熊不熊    时间: 2024-12-4 21:05
感谢分享,很给力!~




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4