首页
社区
课程
招聘
[原创]第二题
发表于: 2015-1-23 04:27 2349

[原创]第二题

2015-1-23 04:27
2349
首先apktool解开
apktool.bat d AliCrackme_2.apk
ida调试了一下,,验证是在onCreate的securityCheck里面,
这个函数的定义不在dex里面
看了一下,有个libcrackme.so文件
ida附加上去,结果闪退,不知道是什么反调试,

那么静态试试,
看到有个字符串“wojiushidaan”,试了一下不对,
那么IDA F5
#include "stdafx.h"
#include <Windows.h>
int __fastcall sub_5D3B2494(int result, int a2, int a3, int a4, unsigned int a5, int a6)
{
	int v6; // r7@1
	unsigned int v7; // r4@2

	v6 = result;
	if (a2)
	{
		v7 = 0;
		do
		{
			result = (*(BYTE *)(a4 + v7 % a5) ^ *(BYTE *)(a3 + v7)) + a6;
			*(BYTE *)(v6 + v7++) = result;
		} while (a2 != v7);
	}
	return result;
}
int __fastcall sub_5D3B24F4(int result, int a2, int a3, int a4, unsigned int a5, int a6)
{
	int v6; // r7@1
	unsigned int v7; // r4@2

	v6 = result;
	if (a2)
	{
		v7 = 0;
		do
		{
			result = (*(BYTE *)(a3 + v7) ^ a6) - *(BYTE *)(a4 + v7 % a5);
			*(BYTE *)(v6 + v7++) = result;
		} while (a2 != v7);
	}
	return result;
}
signed int __fastcall Java_com_yaotong_crackme_MainActivity_securityCheck(int a1, int a2, int a3)
{
	int v3; // r5@1
	int v4; // r4@1
	int v5; // r0@5
	char *v6; // r2@5
	int v7; // r3@6
	signed int v8; // r1@7
	byte byte_5D3B6359 = 0;
	byte unk_5D3B635A = 0;
	v3 = a1;
	v4 = a3;
	char unk_5D3B6304[200] = { 0 };
	char unk_5D3B446B[100] = { 0x41, 0x3C, 0x5B, 0x0B, 0x5B, 0x01, 0x53, 0x9F, 0x00 };
	char unk_5D3B4468[100] = { 0x33, 0x66, 0 };
	char unk_5D3B636C[100] = { 0 };
	char unk_5D3B4530[100] = { 0xEF, 0xCE, 0xC5, 0xC9, 0xBD, 0xC3, 0xCE, 0xBA, 0xE5, 0xDA, 0xCE, 0xC5, 0xC7, 0x03, 0xD5, 0xCE, 0xC2, 0xCA, 0xCE, 0xCE, 0xC4, 0x00 };
	char unk_5D3B4474[100] = { 0x47, 0x56, 0x4D };
	if (!byte_5D3B6359)
	{
		sub_5D3B2494((int)&unk_5D3B6304, 8, (int)&unk_5D3B446B, (int)&unk_5D3B4468, 2u, 7);
		byte_5D3B6359 = 1;
	}
	if (!unk_5D3B635A)
	{
		sub_5D3B24F4((int)&unk_5D3B636C, 25, (int)&unk_5D3B4530, (int)&unk_5D3B4474, 3u, 117);
		unk_5D3B635A = 1;
	}

	printf("%s\n%s", unk_5D3B6304, unk_5D3B636C);
	return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
	Java_com_yaotong_crackme_MainActivity_securityCheck(0, 0, 0);
	return 0;
}

输出结果为yaotong
SecurityCheck Started.(.
sdk的monitor.bat抓了一下log,用yaotong标签筛选,可以抓到log
既然可以log,我们让他自己把注册码显示出来,如图修改

结果输出aiyou,bucuoo

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 7
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
附运行成功的图
上传的附件:
2015-1-24 13:22
0
游客
登录 | 注册 方可回帖
返回
//