很多软件可能会涉及到一些进程操作,这里有一个比较关键常见的操作就是需要取出进程的id
id每次是Windows系统随机分配的,因此无法补数据固定,破解者只能补齐这个运算过程,难度极大
我们可以在此处设计如下算法:
请求端取出本机全部的进程数据(包含进程名与进程id)
例子代码
————————————————————————————
请求端
变量名 | 类 型 | 静态 | 数组 | 备 注 | 计次 | 整数型 | | | 进程信息 | 进程信息 | | 0 | 进程列表 | 文本型 | | | 进程数 | 整数型 | | | post数据 | 文本型 | | | 进程id | 文本型 | | |
进程信息 = 取系统进程列表 ()进程数 = 取数组成员数 (进程信息 )计次循环首 (进程数, 计次 )进程列表 = 进程列表 + 进程信息 [计次 ].进程名称 + “——” + 到文本 (进程信息 [计次 ].进程标识符 ) + #换行符 计次循环尾 ()post数据 = “[f=GetProcess]” + 进程列表 进程id = 到文本 (网页_访问 (“文本接口地址”, 1, post数据 ))
取出的结果预览
进程名——进程id
进程名——进程id
进程名——进程id
……
sxd.dll代码
|
GetProcess | 文本型 | √ | |
get数据 | 文本型 | | | | post数据 | 文本型 | | | | ip | 文本型 | | | | 传递序号 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 传入文本值 | 文本型 | | | 要取出的进程名 | 文本型 | | | 进程id | 文本型 | | |
传入文本值 = post数据 要取出的进程名 = “test.exe”进程id = 文本_取出中间文本 (传入文本值, 要取出的进程名 + “----”, #换行符 )返回 (进程id )
提示:
因为本地的进程数据可能比较多,全部获取提交服务器浪费宽带,因此我们可以取特定范围长度进程名的数据
变量名 | 类 型 | 静态 | 数组 | 备 注 | 计次 | 整数型 | | | 进程信息 | 进程信息 | | 0 | 进程列表 | 文本型 | | | 进程数 | 整数型 | | | post数据 | 文本型 | | | 进程id | 文本型 | | |
进程信息 = 取系统进程列表 ()进程数 = 取数组成员数 (进程信息 )计次循环首 (进程数, 计次 ) 判断 (取文本长度 (进程信息 [计次 ].进程名称 ) < 5 或 取文本长度 (进程信息 [计次 ].进程名称 ) > 10 )到循环尾 ()进程列表 = 进程列表 + 进程信息 [计次 ].进程名称 + “——” + 到文本 (进程信息 [计次 ].进程标识符 ) + #换行符 计次循环尾 ()post数据 = “[f=GetProcess]” + 进程列表 进程id = 到文本 (网页_访问 (“文本接口地址”, 1, post数据 ))
|