【技术文章】app.eval 获取wx的v1数据

  • 【技术文章】app.eval 获取wx的v1数据已关闭评论
  • 623
  • A+
所属分类:Lua

非原创,转载

这源码你将学到取得类中的变量,和判断当前控制器,感谢xxt的app.eval,让脚本更加智能简单的进行一下教学ContactInfoViewController 有一个m_contact的变量,但他是不公开的,所以要用runtime取得成员变量,如果有看过我之前的秒点隐私就会发现不需要runtime可以获取,因为他是公开的,提示get和set方法 m_contact的变量是CContact,而CContact继承的是CBaseContact,而CBaseContact模型有相关当用户信息

如人说表达出错,请指正,请在详细资料运行代码,请不要用于非法用途和商业用途,后果自负

【技术文章】app.eval 获取wx的v1数据

local  getWXID= function()

proc_put('界面信息', '')

app.eval{

lua = [==[

ffi=require("ffi")

ffi.cdef[[

long object_getClass(long);

long class_getInstanceVariable(long,const char *);

long object_getIvar(long, long);

long objc_msgSend(long,long,...);

long objc_getClass(const char *);

]]

function isTruthy(value)------------------------为了支持32位而加的

if (type(value) == 'table') then

if (value.target == objc.NULL) then

return false

else

return true

end

else

return value~=false and value~=nil and value~=0 and value~=objc.NULL

end

end

function vk_getIvar(obj,ivarname)-----------------取得当前变量

local objid=pointerToInteger(obj.target)

return ffi.C.object_getIvar(objid, ffi.C.class_getInstanceVariable(ffi.C.object_getClass(objid), ivarname))

end

NSString = NSString or objc.class.NSString

UIButton = NSString or objc.class.UIButton

dispatch_sync(dispatch_get_main_queue(), function()

pcall(function()

NSString = NSString or objc.class.NSString

appvcMgr = objc.class.CAppViewControllerManager.getAppViewControllerManager()

topVC = appvcMgr.getTopViewController()

if topVC.isKindOfClass(objc.class.ContactInfoViewController)() then

Pobjc=vk_getIvar(topVC,"m_contact")

local m_contact=objc.object(tonumber(Pobjc));

dispatch_async(dispatch_get_work_queue(), function()

proc_put("界面信息", m_contact.getEncodeUserName().UTF8String()) -- 发送通知回脚本进程

end)

end

end)

end)]==]

}

local tm = sys.mtime()

local rd = ''

while sys.mtime()-tm < 1000 do -- 超时时间 1 秒

rd = proc_put('界面信息', '')

if rd~='' then

break

end

sys.msleep(10)

end

if rd==nil then

return "";

end

return rd

end

nLog(getWXID());

 

温馨提示:本代码来源于 XXTouch官方论坛,点击跳转

weinxin
微信公众号
更多文章请关注我的微信公众号
ClownSir