找回密码
 注册
搜索
热搜: 超星 读书 找书
查看: 1021|回复: 7

[【其它】] 某星程序员太NB了。。。。

[复制链接]
发表于 2011-7-24 07:53:27 | 显示全部楼层 |阅读模式
RT。。。。
今天考虑给ssreader加个自定义hddkey。。
patch了SSReaderPlug.dll SSReaderPlug.ocx
最后patch的时候发现居然莫名其妙的登录过期了。。。

试了多种patch方法,都无效,patch的确生效了,但是登录莫名其妙过期。。。。最后发现是这段代码惹的祸。
  1.   GetSystemTime(&SystemTime);
  2. TimeZoneInformation.Bias = -480;
  3. wcscpy(TimeZoneInformation.StandardName, L"China Standard Time");
  4. SystemTimeToTzSpecificLocalTime(&TimeZoneInformation, &SystemTime, &LocalTime);
  5. HIWORD(v19) = LocalTime.wYear;
  6. LOWORD(v19) = LocalTime.wMonth;
  7. v18 = LocalTime.wDay;
  8. HIWORD(v17) = *(_WORD *)(a1 + 0xA4);
  9. LOWORD(v17) = *(_BYTE *)(a1 + 0xA6);
  10. v16 = *(_BYTE *)(a1 + 0xA7);
复制代码

里面TimeZoneIformation结构压根就没有完整初始化,里面部分值实际上是其他地方填进来的废值(getHddKey函数),然后凑巧填入的值能使SystemTimeToTzSpecificLocalTime正常工作。结果按照正常的patch思路,patch后,TimeZone里面的值可能无法正常工作。。。。如是。。。登录过期。

最后直接patch代码里再调用这个破函数完事。。。



PS:按照传统扣除发帖所得?
回复

使用道具 举报

发表于 2011-7-24 08:12:25 | 显示全部楼层
预祝早日造成大车,把大本小本都拉到园子来
回复

使用道具 举报

 楼主| 发表于 2011-7-24 08:44:41 | 显示全部楼层
引用第1楼lamses于2011-07-24 08:12发表的 :
预祝早日造成大车,把大本小本都拉到园子来

要造的车可不是这个。。。这个只算加瓦
回复

使用道具 举报

发表于 2011-7-24 09:27:03 | 显示全部楼层
引用第2楼coolspace于2011-07-24 08:44发表的 :


要造的车可不是这个。。。这个只算加瓦
哈哈!不是这个,也就是那个喽。找个日报记者去
回复

使用道具 举报

发表于 2011-7-24 13:21:27 | 显示全部楼层
期待买个瓦片
回复

使用道具 举报

发表于 2011-7-24 19:42:39 | 显示全部楼层
楼主 patch 的不是地方,呵呵
回复

使用道具 举报

发表于 2011-7-24 20:07:12 | 显示全部楼层
围观。。。。。。
回复

使用道具 举报

 楼主| 发表于 2011-7-24 21:52:18 | 显示全部楼层
引用第5楼glede于2011-07-24 19:42发表的 :
楼主 patch 的不是地方,呵呵

显然是地方。。。。cx压根不合逻辑而已

多说无益,问题找到解决即可
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|网上读书园地

GMT+8, 2024-9-28 15:33 , Processed in 0.125397 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表