-
-
[原创]恶意代码分析实战-小结实验IDA部分
-
发表于: 2024-8-15 18:51 2114
-
本人初学,要是有错误的地方望大家帮助指正
考察定位main地址
这里其实是看左边的dllmain函数,然后就能定位到这里
1000D02E
fd2K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1L8r3!0Y4i4K6u0W2j5%4y4V1L8W2)9J5k6h3&6W2N6q4)9J5c8Y4N6W2K9i4S2A6L8W2)9#2k6U0f1I4x3e0p5I4x3U0j5%4i4K6u0r3j5i4u0@1K9h3y4D9k6g2)9J5c8X3c8W2N6r3q4A6L8s2y4Q4x3V1j5I4x3K6p5&6z5o6f1&6z5e0t1`.
考查导入表里面找关键函数
100163CC 52 gethostbyname WS2_32
考查引用
p是函数调用
r是读取
5个
考查入参,会入参汇编等计算
数据段然后又偏移13个,那就是这样
从微软里面查文档,不知道可以输入域名,看下面的csdn就知道可以输入域名了
5f3K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6D9k6h3q4J5L8W2)9J5k6h3#2A6j5%4u0G2M7$3!0X3N6q4)9J5k6h3y4G2L8g2)9J5c8X3g2F1i4K6u0V1N6i4y4Q4x3V1k6%4K9h3&6V1L8%4N6K6i4K6u0r3N6$3W2F1x3K6u0Q4x3V1k6S2M7r3W2Q4x3V1k6%4K9h3&6K6L8$3y4C8x3W2)9J5c8X3&6X3i4K6u0V1N6$3W2F1M7$3!0U0K9K6u0Q4x3X3c8Y4k6i4c8Z5L8%4y4@1j5Y4W2F1j5h3#2W2
43bK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6T1L8r3!0Y4i4K6u0W2j5%4y4V1L8W2)9J5k6h3&6W2N6q4)9J5c8X3c8S2K9i4W2#2k6r3!0F1k6K6t1H3x3U0m8Q4x3V1k6S2M7Y4c8A6j5$3I4W2i4K6u0r3k6r3g2@1j5h3W2D9M7#2)9J5c8U0f1I4z5e0b7$3x3o6R3H3
考查局部变量是负偏移
入参是正偏移
不算最后一个就是算是23个局部变量,绿色的就算是IDA自动识别的局部变量
1个参数
只有这一个正偏移
考查字符串搜索
shift+f12 然后再搜 \cmd.exe /c
xdoors_d:10095B34 0000000D C \cmd.exe /c
考察搜字符串
不知道咋分析,但是看附近字符串,像是通过cmd远程执行shell
sub函数+那就是入参aCmdExeC
然后就看对应的函数干嘛的,这个参数主要又负责什么
这里就涉及到创建管道执行cmd命令
上一层函数是传socket对象
那就可能是远程执行命令
考察引用,看写入和读取常量
g搜索0x100101C8
帮助决定是否走loc_100101D7
双击dword_1008E5C4看定义未知
ctrl+x 看交叉引用,写入地方,继续双击
看到是上面sub_10003695的返回值
dword_1008E5C4=1
到这里就是被写入为1了
考察汇编
搜0x1000FF58没咋看到robotwork的比较相关
shift+f12
robotwork
ctrl+x 看引用位置
这里就是robotwork和Buf1对应的value比较
sub_100052A2
这个过程直接f5
看着像是注册表操作,查询和关闭,查了返回回来
直接f5之后的代码问gpt
总的来说,这个函数的主要目的是从指定的注册表位置获取两个值,并将它们以特定的格式通过套接字发送出去。这里直接就理解为会偷信息发出去
11、PSLIST 导出函数做了什么?
考察了解导出函数功能
windows->重置窗口然后就能看到导出函数窗口了
双击导出函数就能定位到在汇编中的位置
暂时不知道怎么快速分析,直接空格看看逻辑图
但是光看pslist函数名字就像是列进程功能
PSLIST
是指定系统返回16是什么鬼
sub_100036C3
jnz理解就是j不是0才跳,底层逻辑是exa不是0,zf=0,jnz就跳
VersionInformation.dwPlatformId等于2或者5就loc_100036FA 就返回0
否则返回1
大概了解到这个函数就是判断看是不是符合条件的操作系统
sub_1000664C
看里面调用的windows api那就是进程枚举相关操作
12、使用图模式来绘制出对 sub_10004E79 的交叉引用图。当进入这个函数时,哪个 API 函数可能被调用?仅仅基于这些 API 函数,你会如何重命名这个函数?
ida7 不正常的话就更新下
521K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6K6N6r3q4U0K9$3!0$3k6i4u0X3L8r3!0%4i4K6u0W2j5$3!0E0i4K6u0r3M7i4g2W2M7%4c8A6L8$3&6K6i4K6u0r3y4U0p5^5x3e0f1#2y4e0m8Q4x3V1k6U0L8%4g2D9k6q4)9J5k6r3&6G2N6q4)9J5k6r3k6A6L8X3c8Q4x3X3c8Y4M7X3q4H3K9r3g2J5i4K6u0V1M7i4N6A6L8X3N6J5j5i4m8Z5i4K6u0V1k6i4S2W2i4K6u0V1K9h3c8S2
d17K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6^5y4U0c8V1j5X3N6Q4x3V1k6@1k6i4y4@1M7r3I4#2k6$3W2F1i4K6u0r3M7X3g2D9k6h3q4K6k6i4y4Q4x3V1k6@1j5h3N6Q4x3V1k6i4K9h3&6Y4M7X3q4H3K9q4)9J5c8R3`.`.
就看到GetSystemDefaultLangID这个看着是获取系统默认语言
还有send