lua文本读取账号密码分割登录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lua文本读取账号密码分割登录相关的知识,希望对你有一定的参考价值。

是这样的,我想实现,比如QQ账号密码,在TXT文本,怎么实现分割后,每次读取一行进行登录,试过很多方法都不行,有地方不通!每次 要不就是获取全部了,要不只获取了第一行,切换下一行也切换不了!
迭代的话也是 也是直接读取了全部 账号密码,我的意思 就是 每次调用的时候 取一行,下次调用取第二行 就这样!

以下是基于lua4 的类似 python 的split函数的功能。供参考:

function strformat(s)
local x,ch
--x='' for i=1,strlen(s) do ch=strsub(s,i,i);if not (ch>='0' and ch<='9') then x=x..ch end end
x=gsub(s,"%c-%s-%p-(%w+)","%1 ")
x=gsub(x,"^%s*(.-)%s*$", "%1")
return x
end

function lua_string_split(str, split_char)
local sub_str_tab = ;

while 2>1 do
local pos = strfind(str, split_char);
if (not pos) then
local size_t = getn(sub_str_tab)
tinsert(sub_str_tab,size_t+1,str);
break;
end

local sub_str = strsub(str, 1, pos - 1);
local size_t = getn(sub_str_tab)
tinsert(sub_str_tab,size_t+1,sub_str);
local t = strlen(str);
str = strsub(str, pos + 1, t);
end
return sub_str_tab;
end


s="Hello\\t world\\t bb 888 ~[],!.(),is lua\\n we   are the world"
-- 以下行删除数字
x='' for i=1,strlen(s) do ch=strsub(s,i,i);if not (ch>='0' and ch<='9') then x=x..ch end end
x=gsub(x,"%c-%s-%p-(%w+)","%1 ") --删除串中的除字母数字外的所有字符(单词以一个空格间隔)
x=gsub(x,"^%s*(.-)%s*$", "%1")      --删除尾空
print(x)

print(strformat('Hello\\t world\\t bb 888 ~[],!.(),is lua\\n we   are the world'))
s="Hello\\t world\\t bb 888 ~[],!.(),is lua\\n we   are the world"
s=strformat(s)
--s=gsub(s,' ',',')
s=lua_string_split(s,' ')
for i=1,getn(s) do print((s[i])) end

--~ 下面的表列出了Lua支持的所有字符类:

--~ 单个字符(除^$()%.[]*+-?外): 与该字符自身配对

--~ .(点): 与任何字符配对
--~  %a: 与任何字母配对
--~  %c: 与任何控制符配对(例如\\n)
--~  %d: 与任何数字配对
--~  %l: 与任何小写字母配对
--~  %p: 与任何标点(punctuation)配对
--~  %s: 与空白字符配对
--~  %u: 与任何大写字母配对
--~  %w: 与任何字母/数字配对
--~  %x: 与任何十六进制数配对
--~  %z: 与任何代表0的字符配对
--~  %x(此处x是非字母非数字字符): 与字符x配对. 主要用来处理表达式中有功能的字符(^$()%.[]*+-?)的配对问题, 例如%%与%配对
--~  [数个字符类]: 与任何[]中包含的字符类配对. 例如[%w_]与任何字母/数字, 或下划线符号(_)配对
--~  [^数个字符类]: 与任何不包含在[]中的字符类配对. 例如[^%s]与任何非空白字符配对

--~ 当上述的字符类用大写书写时, 表示与非此字符类的任何字符配对. 例如, %S表示与任何非空白字符配对.例如,'%A'非字母的字符

参考技术A 这个很简单~~要看Lua号,是5.1的话,那你可以下Luadec来反编译。他并没有加密,那是Lua字节码用luac加密过了,可以dofile ""的格式调用运行,然后修改数值保存替换。追问

.....我问的 是如何分割,提取登录啊

参考技术B

说实话,看不懂所说。看代码分割应该是没问题。

居然账号密码提取出来了,根据data表从1到n进行读取不就行了

-- 遍历data
for _, v in pairs(data) do
    if type(v) == "table" then
        login(v[1], v[2])
    end 
end

还是说你这main.lua并不是执行所有的账号密码

追问

有没有联系方式啊啊

C# 使用webBrowser控件获取网页中的账号密码登录网页元素并自动填写模拟自动登录?

想实现qq音乐网页版自动登录功能,但是不知道怎么用webBrowser控件获取对应的网页元素。之前别的网页可以用下面的方式获取成功,但是这个qq音乐网页不行了,请大神指教!
以前是这样做的,如图1:
HtmlElement user = webBrowser1.Document.All["username"];//获取账号文本框,ID=username
HtmlElement password = webBrowser1.Document.All["password"];//获取密码文本框,ID=password
HtmlElement LoginButton = webBrowser1.Document.All["sso_login"];//获取登录按钮,ID=sso_login
user.SetAttribute("value","abc");//给账号文本框内容设置为“abc”password.SetAttribute("value",“*123” );//给密码文本框内容设置为“*123”
LoginButton.InvokeMember("click");//调用按钮的点击事件

现在qq音乐网页同样方法不行了,如图2

QQ音乐登录的方式好像是API的方式,给你两个方案

1、API方式:然后输入对应的参数,你就可以登录成功,这时你就可以做自己的想做的事了

2、模拟点击(selenium)方式:即使利用seleium模拟鼠标点击网页,实现登录,这个方式属于笨拙的方式

注意:有时候可能出现需要输入验证码,这时你就需要识别验证码,给你推荐 tesseract-ocr 这个插件,源码地址tesseract-orc  不明白的留言吧

追问

1、API方式指的是啥呀?可以具体点不?
2、selenium方式,是不是运行软件的时候,自己的鼠标就不能乱动了?
3、验证码还没进行到这一步,只求先解决能输入帐号密码的功能就行

参考技术A 我没用过你这种方法,我们一般用cookie并进行加密处理,登录时添加验证若存在的取出添加到标签上 参考技术B 这个应该是受JS div 标签影响 ,就好比 有时候我们去一个母界面去取 子界面一样应该是取不到追问

那有什么其他方法吗?还请指教了!

追答

指教谈不上。尝试一下获得class属性值的看看有没有什么收获

追问

之前也用过遍历className=inputstyle来找,但是也不行,结果值没有等于这项的

追答

不好意思 刚刚看见 如果实在不能 控制 能不能尝试脚本控制

参考技术C 我觉得是因为qq的是个弹框,你代码执行的时候,弹框还没出现,所以要循环等待?追问

你好,我是把弹框点开后,所有界面出现了,我再去用代码找那些元素的,但是不行。这种弹窗是有什么别的特殊方法吗?求指教!

追答

你把现有代码发来看看(最好是放github)

追问

我就是在winform窗体中,用webBrowser控件打开y.qq.com,然后把登录界面手动点开,再在一个按钮里面加下面代码。只不过支行完,都是没有值,元素都是Null
HtmlElement user = webBrowser1.Document.All["u"];
HtmlElement password = webBrowser1.Document.All["p"];
HtmlElement LoginButton = webBrowser1.Document.All["login_button"];
LoginButton.InvokeMember("click");

追答

共享代码调试

以上是关于lua文本读取账号密码分割登录的主要内容,如果未能解决你的问题,请参考以下文章

SMTP服务器账号密码如何填写?

C# 使用webBrowser控件获取网页中的账号密码登录网页元素并自动填写模拟自动登录?

Python中如何分割列表进行对比。 我有一个 大列表账号,密码,性别,邮箱,账号2,密码2,性别2,邮箱2

C语言怎样设置特定的密码帐号登录系统?

登录记住密码

Jmeter读取CSV参数化文件