吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 988|回复: 10
收起左侧

[求助] 非常复杂的一个软件 高手帮忙看看

[复制链接]
fancyblue 发表于 2023-4-12 10:46
本帖最后由 fancyblue 于 2023-4-15 08:57 编辑

非常复杂的一个软件 高手帮忙看看  不要成品   只要一个思路指点  
找不到真码或者返回值在哪里计算     也找不到有用的字符串   
备注: 注册码不是唯一的    有试用期的  有激活的    有重启验证

发送注册信息
80b807a50f45dd3bf90fe2c7312a1727779d3553_看图王.jpg

真码开头部分比较

不知道返回值 是什么意思
image.png

然后再往后就失败了
image.png

暂停法  堆栈走不通    堆栈比32位复杂 有多线程   

字符串正常找不到,只能在内存里面找到,但是没用
image.png image.png

IDA分析了下  但是用的不好看不出来问题

  if ( !(unsigned __int8)_scrt_initialize_crt(1i64) )
  {
    sub_1401C3718(7i64);
    goto LABEL_20;
  }
  v2 = 0;
  LOBYTE(a1) = _scrt_acquire_startup_lock(v1);
  v3 = (unsigned int)dword_1403064C0;
  if ( dword_1403064C0 == 1 )
  {
LABEL_20:
    sub_1401C3718(7i64);
    goto LABEL_21;
  }
  if ( dword_1403064C0 )
  {
    v2 = 1;
  }
  else
  {
    dword_1403064C0 = 1;
    if ( (unsigned int)initterm_e(&unk_1401FDC60, &unk_1401FDC80) )
      return 255i64;
    initterm(&unk_1401FD650, &unk_1401FDC58);
    dword_1403064C0 = 2;
  }
  LOBYTE(v3) = a1;
  _scrt_release_startup_lock(v3);
  v6 = (_QWORD *)sub_1401C3A68(v5);
  v8 = (void (__fastcall **)(_QWORD, __int64))v6;
  if ( *v6 && (unsigned __int8)sub_1401C2D50(v6) )
    (*v8)(0i64, 2i64);
  v9 = (_QWORD *)sub_1401C3A70(v7);
  v11 = v9;
  if ( *v9 && (unsigned __int8)sub_1401C2D50(v9) )
    register_thread_local_exe_atexit_callback(*v11);
  v12 = (unsigned __int16)_scrt_get_show_window_mode(v10);
  v14 = (CHAR *)get_narrow_winmain_command_line(v13);
  a1 = WinMain(&_ImageBase, 0i64, v14, v12);
  if ( !(unsigned __int8)sub_1401C38A8(v15) )
LABEL_21:
    exit(a1);
  if ( !v2 )
    cexit();
  LOBYTE(v16) = 1;
  sub_1401C2E0C(v16, 0i64);
  return a1;


image.png
image.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

冥界3大法王 发表于 2023-4-12 15:35
第一步设法强制输出写入注册码。。。并发现位置,最好能知道些简单的格式(这步若办不到,后面连带关系就断了,也就甭玩了。也说明技术不过关)
第二步,找到重启后最后一次出现注册码的位置
找到界面初始化的地方,
二者之间正是修改返回值的绝佳位置
 楼主| fancyblue 发表于 2023-4-12 17:38
冥界3大法王 发表于 2023-4-12 15:35
第一步设法强制输出写入注册码。。。并发现位置,最好能知道些简单的格式(这步若办不到,后面连带关系就断 ...

非常感谢  我再试试
冥界3大法王 发表于 2023-4-12 17:59
本帖最后由 冥界3大法王 于 2023-4-12 18:08 编辑

@fancyblue
别告诉我你不知道,授权钥匙字符串提示信息在哪个文件里?
别告诉我你不知道,生成的授权位于哪个文件里?
别告诉我你不知道,如何捕捉读取文件?

你要修改的模块(主攻方向)上来都没有搞对。
image.png
不喜欢MFC程序,剩下的你自己玩吧。跟到读取到的用户名,公司名,注册码
返回真
还要修改服务器检测

"TA000032","启动激活向导"
"TA000035","请选择激活方法"
"TA000036","连接互联网激活"
"TA000037","如果您有互联网连接,请选择此选项。向导将使用默认的互联网连接设置自动执行激活"
"TA000038","手动激活"
"TA000039","如果您没有互联网连接,请选择该选项。你需要联系当地的软件代表并从他那里得到激活码"
"TA000042","你已经选择了网络激活选项"
"TA000043","如果单击下一步,向导将连接到激活服务器,并使用默认的互联网连接设置执行自动程序激活"
"TA000044","如果你没有互联网连接,或者出现任何错误,请返回使用手动激活选项"
"TA000045","单击下一步连接到激活服务器"
"TA000046","互联网激活正在进行中"
"TA000047","解析域名%s..."
"TA000048","连接到..."
"TA000049","发送请求..."
"TA000050","等待响应..."
"TA000051","无法连接到激活服务器"
"TA000052","这个程序已经在允许的计算机上被激活了,并且不能在这个计算机上使用。如果你改变了你的电脑的硬件,请返回使用手动激活选项"
"TA000053","你已经超过了激活的上限。不允许使用互联网激活,请返回使用手动激活选项"
"TA000054","连网激活"
"TA000055","手动激活"
"TA000056","想要在不连接互联网的情况下激活程序,你需要本地代{过}{滤}理的支持"
"TA000056A","要在没有互联网的情况下激活程序,请与%s联系"
"TA000057","请与当地代{过}{滤}理联系,并提供给他如下的安装ID:"
"TA000057A","请与%s联系,以获取以下安装Id"
"TA000058","代{过}{滤}理将会给您提供激活码。(你可以关闭程序,当你拿到激活码后再继续安装)"
"TA000058A","%s将为您的计算机生成激活码。(您可以关闭这个对话框,并在您获得激活码后继续)。"
"TA000059","在此输入激活码"
"TA000060","输入的激活码不正确,请检查并重新输入"
"TA000061","输入的激活码不正确,请检查第%d组中的字符并重新输入"
"TA000062","错误"
"TA000063","程序激活失败"
"TA000064","Warning"
"TA000066","点击取消终止激活操作或点击返回重试上一步操作"
"TA000067","完成"
"TA000068","程序激活成功"
"TA000069","To finish Activation Wizard the program must be restarted."
"TA000070","程序激活终止"
"TA000071","未完成激活操作您将无法使用本程序,程序将被停止"
license
{
    installation_key string {8989898989898989899}
    user_name string {FaWang}
    organization string {NineBell}
    hardware_id_version int {0}
    installation_id string {}
    activation_key string {}
    configuration_index int {0}
}

这些都是自己找到的
[server]

url = http://www.ir-lc.com

[registration]
path = /user/register
success_url_substring = result=success

估计都有某种关系吧。

截图地方往下跟,里面又是另一个dll
时间关系 ,你自己往下玩吧。
 楼主| fancyblue 发表于 2023-4-12 18:32
冥界3大法王 发表于 2023-4-12 17:59
@fancyblue
别告诉我你不知道,授权钥匙字符串提示信息在哪个文件里?
别告诉我你不知道,生成的授权位于 ...

谢谢了
除了TA00000这些没有找到  其他都找到了  找不到关键的地方  能跟着激活码走一段   
  另外就是注册码不是唯一的     跟用户名 单位没有任何关系   主要就是激活码  所以现在找找这个关算法部分
 楼主| fancyblue 发表于 2023-4-14 14:58
冥界3大法王 发表于 2023-4-12 17:59
@fancyblue
别告诉我你不知道,授权钥匙字符串提示信息在哪个文件里?
别告诉我你不知道,生成的授权位于 ...

软件跟着走了一遍    还是不知道那里什么用,为什么返回这种乱码,另外就是他的字符串找不到在哪里藏着 应该不是服务器的  
法王大佬,您这个nb的64dbg给发一个吧  或者插件给发一个吧。
 楼主| fancyblue 发表于 2023-4-16 18:49
本帖最后由 fancyblue 于 2023-4-28 16:24 编辑

帮忙看看
 楼主| fancyblue 发表于 2023-5-9 09:57
冥界3大法王 发表于 2023-4-12 17:59
@fancyblue
别告诉我你不知道,授权钥匙字符串提示信息在哪个文件里?
别告诉我你不知道,生成的授权位于 ...

法王大佬    有时间再帮忙深入下  这个程序还挺复杂  还涉及加密 解密    跟着走   感觉断崖式的就返回错误了    OD好多syscall 是什么意思?》
 楼主| fancyblue 发表于 2023-5-10 09:16
冥界3大法王 发表于 2023-4-12 15:35
第一步设法强制输出写入注册码。。。并发现位置,最好能知道些简单的格式(这步若办不到,后面连带关系就断 ...


0000000002F27748 | FF15 72130200            | call qword ptr ds:[<&Ordinal#1032>]        |

0000000002F2774E | 48:8D15 DB5A0200         | lea rdx,qword ptr ds:[2F4D230]             | rdx:"3272905", 0000000002F4D230:"3272905"

0000000002F27755 | 48:8D8D 78090000         | lea rcx,qword ptr ss:[rbp+978]             | [rbp+978]:"携L"

0000000002F2775C | E8 AFA30000              | call gmtlbrd.2F31B10                       |

0000000002F27761 | 48:8BD8                  | mov rbx,rax                                |

0000000002F27764 | FF15 86140200            | call qword ptr ds:[<&public: static class  |





call gmtlbrd.2F31B10  这个函数应该是判断正确与否的      ( 这个gmtlbrd.dll 判断好英文输出  然后nucleus.dll是把英文转化为汉语输出   XXXXtime模块是判断使用账号有效期的)



按照您说的跟到call gmtlbrd.2F31B10  这个模块  但是具体修改里面哪个返回值  您帮忙看看
 楼主| fancyblue 发表于 2023-5-12 10:49
还有高手给看看吗?  
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-22 19:44

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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