OoMoO 发表于 2016-10-7 21:17

【吾爱动画大赛2016参赛作品】- QQ密码暴力破解系统 IDA+注册机 『菜』

时间错过的话就当我水点经验吧,瑟瑟发抖{:1_909:}作为潜水党,潜了好几年了,估计这是我第3还是第4个主题帖,现在录了一个菜鸟视频,简单讲讲静态分析IDA的运用,大神可以飘过了。我同学被这款软件骗了,在此深表遗憾{:1_903:}。

      视频内容:
      1、静态分析。
      2、追码。
      3、注册机制作。

      百度网盘:
      链接: http://pan.baidu.com/s/1ckQEwY    密码: 3jg5      解压密码:www.52pojie.cn
      提示:请将注册机放在软件目录,解压破解软件前一定要先看说明
            





OoMoO 发表于 2016-10-9 18:27

本帖最后由 OoMoO 于 2016-10-9 18:32 编辑

ttdiy 发表于 2016-10-9 14:27
是VC编译的,所以我才一直搞不定。
之前破了两个C#的dll,那个用de4dot+Reflector就搞定了,注册机用vs. ...

你应该找下一段的,IDA只能大部分转化为C/C++代码,有一些变量需要自己分析,找到注册码算法,再写注册机http://image18-c.poco.cn/mypoco/myphoto/20161009/18/17326790720161009181943044.png?645x327_130

ttdiy 发表于 2016-10-9 14:27

OoMoO 发表于 2016-10-9 13:51
好尴尬,忘了说是在IDA中

是VC编译的,所以我才一直搞不定。
之前破了两个C#的dll,那个用de4dot+Reflector就搞定了,注册机用vs.net做的。
这种VC程序没遇到过,还望指教。
总共两个验证,一个jle,一个jnz。
按你的说法把部分F5转成代码,看着就头大……
__int64 __fastcall sub_180002610(CWnd *this)
{
CWnd *v1; // rdi@1
__int64 v2; // rax@1
__int64 v3; // rax@2
__int64 v4; // rax@5
__int64 v6; // @1
char v7; // @1
__int64 v8; // @1
char v9; // @1
char v10; // @1
char v11; // @1
__int64 v12; // @1
char v13; // @1
char v14; // @1
char v15; // @1
char v16; // @1
char v17; // @1
char v18; // @1
char v19; // @1
char v20; // @1
char v21; // @1

v12 = -2i64;
v1 = this;
CDialog::OnInitDialog(this);
ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>(&v8);
ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>(&v9);
ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>(&v6);
ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>(&v10);
ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>(&v11);
v13 = 104;
v14 = 105;
v15 = 115;
v16 = 101;
v17 = 110;
v18 = 115;
v19 = 101;
v20 = 48;
v21 = 0;
ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>::operator=(&v10, &v13);
LODWORD(v2) = sub_180002360(&v7);
ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>::operator=(&v8, v2);
ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>::~CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>(&v7);
if ( *(_DWORD *)(v8 - 16) )
{
    ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>::operator=(&v6, &v8);
}
else
{
    LODWORD(v3) = sub_1800031A0(&v7);
    ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>::operator=(&v9, v3);
    ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>::~CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>(&v7);
    ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>::operator=(&v6, &v9);
}
if ( *(_DWORD *)(v6 - 16) <= 2 )
{
    AfxMessageBox("获得机器码时出错", 0, 0);
}
else
{
    LODWORD(v4) = sub_180004B40((char *)v1 + 272, &v7, &v6, &v10);
    ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>::operator=((char *)v1 + 232, v4);
    ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>::~CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>(&v7);
    CWnd::UpdateData(v1, 0);
    CWnd::SetDlgItemTextA(v1, 20000, *((const char **)v1 + 29));
}
CWnd::SetDlgItemTextA(v1, 20001, byte_18000AA30);
ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>::~CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>(&v11);
ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>::~CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>(&v10);
ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>::~CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>(&v6);
ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>::~CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>(&v9);
ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>::~CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char>>>(&v8);
return 1i64;
}

掂软心内 发表于 2016-10-8 09:52

感谢分享!

OoMoO 发表于 2016-10-8 10:23

掂软心内 发表于 2016-10-8 09:52
感谢分享!

我只是换了个思路破解,看看就好

jiaokai 发表于 2016-10-8 10:59

感谢分享,好好学习中.............

朱朱你堕落了 发表于 2016-10-8 11:09

潜水好几年,楼主已成高手,膜拜师傅出山。。。我等菜鸟向楼主学习!

OoMoO 发表于 2016-10-8 11:09

jiaokai 发表于 2016-10-8 10:59
感谢分享,好好学习中.............

加油,还有谢谢你的评分

bxzda123 发表于 2016-10-8 11:42

学习一下

OoMoO 发表于 2016-10-8 11:49

hahacker 发表于 2016-10-8 11:09
潜水好几年,楼主已成高手,膜拜师傅出山。。。我等菜鸟向楼主学习!

一起学习,一起加油

zhanghao88 发表于 2016-10-8 12:17

感谢分享

ttdiy 发表于 2016-10-8 12:25

看了你的视频,用处还是很大的。可是遇见只有dll插件的程序怎么破解呢?
http://www.52pojie.cn/thread-540900-1-1.html
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【吾爱动画大赛2016参赛作品】- QQ密码暴力破解系统 IDA+注册机 『菜』